커뮤니티
저번에 질문 올렸었는데요
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 시점)청산
* 같은날에 매수/매도가 중복되서 들어가지 않도록 한번만 진입
을 구현하고 싶습니다.
부탁드리겠습니다