커뮤니티

문의드립니다.

프로필 이미지
아침한때비51
2020-10-02 15:39:48
1099
글번호 142810
답변완료
이평 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차매도. (뷰가 바뀔 때 먼저 매입된 것 부터 청산하고 바로 다시 진입하게 해 주세요.) 이렇게 해 돌라고 하는 이유는 물론 아시겠지만,혹시 또 헷갈릴 수 있을거 같아서 몇 자 적어봅니다. 이유인 즉,먼저 진입한 거 먼저 청산하고 다시 바로 물량 진입해 돌라고 하는 건 뷰가 바뀔 때 보통 먼저 매입한 물량하고 재진입되는 물량과 합해서 계산하게 되잖아요.그렇게 되면 만약,제 계좌에 있는 돈이 적으면 먼저 매입한 물량만 청산되고 다음 체결이 안되기 때문에 ....무슨말인가 아시죠.ㅎ) 부탁드립니다. 수고하세요.