커뮤니티

검토해 주세요!

프로필 이미지
너무조아
2015-12-17 06:42:04
116
글번호 93512
답변완료
NO. 45517 과 관련 입니다. 당해 수식이 정확히 작동하지 않습니다. 다시 한번 검토 부탁드립니다. 참고사항 : 마지막 봉시간 16:00:00 (현지시간) 수식 끝부분 "매수포지션일때" 에서 if MarketPosition == -1 를 -------> if MarketPosition == 1 로 수정함
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-17 13:31:38

안녕하세요 예스스탁입니다. Tcond에 값할당 연산자가 잘못되어 수정했습니다. 마지막봉 시간은 반드시 plot1(stime); 으로 확인하시기 바랍니다. CME종목의 경우 시장시간으로 1분봉이면 마지막봉이 155900, 5분봉이면 155500입니다. 당일 첫봉이 전일종가대비 +-까지 움직이면 첫봉에서 신호가 발생해야 하므로 시간값 정확히 지정하셔야 합니다. Input : K(0),마지막봉시간(155900); var : PL(0),Tcond(false); var : T(0),S1(0),S2(0),TT(0); if Bdate != Bdate[1] Then{ Tcond = true; S1 = TimeToMinutes(stime); T = 1; } if date != date[1] Then{ S2 = 1440-S1; T = 2; } if T == 1 then TT = TimeToMinutes(time)-S1; if T == 2 Then TT = TimeToMinutes(time)+S2; PL = DayClose(1); if stime == 마지막봉시간 Then Tcond = false; if MarketPosition == 0 and stime == 마지막봉시간 Then{ Buy("b1",AtStop,DayClose+K); Sell("s1",AtStop,DayClose-K); } #두번째 봉부터 신호발생 #무포지션에서는 시간제한 없이 진입 if MarketPosition == 0 and Tcond == true Then{ Buy("b1.",AtStop,PL+K); Sell("s1.",AtStop,PL-K); } #두번째 봉부터 신호발생 #매도포지션일때는 매도진입 후 60분이상 경과후 진입 If MarketPosition == -1 and TT > TT[BarsSinceEntry] + 60 and Tcond == true Then Buy("b2",AtStop,PL+K); #매수포지션일때는 매수진입 후 60분이상 경과후 진입 If MarketPosition == 1 and TT > TT[BarsSinceEntry] + 60 and Tcond == true Then Sell("s2",AtStop,PL-K); 즐거운 하루되세요 > 너무조아 님이 쓴 글입니다. > 제목 : 검토해 주세요! > NO. 45517 과 관련 입니다. 당해 수식이 정확히 작동하지 않습니다. 다시 한번 검토 부탁드립니다. 참고사항 : 마지막 봉시간 16:00:00 (현지시간) 수식 끝부분 "매수포지션일때" 에서 if MarketPosition == -1 를 -------> if MarketPosition == 1 로 수정함