intrabar 옵션을 활성화시킨 limit 주문

by 조봉제 posted Jan 04, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

buy next bar 300 stop;

위의 stop주문을 limit주문으로 바꿀려면 어떻게 해야 할까요?

 

'300 이상의 틱이 들어올때, 300.1 에 매수주문'을 하고 싶다면..

intrabar 옵션을 활성화시킨후 아래와 같이 코딩하면 됩니다.

 

if c cross over 299.95 then buy next bar 300.1 limit;

 

c cross over 300 으로 코딩하면 c[1]<=300 and c>300 의 의미가 되기 때문에.. c cross over 299.95 로 코딩하셔야 합니다.

그런데 cross over 를 사용하면.. maxbarsback 기간내에 적어도 한번은 c<300 인 경우가 있어야 하는 조건이 붙습니다.

stop 주문은 그러한 조건과는 상관없이 300 이상의 틱이 발생하면 무조건 매수주문이 나가야 하므로.. cross over 를 사용하면 미묘한 차이가 발생할 수 있습니다.

 

그래서 아래와 같이 코딩하는 것이 stop주문의 의도에 더 맞아 보입니다.

if c >= 300 then buy next bar 300.1 limit;

 

buy next bar c+0.1 stop;

위의 stop주문을 limit주문으로 바꿀려면 어떻게 해야 할까요?

 

if c >= c[1]+0.1 then buy next bar currnetask+0.1 limit;

 

와 같이 코딩하면 됩니다.

currnetask+0.1 대신 c+0.3, h+0.5 등을 넣으셔도 됩니다.

단, c[1]+0.1 보다는 큰 값을 넣으셔야 stop 주문의 시장가 주문 효과를 가지게 됩니다.

체결이 안되는 위험이 있더라도 슬리피지는 싫다는 분은 currentask 혹은 currentbid 를 넣으시면 되겠습니다. (권하지는 않습니다.)

 

그렇다면.. if c>o then buy next bar c+0.1 stop;

위의 stop주문을 limit주문으로 바꿀려면 어떻게 해야 할까요?

 

if c[1]>o[1] and c >= c[1]+0.1 then buy next bar currnetask+0.1 limit;

 

와 같이 코딩하면 됩니다.