커뮤니티
부탁드립니다
2019-08-06 13:29:35
190
글번호 130935
선물분봉에 상관없이 당일시가를 기준으로,
당일시가 + k값을 상한선으로 하고, 당일시가- k값을 하한선으로 한 후,
장중 가격이 상한선보다 크면 매수, 하한선보다 작으면 매도를 하고,
장중 매수수량이나 매도수량이 상하한선에 의해 반대매매되지 않고 잔고가 남아있으면
당일 종가에 (당일 종가매매가 되지 않으면 선물 동시호가 시간전에) 무조건 청산하는 식입니다.
아래식으로 작성을 해봤는데, 제대로 구현되지 않네요.
종가청산은 안되는 걸로 알고 있어서, 15분봉 선물차트 사용시 [강제청산] 탭에서 15:30(봉 시작시간으로 차트는 설정해놓았음.)에 강제청산을 설정해 봤었습니다. 1분봉차트를 사용하면 15:34분으로 설정하는 게 종가에 근접하는 건지요?
아예 동시호가 직전에 청산하는 방법은 없는 건지요?
부탁드립니다.
감사합니다.
- 아 래 -
Inputs: Ratio (k); --> 물론 실제 검토시에는 k값대신 일정 숫자값을 사용했습니다.
Variables: BuyBase(0),SellBase(0);
BuyBase= DayOpen(0)*(1+Ratio);
SellBase= DayOpen(0)*(1-Ratio);
if Crossup (c, buybase) Then
buy ("B");
if Marketposition >0 and
CrossDown(c, sellbase) Then
ExitLong("EX_B");
if CrossDown (C, sellbase) Then
sell ("S");
if Marketposition >0 and
CrossDown(c, sellbase) Then
Exitshort ("EX_S");
답변 1
예스스탁 예스스탁 답변
2019-08-06 14:55:10
안녕하세요
예스스탁입니다.
1
Ratio가 %이면 /100이 있어야 합니다.
BuyBase= DayOpen(0)*(1+Ratio/100);
SellBase= DayOpen(0)*(1-Ratio/100);
고정숫자값이면 아래와 같이 변경하시면 됩니다.
BuyBase= DayOpen(0)+Ratio;
SellBase= DayOpen(0)-Ratio;
2
매도포지션은 Marketposition아 -1입니다.
매도포지션 청산식에 Marketposition > 0으로 되어 있습니다.
Marketposition < 0으로 변경하시면 됩니다.
3
당일청산은 정규장이내의 시간으로 임의로 지정하시면 됩니다.
실전에서는 지정한 시간이후의 첫틱에 신호가 발생하고
과거봉 시뮬레이션은 해당시간이 포함된 봉의 종가에 청산된것으로 리포트에 표시됩니다.
강제청산탭의 청산시점은 조건만족즉시로 설정되어 있으면 됩니다.
즐거운 하루되세요
> theogo66 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 선물분봉에 상관없이 당일시가를 기준으로,
당일시가 + k값을 상한선으로 하고, 당일시가- k값을 하한선으로 한 후,
장중 가격이 상한선보다 크면 매수, 하한선보다 작으면 매도를 하고,
장중 매수수량이나 매도수량이 상하한선에 의해 반대매매되지 않고 잔고가 남아있으면
당일 종가에 (당일 종가매매가 되지 않으면 선물 동시호가 시간전에) 무조건 청산하는 식입니다.
아래식으로 작성을 해봤는데, 제대로 구현되지 않네요.
종가청산은 안되는 걸로 알고 있어서, 15분봉 선물차트 사용시 [강제청산] 탭에서 15:30(봉 시작시간으로 차트는 설정해놓았음.)에 강제청산을 설정해 봤었습니다. 1분봉차트를 사용하면 15:34분으로 설정하는 게 종가에 근접하는 건지요?
아예 동시호가 직전에 청산하는 방법은 없는 건지요?
부탁드립니다.
감사합니다.
- 아 래 -
Inputs: Ratio (k); --> 물론 실제 검토시에는 k값대신 일정 숫자값을 사용했습니다.
Variables: BuyBase(0),SellBase(0);
BuyBase= DayOpen(0)*(1+Ratio);
SellBase= DayOpen(0)*(1-Ratio);
if Crossup (c, buybase) Then
buy ("B");
if Marketposition >0 and
CrossDown(c, sellbase) Then
ExitLong("EX_B");
if CrossDown (C, sellbase) Then
sell ("S");
if Marketposition >0 and
CrossDown(c, sellbase) Then
Exitshort ("EX_S");