커뮤니티
래리 윌리엄스 돌파 전략식
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. 114980_제목_없음.jpg (0.45 MB)
답변 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일입니다.
확인 부탁드립니다.
다음글
이전글