예스스탁
예스스탁 답변
2023-10-10 12:57:19
안녕하세요
예스스탁입니다.
청산함수에서 마지막 매개변수는 청산수량을 지정하는 옵션입니다.
1
수량옵션 0은 각진입별로 지정수량을 차감하는 옵션으로
주로 추가진입을 하는 수식에서 사용합니다.
청산조건 만족시에 각 진입별로 동일수량을 청산하고자 할 때 사용합니다.
ExitLong("bx",OnClose,Def,"",1,0);
매수진입을 2개씩 3번 한 상태에서 위 청산함수가 발동하면
각 진입별로 1계약씩 총 3계약이 청산됩니다.
2
수량옵션 1은 전체수량에서 지정한 수량만 차감하는 옵션입니다.
ExitLong("bx",OnClose,Def,"",1,1);
매수진입을 2개씩 3번 한 상태에서 위 청산함수가 발동하면 1계약이 청산됩니다.
3
수량옵션 2은 1로 지정한 것과 기본적으로 같습니다.
청산조건만족시 지정한 수량으로 청산을 하게 됩니다.
1로 설정하는 것과 다른 부분은
하나의 청산함수가 실행되는 횟수에 제한이 없다는 부분입니다.
일반적으로 청산함수는 진입횟수이상 발생하지 못합니다.
진입이 1회이면 하나의 청산함수는 1회이상 발동을 하지 못합니다.
진입이 3회이면 하나의 청산함수는 3회이상 발동을 하지 못합니다.
이런 제한이 없게 사용할 수 있는 옵션이 2번으로
진입횟수에 관계없이 동일조건으로 여러번 분할하고자 할때 사용하게 됩니다.
즐거운 하루되세요
> 소총부대 님이 쓴 글입니다.
> 제목 : 청산에서 수량옵션
> Exitlong에서 0,1,2 수량옵션의 의미가 무엇인지요? 다음과 같이 했을 때 옵션 0과, 1이 차이가 없던데 어떤 경우에 차이가 나는것인지요?
if sTime == 145600 Then {Buy("1st", OnClose, Def, var1); q1 = var1;}
if sTime == 150500 Then {Buy("2nd", OnClose, Def, var1); q2 = var1;}
if sTime == 151800 Then {Buy("3rd", OnClose, Def, var1); q3 = var1;}
if DayIndex == 30 Then ExitLong("1",OnClose,Def,"1st",q1,1);
if DayIndex == 45 Then ExitLong("2",OnClose,Def,"2nd",q2,1);
if DayIndex == 80 Then ExitLong("3",OnClose,Def,"3rd",q3,1);