커뮤니티
문의드립니다!!!!!!!!!
2009-12-13 22:48:49
641
글번호 26664
선물에서 셋스탑 트레일링에 관해 문의드립니다.
제 선물 시스템은 셋스탑 트레일링이 걸린 이후에 이것을 기준선으로 삼아 일정부분 오르거나 내리면 다시 진입하는 시스템입니다. 그런데, 선물시스템에서 셋스탑 트레일링은 진입가보다 올라서 걸린 셋스탑 트레일링과 진입가보다 더 내려서 걸린 셋스탑 트레일링 등 두 가지로 나누어 볼 수 있다고 생각하는 데요.. 이것을 따로따로 구분을 해서 식에 적용을 하고 싶습니다.
만약에 현재 올라가는 것을 사고 난 이후에(선물 매수), 위로 올라서 셋스탑 트레일링이 걸렸다면, 재진입(상익올) 후에는 동일한 셋스탑트레일링(0.02, 0,61)을 적용을 하고, 반대로 1차 셋스탑 트레일링이 걸린 이후 일정폭이 내려서 진입할 경우(상익내)에는 셋스탑 트레일링 폭을 더 크게 적용(0.05, 1.30)시키고자 합니다.
반대로 현재 내려가는 것을 사고 난 이후(선물 매도) 셋스탑 트레일링이 걸린 후 다시 아래로 일정 폭 이상을 내려서 재진입(하익내)을 할 때에는 동일한 셋스탑트레일링(0.02, 0,61)을 적용을 하고, 반대로 1차 셋스탑 트레일링이 걸린 후 일정폭이 올라 진입할 경우(하익올)에는 셋스탑 트레일링 폭을 더 크게 적용(0.05, 1.30)시키고자 합니다.
다시 간단히 말씀드리면, 올라서 걸린 셋스탑 트레일링 이후에 2차 셋스탑트레일링이 올라서 걸린 것과 내려서 걸린것, 그리고 내려서 걸린 셋스탑 트레일링 이후에 2차 셋스탑트레일링이 올라서 걸린 것과 내려서 걸린것을 각각 총 4개로 나누어 구분하고자 합니다.
하지만 혼자서 식을 만들어보면서 애로점은, 상익올과 하익내 그리고 상익내와 하익올의 조건식이 각각 똑같아서 시스템이 모두 다 상익올과 상익내로만 인식을 해버립니다. 이것의 근본적인 문제는 맨처음 걸린 셋스탑 트레일링이 진입가 대비 올라서 걸렸냐, 아니면 내려서 걸렸냐를 인식할 수가 없기 때문인 것 같습니다.
다음은 현재 제 선물 식 일부인데 수정이 가능할런지요???
셋스탑로스는 동일하게 0.30으로 적용을 하구요...
- 시스템 중략 -
SetStopTrailing(0.02, 0.61, PercentStop, 1);
Trcount = 0; for cnt = 1 to 20{
if sdate == ExitDate(cnt) and IsExitName("StopTrailing", cnt) Then
Trcount = Trcount+1; }
if stime > 91000 && stime < 145000
&& MarketPosition == 0
&& IsExitName("StopTrailing", 1)
&& Trcount < 2 Then{
Buy("익올", atStop, ExitPrice(1)+0.20);
Sell("익내", atStop, ExitPrice(1)-0.20); }
if MarketPosition != 0
Then{if IsEntryName("익올") Then{
setStopTrailing(0.10, 1.30, PercentStop, 1);
SetStopLoss(0.30, PercentStop); }}
if MarketPosition != 0
Then{if IsEntryName("익내") Then{
setStopTrailing(0.10, 1.30, PercentStop, 1);
SetStopLoss(0.30, PercentStop); }}
답변 1
예스스탁 예스스탁 답변
2009-12-14 11:36:29
안녕하세요
예스스탁입니다.
아래 내용이 원하시는 답변이 맞는지 모르겠습니다.
주석을 붙여 드렸습니다.
if isexitname("TrailingStop",1) == false and MarketPosition != 0 then
SetStopTrailing(0.02, 0.61, PercentStop, 1);
if isexitname("TrailingStop",1) == True then{ # 전 청산이 트레일링스탑인 경우
if MarketPosition == 1 and entryprice > exitprice(1) then #매수에서 진입가가 이전청산가보다 높을경우
SetStopTrailing(0.02, 0.61, PercentStop, 1);
if MarketPosition == -1 and entryprice < exitprice(1) then #매도에서 진입가가 이전청산가보다 낮을경우
SetStopTrailing(0.02, 0.61, PercentStop, 1);
if MarketPosition == 1 and entryprice < exitprice(1) then #매수에서 진입가가 이전청산가보다 낮을경우
SetStopTrailing(0.05, 1.30, PercentStop, 1);
if MarketPosition == -1 and entryprice > exitprice(1) then #매도에서 진입가가 이전청산가보다 높을경우
SetStopTrailing(0.05, 1.30, PercentStop, 1);
}
if MarketPosition == 0 Then # 무포지션일때 해제
SetStopTrailing(0,0);
즐거운 하루되세요
> 빠샤 님이 쓴 글입니다.
> 제목 : 문의드립니다!!!!!!!!!
> 선물에서 셋스탑 트레일링에 관해 문의드립니다.
제 선물 시스템은 셋스탑 트레일링이 걸린 이후에 이것을 기준선으로 삼아 일정부분 오르거나 내리면 다시 진입하는 시스템입니다. 그런데, 선물시스템에서 셋스탑 트레일링은 진입가보다 올라서 걸린 셋스탑 트레일링과 진입가보다 더 내려서 걸린 셋스탑 트레일링 등 두 가지로 나누어 볼 수 있다고 생각하는 데요.. 이것을 따로따로 구분을 해서 식에 적용을 하고 싶습니다.
만약에 현재 올라가는 것을 사고 난 이후에(선물 매수), 위로 올라서 셋스탑 트레일링이 걸렸다면, 재진입(상익올) 후에는 동일한 셋스탑트레일링(0.02, 0,61)을 적용을 하고, 반대로 1차 셋스탑 트레일링이 걸린 이후 일정폭이 내려서 진입할 경우(상익내)에는 셋스탑 트레일링 폭을 더 크게 적용(0.05, 1.30)시키고자 합니다.
반대로 현재 내려가는 것을 사고 난 이후(선물 매도) 셋스탑 트레일링이 걸린 후 다시 아래로 일정 폭 이상을 내려서 재진입(하익내)을 할 때에는 동일한 셋스탑트레일링(0.02, 0,61)을 적용을 하고, 반대로 1차 셋스탑 트레일링이 걸린 후 일정폭이 올라 진입할 경우(하익올)에는 셋스탑 트레일링 폭을 더 크게 적용(0.05, 1.30)시키고자 합니다.
다시 간단히 말씀드리면, 올라서 걸린 셋스탑 트레일링 이후에 2차 셋스탑트레일링이 올라서 걸린 것과 내려서 걸린것, 그리고 내려서 걸린 셋스탑 트레일링 이후에 2차 셋스탑트레일링이 올라서 걸린 것과 내려서 걸린것을 각각 총 4개로 나누어 구분하고자 합니다.
하지만 혼자서 식을 만들어보면서 애로점은, 상익올과 하익내 그리고 상익내와 하익올의 조건식이 각각 똑같아서 시스템이 모두 다 상익올과 상익내로만 인식을 해버립니다. 이것의 근본적인 문제는 맨처음 걸린 셋스탑 트레일링이 진입가 대비 올라서 걸렸냐, 아니면 내려서 걸렸냐를 인식할 수가 없기 때문인 것 같습니다.
다음은 현재 제 선물 식 일부인데 수정이 가능할런지요???
셋스탑로스는 동일하게 0.30으로 적용을 하구요...
- 시스템 중략 -
SetStopTrailing(0.02, 0.61, PercentStop, 1);
Trcount = 0; for cnt = 1 to 20{
if sdate == ExitDate(cnt) and IsExitName("StopTrailing", cnt) Then
Trcount = Trcount+1; }
if stime > 91000 && stime < 145000
&& MarketPosition == 0
&& IsExitName("StopTrailing", 1)
&& Trcount < 2 Then{
Buy("익올", atStop, ExitPrice(1)+0.20);
Sell("익내", atStop, ExitPrice(1)-0.20); }
if MarketPosition != 0
Then{if IsEntryName("익올") Then{
setStopTrailing(0.10, 1.30, PercentStop, 1);
SetStopLoss(0.30, PercentStop); }}
if MarketPosition != 0
Then{if IsEntryName("익내") Then{
setStopTrailing(0.10, 1.30, PercentStop, 1);
SetStopLoss(0.30, PercentStop); }}