커뮤니티

조건식 검토 부탁드립니다.(오류수정 요청)

프로필 이미지
바람날개
2014-04-02 08:18:51
178
글번호 74031
답변완료
안녕하세요. 예스글로벌 s&p 500 75분봉 기준입니다. 제가 수식을 작성해 봤는데 에러는 없는데 진입신호와 청산신호가 나오질 않습니다. 메세지로그 값도 정산적으로 출력이 되는거 같습니다, 시간은 한국시간으로 설정 했습니다. 바쁘시겠지만 검토 부탁드립니다. 감사합니다. =========================================== input : MP(5), SP(20), N(3); var : entry(0), chk(0); var1 = ma(c,MP); var2 = ma(c,SP); #단기이평이 장기이평보다 크면 1 아니면 0 chk = iff(var1 > var2,1,0); #초기화 시간(22시00분) if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then { entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then { entry = entry + 1; } messagelog("chk %.f entry %.f n %.f" ,chk, entry, n); # ClearDebug; # 75분 5이평선이 20이평선 위에 있으면 매수만 진행 if chk == 1 and stime == 220000 and entry < n Then { buy(); } # 75분 5이평선이 20이평선 아래에 있으면 매도만 진행 if chk == 0 and stime == 220000 and entry < n Then { Sell(); } # 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입 if MarketPosition == 1 and chk == 0 and entry < n then { Sell(); } # 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입 if MarketPosition == -1 and chk == 1 and entry < n then { buy(); } # messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n); #05시 15분 청산 if stime == 051500 Then{ ExitLong(); ExitShort(); } #24틱 손절 SetStopLoss(PriceScale*24,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-04-02 10:15:59

안녕하세요 예스스탁입니다. 해당식 5분봉에 적용하시면 신호가 발생합니다. 75분봉에 적용하면 신호가 나오지 않는 이유는 stime == 220000 조건때문입니다. plot1(stime); 위 지표를 적용해보시면 75분봉에는 22시00분00초 봉이 없습니다. 아래와 같이 처리하시면 해당시간이후의 첫봉에서 신호가 발생합니다. input : MP(5), SP(20), N(3); var : entry(0), chk(0); var1 = ma(c,MP); var2 = ma(c,SP); #단기이평이 장기이평보다 크면 1 아니면 0 chk = iff(var1 > var2,1,0); #초기화 시간(22시00분) if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then { entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then { entry = entry + 1; } # messagelog("chk %.f entry %.f n %.f" ,chk, entry, n); # ClearDebug; # 75분 5이평선이 20이평선 위에 있으면 매수만 진행 if chk == 1 and (stime == 220000 or (stime > 220000 and stime[1] < 220000)) and entry < n Then { buy(); } # 75분 5이평선이 20이평선 아래에 있으면 매도만 진행 if chk == 0 and (stime == 220000 or (stime > 220000 and stime[1] < 220000)) and entry < n Then { Sell(); } # 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입 if MarketPosition == 1 and chk == 0 and entry < n then { Sell(); } # 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입 if MarketPosition == -1 and chk == 1 and entry < n then { buy(); } # messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n); #05시 15분 청산 if stime == 051500 Then{ ExitLong(); ExitShort(); } #24틱 손절 SetStopLoss(PriceScale*24,PointStop); 아니시면 위 시간지표 확인하시 후 해당 주기에 맞게 봉의 시간을 지정하셔야 합니다. stime == 214500나 stime == 230000으로 지정하시면 됩니다. 즐거운 하루되세요 > 바람날개 님이 쓴 글입니다. > 제목 : 조건식 검토 부탁드립니다.(오류수정 요청) > 안녕하세요. 예스글로벌 s&p 500 75분봉 기준입니다. 제가 수식을 작성해 봤는데 에러는 없는데 진입신호와 청산신호가 나오질 않습니다. 메세지로그 값도 정산적으로 출력이 되는거 같습니다, 시간은 한국시간으로 설정 했습니다. 바쁘시겠지만 검토 부탁드립니다. 감사합니다. =========================================== input : MP(5), SP(20), N(3); var : entry(0), chk(0); var1 = ma(c,MP); var2 = ma(c,SP); #단기이평이 장기이평보다 크면 1 아니면 0 chk = iff(var1 > var2,1,0); #초기화 시간(22시00분) if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then { entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then { entry = entry + 1; } messagelog("chk %.f entry %.f n %.f" ,chk, entry, n); # ClearDebug; # 75분 5이평선이 20이평선 위에 있으면 매수만 진행 if chk == 1 and stime == 220000 and entry < n Then { buy(); } # 75분 5이평선이 20이평선 아래에 있으면 매도만 진행 if chk == 0 and stime == 220000 and entry < n Then { Sell(); } # 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입 if MarketPosition == 1 and chk == 0 and entry < n then { Sell(); } # 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입 if MarketPosition == -1 and chk == 1 and entry < n then { buy(); } # messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n); #05시 15분 청산 if stime == 051500 Then{ ExitLong(); ExitShort(); } #24틱 손절 SetStopLoss(PriceScale*24,PointStop);