예스스탁
예스스탁 답변
2020-08-13 12:54:23
안녕하세요
예스스탁입니다.
buy("b",AtStop,H);
ExitLong("bx",AtStop,NextBarOpen);
sell("s",AtStop,L);
ExitShort("sx",AtStop,NextBarOpen);
위 내용은 진입 후 시가에서 청산하는 부분인데
진입가가 시가보다 크면 진입과 청산이 동시에 발생합니다.
위 내용의 경우 진입봉이 완성되고 다음봉 시가에 청산되게 하셔야 합니다.
buy("b1",AtStop,NextBarOpen+(H-L)*0.5);
ExitLong("bx1",AtStop,EntryPrice-(H-L)*0.5);
sell("s1",AtStop,NextBarOpen-(H-L)*0.5);
ExitShort("sx1",AtStop,EntryPrice+(H-L)*0.5);
위 내용도 EntryPrice 진입후 봉이 완성되어야 값이 변경이 됩니다.
봉미완성시에 변경되는 값이 아니므로 진입과 동시에 셋팅되어 청산되는 식과
진입후 첫봉이 완성되고 청산하는 내용으로 청산식 2개를 사용하셔야 합니다.
아래는 수정한 식입니다.
buy("b",AtStop,H);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,NextBarOpen);
sell("s",AtStop,L);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,NextBarOpen);
buy("b1",AtStop,NextBarOpen+(H-L)*0.5);
if MarketPosition <= 0 Then
ExitLong("bx1",AtStop,(NextBarOpen+(H-L)*0.5)-(H-L)*0.5);
Else
ExitLong("bx2",AtStop,EntryPrice-(H-L)*0.5);
sell("s1",AtStop,NextBarOpen-(H-L)*0.5);
if MarketPosition >= 0 Then
ExitShort("sx1",AtStop,(NextBarOpen-(H-L)*0.5)+(H-L)*0.5);
Else
ExitShort("sx2",AtStop,EntryPrice+(H-L)*0.5);
즐거운 하루되세요
> 군고구마 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 노고에 감사드립니다.
아래 식에서 's'로 매도진입하자마자 동시에 같은가격에 바로 'sx1'으로 매도청산됩니다.
진입후, 시가 또는 진입가의 전봉레인지*0.5 변동시 청산하게 만든건데, 뭔가 잘못한거 같습니다.
도움 부탁드립니다.
buy("b",AtStop,H);
ExitLong("bx",AtStop,NextBarOpen);
sell("s",AtStop,L);
ExitShort("sx",AtStop,NextBarOpen);
buy("b1",AtStop,NextBarOpen+(H-L)*0.5);
ExitLong("bx1",AtStop,EntryPrice-(H-L)*0.5);
sell("s1",AtStop,NextBarOpen-(H-L)*0.5);
ExitShort("sx1",AtStop,EntryPrice+(H-L)*0.5);