예스스탁
예스스탁 답변
2022-02-08 16:52:50
> jshwang2 님이 쓴 글입니다.
> 제목 : 추가질문 드립니다
> 안녕하세요!
답변주신 내용에 대해 추가질문 드립니다
제가 드린 질문과 받은 답변은 아래와 같습니다
---------------------
질문)
input : HB(14750), LB(14720), N(2);
var : Hx(0), Lx(0);
Buy("b1",AtStop,HB,2);
Buy("b2",AtStop,HB+N,2);
Buy("b3",AtStop,HB+2*N,2);
Buy("b4",AtStop,HB+3*N,2);
Sell("s1",AtStop,LB,2);
Sell("s2",AtStop,LB-N,2);
Sell("s3",AtStop,LB-2*N,2);
Sell("s4",AtStop,LB-3*N,2);
if marketposition == 1 then
{
Hx = highest(H,barsinceentry);
if HB <= Hx && Hx < HB +N then exitlong("exitB", atstop, HB-5);
if HB +N <= Hx && Hx < HB +2*N then exitlong("exitB", atstop, HB-3);
if HB+2*N <= Hx && Hx < HB +3*N then exitlong("exitB", atstop, HB-1);
if HB +3*N <= Hx then exitlong("exitB", atstop, HB+1);
}
if marketposition == -1 then
{
Lx = lowest(L,barsinceentry);
if LB >= Lx && Lx > LB-N then exitlong("exitB", atstop, LB+5);
if LB-N >= Lx && Lx > LB-2*N then exitlong("exitB", atstop, LB+3);
if LB-2*N >= Lx && Lx > LB-3*N then exitlong("exitB", atstop, LB+1);
if LB-3*N >= Lx then exitlong("exitB", atstop, LB-1);
}
위와같이 만들어 시스템매매설정의 피라미딩 탭에서 '다른진입신호만 허용'을 선택했습니다
매수(매도) 한 방향으로 최대 4번까지만 진입해 피라미딩 되어야하는데
4번 이상 진입하는 경우가 종종 생기고
그렇게 됐을땐 청산조건에 걸려도 전부 청산되지가 않습니다
ex) 매수 6번 진입해 12계약이 있다면, 청산조건이 되도 8계약만 청산되고 4계약이 남음
답변)
다른진입신호만 허용은 진입별로 한번씩 진입이 가능한데
진입 후 청산되면 다시 발생할수 있습니다.
즉 A라는 진입이 청산되면 A라는 이름의 진입은 다시 발생할 수 있습니다.
하지만 올리신 내용은 부분청산이 아닌 전량청산이므로 4회이상 진입하지 않습니다.
청산 발생한 봉에서 진입조건도 만족해서 전량청산 후 진입이 발생한 경우입니다.
6번 진입해 12계약인 상태에서 8계약만 청산되고 4계약이 남은 상황이 아니고
4번 진입해서 전량(8계약)청산하고 같은 봉에서 이후에 2번더 진입한 것입니다.
작성하신 진입은 특정가격 이상이면 매수, 특정가격 이하이면 매도진입하는 내용으로
봉중간에 전량청산하고 해당봉에서 조건만 되면 다시 진입을 할 수 있습니다.
---------------------------
제가 질문에 문제가 되는 상황을 정확히 기술하지 못한것 같고
관련해 추가로 질문드리고 싶은 부분은
재진입 자체는 문제가 안되는데 문제가 되는 상황이
실제로 청산이 안된 시점에서 6번 진입하는 케이스가 생깁니다
차트상엔 b1, b2, b3, b4가 진입된걸로 나오는데
주문내역의 매수신호는 6번이 발생하는...
매수 12계약이 있는 상태에서 청산조건이 되면 12계약 전체청산이 아니라 8계약만 청산되고
매수 4계약이 남아있는 채로, 조건이 되면 매수, 매도가 들어가며 잔고가 꼬이게 되는 상황이 몇번을 돌려봐도 계속 생기는데
이 원인이 무엇때문인지 확인 부탁드리겠습니다