커뮤니티

래리 윌리엄스 돌파 전략식

프로필 이미지
풍운객
2017-11-22 16:37:59
249
글번호 114408
답변완료

첨부 이미지

당일 가격이 시가 기준으로 전일 (고가-저가)/2 만큼 위 혹은 아래로 돌파시 매수/매도 진입하여 장 종료시 청산하고 진입 후 시가 상향/하향 돌파시 손절하는 코드를 작성해보았습니다. 코드는 아래와 같습니다. Inputs: rt(0); var : ChUp(0), ChDn(0); ChUp = dayopen + ((dayhigh[1] - daylow[1]) * rt); ChDn = dayopen - ((dayhigh[1] - daylow[1]) * rt); If crossup (Close, ChUp) then buy(); { if crossdown (Close, dayopen) then exitlong(); } If crossdown (Close, ChDn) then Sell(); { if crossup (Close, dayopen) then exitshort(); } SetStopEndofday(); 그런데 검증을 하다보니 이상한게 발견되어서요...(첨부파일 참조) 분명히 해당일 시가 기준 가격이 전일 (고가-저가)/2 를 하향 돌파하지 않았는데 매도 진입이 들어간겁니다...해당 일자는 2007년 1월 12일입니다. 확인 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-23 15:36:13

안녕하세요 예스스탁입니다. 1 수식에 전일고가와 전일저가가 잘못지정되어 있습니 전일고가는 dayhigh(1), 전일저가는 daylow(1) 입니다. dayhigh[1]은 한봉정 당일고가입로 dayhigh(0)[1]에서 (0)이 생략된 형태입니다. Inputs: rt(0); var : ChUp(0), ChDn(0); ChUp = dayopen + ((dayhigh(1) - daylow(1)) * rt); ChDn = dayopen - ((dayhigh(1) - daylow(1)) * rt); If crossup (Close, ChUp) then buy(); if crossdown (Close, dayopen) then exitlong(); If crossdown (Close, ChDn) then Sell(); if crossup (Close, dayopen) then exitshort(); SetStopEndofday(); 2 SetStopEndofday(); 은 시뮬레이션시에만 사용한 설정입니다.(당일마지막봉청산) 실전에서는 아래와 같이 시간을 꼭 지정하셔야 합니다. SetStopEndofday(152000); 즐거운 하루되세요 > 풍운객 님이 쓴 글입니다. > 제목 : 래리 윌리엄스 돌파 전략식 > 당일 가격이 시가 기준으로 전일 (고가-저가)/2 만큼 위 혹은 아래로 돌파시 매수/매도 진입하여 장 종료시 청산하고 진입 후 시가 상향/하향 돌파시 손절하는 코드를 작성해보았습니다. 코드는 아래와 같습니다. Inputs: rt(0); var : ChUp(0), ChDn(0); ChUp = dayopen + ((dayhigh[1] - daylow[1]) * rt); ChDn = dayopen - ((dayhigh[1] - daylow[1]) * rt); If crossup (Close, ChUp) then buy(); { if crossdown (Close, dayopen) then exitlong(); } If crossdown (Close, ChDn) then Sell(); { if crossup (Close, dayopen) then exitshort(); } SetStopEndofday(); 그런데 검증을 하다보니 이상한게 발견되어서요...(첨부파일 참조) 분명히 해당일 시가 기준 가격이 전일 (고가-저가)/2 를 하향 돌파하지 않았는데 매도 진입이 들어간겁니다...해당 일자는 2007년 1월 12일입니다. 확인 부탁드립니다.