커뮤니티
34321 재문의 드립니다
2014-01-13 19:38:06
128
글번호 71359
알려주신 식대로 했더니 아무런 신호도 안 뜨네요
3.
Input : Length(14), LPercent(30), SPercent(70);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0),T(0);
if date != date[1] Then{
didx = didx+1;
UpAvg1 = UpAvg[1];
DownAvg1 = DownAvg[1];
}
If didx <= 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = DayClose(Counter) - DayClose(Counter+1);
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else If didx > 1 AND Length > 0 Then Begin
UpAmt = DayClose(0) - DayClose(1);
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
If CrossUP(RSIv, LPercent) Then
T = 1;
If CrossDown(RSIv, SPercent) Then
T = -1;
if stime == 151500 Then{
if T == 1 Then
buy("b",AtMarket);
if T == -1 Then
sell("s",AtMarket);
}
SetStopEndofday(150000);
그리고 일봉상 스토캐스틱 매수 신호(stdk>20) 발생시 시가 매수 15시 청산
매도신호 때 시가 매수 15시 청산도 가르쳐주시면 감사하겠습니다
답변 2
jh3234
2014-01-14 09:32:55
jh3234 님에 의해 삭제된 답변입니다.
예스스탁 예스스탁 답변
2014-01-14 09:35:02
안녕하세요
예스스탁입니다.
1.
해당식 1분봉이나 5분봉에 적용하셔야 합니다.
첨부된 그림은 선물 5분봉에 적용한 식입니다.
주식종목이시면 시간을 150000으로 변경하셔야 합니다.
시초가 매수는 전일마지막봉에 조건을 걸고 발생시켜야 합니다.
마지막봉은 시간으로만 지정가능하고 차트 주기별로 마지막봉 시간이 다르므로
사용하시는 차트에서 마지막봉 시간확인후 시간지정하셔야 합니다.
차트 전체에서 일간 RSI가 30을 상향돌파하거나
70을 하향이탈이 한번이상 발생해야 신호가 발생하게 됩니다.
1분봉이면 일간으로는 기간이 짧아 크로스 발생이 없을 수 있으므로
5분봉 차트에서 적용해 보시기 바랍니다.
2. 스토케스틱
input : Period(10), Period1(5), Period2(5), buyLine(20),SellLine(80);
var : cnt(0), highVal(0), lowVal(0), FK(0), SK(0), SD(0);
var : Ep1(0), Ep2(0), PreSK(0), PreSD(0),T(0);
#N일간 최고가 및 최저가
highVal = dayhigh(0);
lowVal = daylow(0);
for cnt = 0 to Period-1 {
if dayHigh(cnt) > highVal then
highVal = dayhigh(cnt);
if dayLow(cnt) < lowVal then
lowVal = dayLow(cnt);
}
#Fast StochasticsK
fK = (C-lowVal)/(highVal-lowVal)*100;
#Slow StochasticsK / Slow StochasticsD
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
if date != date[1] then {
PreSK = SK[1];
PreSD = SD[1];
}
SK = FK * EP1 + PreSK * (1-EP1);
SD = SK * EP2 + PreSD * (1-EP2);
If CrossUP(SK, buyLine) Then
T = 1;
If CrossDown(SK, SellLine) Then
T = -1;
if stime == 151500 Then{
if T == 1 Then
buy("b",AtMarket);
if T == -1 Then
sell("s",AtMarket);
}
SetStopEndofday(150000);
3
2식 모두 일봉지표가
매수신호 상태면 계속 시초가 매수하고 15시 청산을 반복하고
매도신호 상태면 계속 시초가 매도하고 15시 청선을 반복합니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> jh3234 님이 쓴 글입니다.
> 제목 : 34321 재문의 드립니다
> 알려주신 식대로 했더니 아무런 신호도 안 뜨네요
3.
Input : Length(14), LPercent(30), SPercent(70);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0),T(0);
if date != date[1] Then{
didx = didx+1;
UpAvg1 = UpAvg[1];
DownAvg1 = DownAvg[1];
}
If didx <= 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = DayClose(Counter) - DayClose(Counter+1);
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else If didx > 1 AND Length > 0 Then Begin
UpAmt = DayClose(0) - DayClose(1);
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
If CrossUP(RSIv, LPercent) Then
T = 1;
If CrossDown(RSIv, SPercent) Then
T = -1;
if stime == 151500 Then{
if T == 1 Then
buy("b",AtMarket);
if T == -1 Then
sell("s",AtMarket);
}
SetStopEndofday(150000);
그리고 일봉상 스토캐스틱 매수 신호(stdk>20) 발생시 시가 매수 15시 청산
매도신호 때 시가 매수 15시 청산도 가르쳐주시면 감사하겠습니다
이전글