커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2022-12-15 12:06:07
1236
글번호 164610
답변완료
항상 도움 주셔서 감사합니다. 트레일링 스탑에 대해 문의 드립니다. 아래와 같은 시스템이 있다고 가정할 경우 매수 if marketposition == 0 and crossup(이평100,이평200) then { buy(); } 매수청산 if marketposition == 1 and crossdown(이평100,이평200) then { exitlong(); } 매도 if marketposition == 0 and crossdown(이평100,이평200) then { sell(); } 매도청산 if marketposition == -1 and crossdown(이평100,이평200) then { sell(); } 손절 및 트레일링 스탑 SetStopLoss(50,PointStop); SetStopProfittarget(100,PointStop); SetStopEndofday(060000); SetStopTrailing(10,50,PointStop); SetStopTrailing(10,40,PointStop); SetStopTrailing(10,30,PointStop); SetStopTrailing(10,20,PointStop); SetStopTrailing(10,10,PointStop); 트레일링 스탑은 이익이 발생한 후 이익이 감소시 청산으로 알고 있습니다. 손실에 대해서는 아래와 같이 트레일링 작성해 보았는데 잘 안됩니다. 문의1) 포지션 진입 후 수익이 1point라도 발생후 바로 하락하는 경우 손절하지 않고 트레일링스탑으로 -10point에서 청산하고 싶습니다. SetStopTrailing(10,1,PointStop); 문의2) 포지션 진입 후 수익없이 바로 하락하는 경우 손절하지 않고 -10point에서 트레일링 스탑을 해서 -20ponit에서 청산하고 싶습니다. SetStopTrailing(10,-10,PointStop); SetStopTrailing(10,-20,PointStop); SetStopTrailing(10,-30,PointStop); SetStopTrailing(10,-40,PointStop); 문의3) 포지션 진입 후 손실이 나다가 이익으로 전환 되는 경우 익절하지 않고 중간 청산하고 싶습니다. * 손실이 -20point까지 났다가 손실이 -10point로 줄어들면(10point 상승) 손실이 -10point에서 청산하고 싶습니다. SetStopTrailing(-10,-20,PointStop); 도움 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-12-16 09:00:12

안녕하세요. 예스스탁입니다. SetStopTrailing의 매개변수로 마이너스 값은 지정이 되지 않습니다. 일정값(최소수익)이상 수익이 발생후에 일정값(감소값)하락하면 청산으로 최소수익과 감소폭 모두 양수로만 지정할 수가 있습니다. 1 SetStopTrailing(10,1,PointStop); 1포인트 이상 수익이후에 최고 수익지점에서 10포인트 하락하면 청산하게 됩니다. -10point가 위 기준이면 해당 설정그래도 사용하시면 되지만 진입가-10point이면 해당함수로 가능하지 않습니다. 아래와 같이 별도로 풀어서 작성하셔야 합니다. if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice+1 Then ExitLong("bx",AtStop,EntryPrice-10); } if MarketPosition == -1 Then { if lowest(L,BarsSinceEntry) <= EntryPrice-1 Then ExitShort("sx",AtStop,EntryPrice+10); } 2 2번 내용은 정확한 내용이 판단되지 않습니다. -10포인트 이하 손실인 경우 더 하락해서 -20포인트에 도달하면 청산인 경우는 20포인트 손실청산과 같습니다. SetStopLoss(20,PointStop); 단지 진입후 수익이 전혀 발생한적이 없다라는 조건을 추가한다면 아래와 같이 별도로 풀어서 작성하셔야 합니다. if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) == EntryPrice Then ExitLong("bx",AtStop,EntryPrice-20); } if MarketPosition == -1 Then { if lowest(L,BarsSinceEntry) == EntryPrice Then ExitShort("sx",AtLimit,EntryPrice+20); } 3 #매수진입 후 20포인트 이상 손실이 발생하면 #최저지점에서 10포인트 상승하면 청산 if MarketPosition == 1 Then { if lowest(L,BarsSinceEntry) <= EntryPrice-20 Then ExitLong("bx",AtLimit,lowest(L,BarsSinceEntry)+10); } #매도진입 후 20포인트 이상 손실이 발생하면 #최고지점에서 10포인트 하락하면 청산 if MarketPosition == -1 Then { if highest(H,BarsSinceEntry) >= EntryPrice+20 Then ExitShort("sx",AtLimit,highest(H,BarsSinceEntry)+10); } 즐거운 하루 되세요. > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 항상 도움 주셔서 감사합니다. 트레일링 스탑에 대해 문의 드립니다. 아래와 같은 시스템이 있다고 가정할 경우 매수 if marketposition == 0 and crossup(이평100,이평200) then { buy(); } 매수청산 if marketposition == 1 and crossdown(이평100,이평200) then { exitlong(); } 매도 if marketposition == 0 and crossdown(이평100,이평200) then { sell(); } 매도청산 if marketposition == -1 and crossdown(이평100,이평200) then { sell(); } 손절 및 트레일링 스탑 SetStopLoss(50,PointStop); SetStopProfittarget(100,PointStop); SetStopEndofday(060000); SetStopTrailing(10,50,PointStop); SetStopTrailing(10,40,PointStop); SetStopTrailing(10,30,PointStop); SetStopTrailing(10,20,PointStop); SetStopTrailing(10,10,PointStop); 트레일링 스탑은 이익이 발생한 후 이익이 감소시 청산으로 알고 있습니다. 손실에 대해서는 아래와 같이 트레일링 작성해 보았는데 잘 안됩니다. 문의1) 포지션 진입 후 수익이 1point라도 발생후 바로 하락하는 경우 손절하지 않고 트레일링스탑으로 -10point에서 청산하고 싶습니다. SetStopTrailing(10,1,PointStop); 문의2) 포지션 진입 후 수익없이 바로 하락하는 경우 손절하지 않고 -10point에서 트레일링 스탑을 해서 -20ponit에서 청산하고 싶습니다. SetStopTrailing(10,-10,PointStop); SetStopTrailing(10,-20,PointStop); SetStopTrailing(10,-30,PointStop); SetStopTrailing(10,-40,PointStop); 문의3) 포지션 진입 후 손실이 나다가 이익으로 전환 되는 경우 익절하지 않고 중간 청산하고 싶습니다. * 손실이 -20point까지 났다가 손실이 -10point로 줄어들면(10point 상승) 손실이 -10point에서 청산하고 싶습니다. SetStopTrailing(-10,-20,PointStop); 도움 부탁드립니다. 감사합니다.