커뮤니티

저번에 질문 올렸었는데요

프로필 이미지
에이치
2019-04-04 13:27:13
196
글번호 127630
답변완료
아래 코드로 답변 해주셨는데 한가지 더 궁금한점이 있어 글 올립니다. 제가 개장시간을 잘못 알고 있었는데요. 18시에 개장해서 익일 17:45에 마감이던데요 아래전략을 적용하고싶으면 1. 90000 --> 180000 2. SetStopEndofday(044000); 에서 044000 --> 174500 으로만 교체하면 되는건가요? 3. SetStopEndofday(0); 이게 의미하는바가 무엇이죠? 왜 필요한지 궁금합니다 4. 분봉 적용 맞지요? ---------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 랭귀지에서 종가가 들어오는 시점은 장이 종료된 시점입니다. 당일청산시간을 종가보다 조금 앞의 시간으로 설정하셔야 합니다. 44분으로 지정해 드립니다. var : OO(0),HH(0),LL(0),OO1(0),HH1(0),LL1(0); var : entry(0); if sdate != sdate[1] Then SetStopEndofday(044000); if (sdate != sdate[1] and stime >= 90000) or (sdate == sdate[1] and stime >= 90000 and stime[1] < 90000) Then { SetStopEndofday(0); OO = O; HH = H; LL = L; OO1 = OO[1]; HH1 = HH[1]; LL1 = LL[1]; entry = 0; } if H > HH Then HH = H; if L < LL Then LL = L; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if HH1 > 0 and LL1 > 0 and entry < 1 then { if MarketPosition <= 0 and H < OO+(HH1-LL1)*0.5 Then buy("b",AtStop,OO+(HH1-LL1)*0.5); if MarketPosition <= 0 and L > OO-(HH1-LL1)*0.5 Then sell("s",AtStop,OO-(HH1-LL1)*0.5); } 즐거운 하루되세요 > 에이치 님이 쓴 글입니다. > 제목 : 질문드립니다. > 해외 선물 백테스팅 해보려구 하는데요. 래리 윌리엄스 전략을 구현해보려고합니다. 개장시간이 09:00~04:45 인데 시가 -> 09:00(T) 가격 range -> 전날 09:00(T-1) ~ 04:45(T) 동안 최고가 - 최저가 1. 현재가가 시가 + range * 0.5 를 돌파할때 매수 2. 현재가가 시가 - range *0.5 를 돌파할때 매도 3. 종가(04:45 시점)청산 * 같은날에 매수/매도가 중복되서 들어가지 않도록 한번만 진입 을 구현하고 싶습니다. 부탁드리겠습니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-05 11:35:07

안녕하세요 예스스탁입니다. 90000 --> 180000 SetStopEndofday(044000); --> SetStopEndofday(174500); 예 맞습니다. 위와 같이 변경해 주시면 되며 분봉에 적용하시면 됩니다. SetStopEndofday(0);은 당일청산을 해제한다는 내용입니다. SetStopEndofday은 당일청산함수로 당일청산시간을 지정하면 해당 시간이후에는 0시까지 진입을 막게 됩니다. 17시 45분에 청산되고 바로 같은날 18시에 진입을 시작해야 하므로 18시에 해제하는 내용이 필요합니다. 즐거운 하루되세요 > 에이치 님이 쓴 글입니다. > 제목 : 저번에 질문 올렸었는데요 > 아래 코드로 답변 해주셨는데 한가지 더 궁금한점이 있어 글 올립니다. 제가 개장시간을 잘못 알고 있었는데요. 18시에 개장해서 익일 17:45에 마감이던데요 아래전략을 적용하고싶으면 1. 90000 --> 180000 2. SetStopEndofday(044000); 에서 044000 --> 174500 으로만 교체하면 되는건가요? 3. SetStopEndofday(0); 이게 의미하는바가 무엇이죠? 왜 필요한지 궁금합니다 4. 분봉 적용 맞지요? ---------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 랭귀지에서 종가가 들어오는 시점은 장이 종료된 시점입니다. 당일청산시간을 종가보다 조금 앞의 시간으로 설정하셔야 합니다. 44분으로 지정해 드립니다. var : OO(0),HH(0),LL(0),OO1(0),HH1(0),LL1(0); var : entry(0); if sdate != sdate[1] Then SetStopEndofday(044000); if (sdate != sdate[1] and stime >= 90000) or (sdate == sdate[1] and stime >= 90000 and stime[1] < 90000) Then { SetStopEndofday(0); OO = O; HH = H; LL = L; OO1 = OO[1]; HH1 = HH[1]; LL1 = LL[1]; entry = 0; } if H > HH Then HH = H; if L < LL Then LL = L; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if HH1 > 0 and LL1 > 0 and entry < 1 then { if MarketPosition <= 0 and H < OO+(HH1-LL1)*0.5 Then buy("b",AtStop,OO+(HH1-LL1)*0.5); if MarketPosition <= 0 and L > OO-(HH1-LL1)*0.5 Then sell("s",AtStop,OO-(HH1-LL1)*0.5); } 즐거운 하루되세요 > 에이치 님이 쓴 글입니다. > 제목 : 질문드립니다. > 해외 선물 백테스팅 해보려구 하는데요. 래리 윌리엄스 전략을 구현해보려고합니다. 개장시간이 09:00~04:45 인데 시가 -> 09:00(T) 가격 range -> 전날 09:00(T-1) ~ 04:45(T) 동안 최고가 - 최저가 1. 현재가가 시가 + range * 0.5 를 돌파할때 매수 2. 현재가가 시가 - range *0.5 를 돌파할때 매도 3. 종가(04:45 시점)청산 * 같은날에 매수/매도가 중복되서 들어가지 않도록 한번만 진입 을 구현하고 싶습니다. 부탁드리겠습니다