이평 1 이 이평 2 위에 있고 첫번째 음봉 1차매수.두번째 음봉 2차매수.
이평 1 이 이평 2 아래에 있고 첫번째 양봉 1차매도.두번째 양봉 2차매도.
(뷰가 바뀔 때 먼저 매입된 것 부터 청산하고 바로 다시 진입하게 해 주세요.)
이렇게 해 돌라고 하는 이유는 물론 아시겠지만,혹시 또 헷갈릴 수 있을거 같아서 몇 자 적어봅니다. 이유인 즉,먼저 진입한 거 먼저 청산하고 다시 바로 물량 진입해 돌라고 하는 건
뷰가 바뀔 때
보통 먼저 매입한 물량하고 재진입되는 물량과 합해서 계산하게 되잖아요.그렇게 되면 만약,제 계좌에 있는 돈이 적으면 먼저 매입한 물량만 청산되고 다음 체결이 안되기 때문에 ....무슨말인가 아시죠.ㅎ)
부탁드립니다. 수고하세요.
답변 1
예스스탁
예스스탁 답변
2020-10-05 14:05:18
안녕하세요
예스스탁입니다.
뷰가 포지션을 의미하시는지 다른 것을 의미하시는지 모르겠습니다.
포지션이면 문의하신 내용은 해당 부분은 수식으로는 제어가 가능하지 않습니다.
포지션이 변경되면 청산과 진입신호가 동시에 발생합니다.
문의하신 내용은 시스템 트레이딩 설정창의 부가기능 중 진입지연주문 기능을 이용하시는 방법뿐이 없습니다.
진입주문을 n초 지연시켜 청산주문과 시간갭을 두어
해당 시간사이에 청산이 모두 체결되면 다음 진입주문에서 증거금부족에 걸리지 않게 됩니다.
하지만 해당 시간사이에 청산이 미체결되면 진입주문 거부를 피할 수 없습니다.
해당 부분은 수식으로는 해결방법이 없습니다.
input : P1(5),P2(20);
var1 = ma(C,P1);
Var2 = ma(C,P2);
if CrossUp(var1,Var2) Then
Var3 = 1;
if CrossDown(var1,Var2) Then
Var3 = -1;
if Var3 == 1 Then
{
if MarketPosition <= 0 and C < O Then
Buy("b1",OnClose,DEf,1);
if MarketPosition == 1 and MaxEntries == 1 and C < O Then
Buy("b2",OnClose,DEf,1);
}
if Var3 == -1 Then
{
if MarketPosition >= 0 and C > O Then
Sell("s1",OnClose,DEf,1);
if MarketPosition == -1 and MaxEntries == 1 and C > O Then
Sell("s2",OnClose,DEf,1);
}
즐거운 하루되세요
> 아침한때비51 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 이평 1 이 이평 2 위에 있고 첫번째 음봉 1차매수.두번째 음봉 2차매수.
이평 1 이 이평 2 아래에 있고 첫번째 양봉 1차매도.두번째 양봉 2차매도.
(뷰가 바뀔 때 먼저 매입된 것 부터 청산하고 바로 다시 진입하게 해 주세요.)
이렇게 해 돌라고 하는 이유는 물론 아시겠지만,혹시 또 헷갈릴 수 있을거 같아서 몇 자 적어봅니다. 이유인 즉,먼저 진입한 거 먼저 청산하고 다시 바로 물량 진입해 돌라고 하는 건
뷰가 바뀔 때
보통 먼저 매입한 물량하고 재진입되는 물량과 합해서 계산하게 되잖아요.그렇게 되면 만약,제 계좌에 있는 돈이 적으면 먼저 매입한 물량만 청산되고 다음 체결이 안되기 때문에 ....무슨말인가 아시죠.ㅎ)
부탁드립니다. 수고하세요.