커뮤니티
매수청산이 두번에 걸쳐서 나오는 오류입니다.
2009-12-01 21:11:50
562
글번호 26436
밑에는 제 매수청산 수식입니다.
현재보유수량 *2/3 만 청산하는게 목적인데요
매수진입이 한번일때는 상관없습니다만
매수진입이 2번 이상일때는
총수량*2/3 으로 한번 매수청산되고
나머지수량*2/3으로 또 매수청산 됩니다.
뭐가 문제인지요?
If MarketPosition == 1 then {
if sdate >= 날짜
and (C >= mav4*0.98 or C >= mav5*0.98 )
Then {
ExitLong("all수익4ma",onclose,def,"", CurrentContracts*2/3,1);
}}
답변 1
예스스탁 예스스탁 답변
2009-12-02 09:35:11
안녕하세요
예스스탁입니다
분할청산을 의도하실 경우에는 분할청산횟수에 따라
모두 작성해 주셔야 합니다.
또한 하나의 청산식은 분할진입횟수만큼 동작하게 됩니다.
그러므로 하나의 청산식이 여러번 발동될수 있습니다.
또한 CurrentContracts는 현재 미청산된 수량이므로
청산후의 수량의 2/3으로 청산되게 됩니다.
1. 경우의 수별로 청산이 동작하게끔 작성해 주셔야 하며
2. 수량 분할에 대한 계산식이 필요합니다.
if MarketPosition == 1 Then{ # 매수진입 후
if CurrentEntries > CurrentEntries[1] Then{ # 진입횟수가 상승시마다 수량계산
var1 = CurrentContracts;
var2 = var1*(2/3);
var3 = (var1-var2);
}
if MaxEntries == 1 Then{ # 진입이 한번일 경우
if 청산식1 Then
ExitLong("Bx1",onclose,def,"",var2,1);
if 청산식2 Then
ExitLong("Bx2",onclose,def,"",var3,1);
}
if MaxEntries == 2 Then{ # 진입이 두번일 경우
if CurrentEntries == 2 and 청산식1 Then # 2번진입 후 첫번째 청산
ExitLong("BX3",onclose,def,"",var2,1);
if CurrentEntries == 1 and 청산식2 Then # 2번진입 후 두번째 청산
ExitLong("Bx4",onclose,def,"",var3,1);
}
}
해당 식을 참고하시기 바랍니다.
즐거운 하루되세요
> 지수와함께춤을 님이 쓴 글입니다.
> 제목 : 매수청산이 두번에 걸쳐서 나오는 오류입니다.
> 밑에는 제 매수청산 수식입니다.
현재보유수량 *2/3 만 청산하는게 목적인데요
매수진입이 한번일때는 상관없습니다만
매수진입이 2번 이상일때는
총수량*2/3 으로 한번 매수청산되고
나머지수량*2/3으로 또 매수청산 됩니다.
뭐가 문제인지요?
If MarketPosition == 1 then {
if sdate >= 날짜
and (C >= mav4*0.98 or C >= mav5*0.98 )
Then {
ExitLong("all수익4ma",onclose,def,"", CurrentContracts*2/3,1);
}}
이전글