커뮤니티
질문드립니다
2015-02-15 23:39:26
161
글번호 83234
하나 더 질문드립니다
질문1
아래식을 적용해보니
//진입가에서 10틱 수익시 1계약 청산
이식은 잘 적용됩니다
그러나
//이후 5틱씩 수익발생시마다 1계약씩 청산
이식은 작동이 되지않고 있습니다 수정좀 부탁합니다
질문2
10계약 진입해서
진입가에서 10틱 수익시 1계약 청산 --- 청산1
다시 진입가에서 15틱 수익시 1계약 청산 --- 청산2
다시 진입가에서 20틱 수익시 1계약 청산 ----청산3
이렇게 하면 청산 10 까지 가겠죠
단 매수해서 올라가던중에 10틱에서 수익정리하고
12틱까지 갔다가 내려오는중에 다시 진입가에서 10틱에 왔다고 청산이 되면 아니됩니다
청산은 늘 올라갈경우 전봉의 가격보다 올라가는 시점에서 청산이 되어야 합니다
분봉으로 하면 힘들겠지만 틱차트 적은것을 이용해서 하면 가능하다고 생각이 들어요
위 내용처럼 하지 않는 이유는
진입해서 10틱 수익이 발생해서 1계약 청산하고 이후 5틱에서 또 청산을 한다면
문제가 발생하더군요 박스권에서요 그래서 정정을 합니다
변경한 식으로 한다면
내려왔다가 다시 올라가면 청산1로 한번더 익절이 발생한것으로 생각합니다
반대의 경우도 부탁합니다
if MarketPosition == 1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
exitlong("bx1",Atlimit,EntryPrice+PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts < CurrentContracts Then
exitlong("bx2",Atlimit,LatestExitPrice(0)+PriceScale*5,"",1,2);
}
if MarketPosition == -1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
ExitShort("sx1",Atlimit,EntryPrice-PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts < CurrentContracts Then
ExitShort("sx2",Atlimit,LatestExitPrice(0)-PriceScale*5,"",1,2);
}
답변 1
예스스탁 예스스탁 답변
2015-02-16 18:02:23
안녕하세요
예스스탁입니다.
죄송합니다. 부등호가 잘못설정되어 있었습니다.
수정한 식입니다.
아래식은 지정한 틱수로 청순후 다음청산은 직전 청산가격에서 +-틱으로 청산이 되므로
한번 청산된 자리에서 또 청산되지는 않습니다.
if MarketPosition == 1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
exitlong("bx1",Atlimit,EntryPrice+PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts > CurrentContracts Then
exitlong("bx2",Atlimit,LatestExitPrice(0)+PriceScale*5,"",1,2);
}
if MarketPosition == -1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
ExitShort("sx1",Atlimit,EntryPrice-PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts > CurrentContracts Then
ExitShort("sx2",Atlimit,LatestExitPrice(0)-PriceScale*5,"",1,2);
}
만약 동일청산 자리에
매수시 아래에서 위로 매도시 위에서 아래로 다시 터치하면
또 청산을 하신다면 아래식 이용하시면 됩니다.
if MarketPosition == 1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
exitlong("bx1",Atlimit,EntryPrice+PriceScale*10,"",1,1);
if MaxContracts > CurrentContracts Then{
//직전 분할청산가격을 하회해서 다시 올라오면 다시 청산
if H < LatestExitPrice(0) Then
exitlong("bx21",Atlimit,LatestExitPrice(0),"",1,2);
//직전 분할청산가격+5틱 상승하면 청산
if H < LatestExitPrice(0)+PriceScale*5 Then
exitlong("bx22",Atlimit,LatestExitPrice(0)+PriceScale*5,"",1,2);
}
}
if MarketPosition == -1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
ExitShort("sx1",Atlimit,EntryPrice-PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts > CurrentContracts Then{
//직전 분할청산가격을 상회해서 다시 내려오면 다시 청산
if L > LatestExitPrice(0) Then
ExitShort("sx21",Atlimit,LatestExitPrice(0),"",1,2);
//직전 분할청산가격-5틱 하락하면 청산
if L > LatestExitPrice(0)-PriceScale*5 Then
ExitShort("sx22",Atlimit,LatestExitPrice(0)-PriceScale*5,"",1,2);
}
}
즐거운 하루되세요
> 정소장 님이 쓴 글입니다.
> 제목 : 질문드립니다
> 하나 더 질문드립니다
질문1
아래식을 적용해보니
//진입가에서 10틱 수익시 1계약 청산
이식은 잘 적용됩니다
그러나
//이후 5틱씩 수익발생시마다 1계약씩 청산
이식은 작동이 되지않고 있습니다 수정좀 부탁합니다
질문2
10계약 진입해서
진입가에서 10틱 수익시 1계약 청산 --- 청산1
다시 진입가에서 15틱 수익시 1계약 청산 --- 청산2
다시 진입가에서 20틱 수익시 1계약 청산 ----청산3
이렇게 하면 청산 10 까지 가겠죠
단 매수해서 올라가던중에 10틱에서 수익정리하고
12틱까지 갔다가 내려오는중에 다시 진입가에서 10틱에 왔다고 청산이 되면 아니됩니다
청산은 늘 올라갈경우 전봉의 가격보다 올라가는 시점에서 청산이 되어야 합니다
분봉으로 하면 힘들겠지만 틱차트 적은것을 이용해서 하면 가능하다고 생각이 들어요
위 내용처럼 하지 않는 이유는
진입해서 10틱 수익이 발생해서 1계약 청산하고 이후 5틱에서 또 청산을 한다면
문제가 발생하더군요 박스권에서요 그래서 정정을 합니다
변경한 식으로 한다면
내려왔다가 다시 올라가면 청산1로 한번더 익절이 발생한것으로 생각합니다
반대의 경우도 부탁합니다
if MarketPosition == 1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
exitlong("bx1",Atlimit,EntryPrice+PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts < CurrentContracts Then
exitlong("bx2",Atlimit,LatestExitPrice(0)+PriceScale*5,"",1,2);
}
if MarketPosition == -1 Then{
//진입가에서 10틱 수익시 1계약 청산
if MaxContracts == CurrentContracts Then
ExitShort("sx1",Atlimit,EntryPrice-PriceScale*10,"",1,1);
//이후 5틱씩 수익발생시마다 1계약씩 청산
if MaxContracts < CurrentContracts Then
ExitShort("sx2",Atlimit,LatestExitPrice(0)-PriceScale*5,"",1,2);
}