커뮤니티

스탑트레일링 봉가정 오류

프로필 이미지
초심자의행운
2022-04-15 13:30:15
1379
글번호 158071
답변완료
setstoptrailing(1,1,pointstop,0) ; 이런식으로 하면 수익이 무조건 나는 상황을 볼 수 있는데 이를 해결하기 위한 방법은 뭐가 있을까요? 진입봉은 제외하는 이런 방식은 작동 하나요 ? if BarsSinceEntry > 1 Then SetStopTrailing(0.5,1,PercentStop,1); 진입 이후 1개 이상의 봉이 있을 경우 1%의 수익이 났을 때 최고가격대비 0.5%하락시 수익청산인데 여기서 최고가격대비로 하면 매도포지션일때는 작동을 안하나요 ? buy("bs",atstop,highest(h,barsinceentry)-0.005*highest(h,barsinceentry)); 이 수식은 위에 작성한 스탑트레일링이랑 같은 효과라고 볼 수 있을까요 ? SetStopTrailing(0.5,1,PercentStop,1); 여기서 0.5나 1같은 숫자 대신 ma(c,10)*0.01이라던지 각종 수식을 써도 되나요 ?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-04-15 15:24:42

안녕하세요 예스스탁입니다. 1 해당 함수가 실시간에서는 정확히 동작합니다. 과거봉에서는 봉 자체에 모든틱이 없어 해당봉의 시제 움직임으로 처리가 불가능합니다. 아래는 올리신 수식과 같이 일반청산함수로 트레일링스탑을 구현한 수식입니다. 하지만 실제 트레일링스탑은 현재봉 고가와 저가가 지정한 수익을 달성했으면 현재봉에서라도 수익감소하면 청산이 나오지만 아래와 같이 풀어서 작성한 식은 if문이 봉완성시가 기준이라 현재봉에서 수익달성은 체크하지 못합니다. 최근 완성봉기준으로 수익달성기준으로 체크하고 달성했으면 다음봉에서 완성봉 기준 최고가와 최저가대비 일정값이상 수익감소하면 청산하게 됩니다. #setstoptrailing(1,1,pointstop,0) ; if MarketPosition == 1 and Highest(H,BarsSinceEntry) >= EntryPrice+1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)-1); if MarketPosition == 1 and Lowest(L,BarsSinceEntry) <= EntryPrice-1 Then ExitShort("sx",AtStop,Lowest(H,BarsSinceEntry)+1); #SetStopTrailing(0.5,1,PercentStop,1); if MarketPosition == 1 and Highest(H,BarsSinceEntry) >= EntryPrice*1.01 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.995); if MarketPosition == 1 and Lowest(L,BarsSinceEntry) <= EntryPrice*0.99 Then ExitShort("sx",AtStop,Lowest(H,BarsSinceEntry)*1.005); 2 강제청산은 percentstop이면 모두 %로만 지정해야 합니다. ma(c,10)*0.01은 수치값입니다. 만약 10이평이 500이면 5라는 값이 되고 해당값을 사용하면 5%가 됩니다. 강제청산함수에 사용할만한 값은 아니라고 판단됩니다. 즐거운 하루되세요 > 초심자의행운 님이 쓴 글입니다. > 제목 : 스탑트레일링 봉가정 오류 > setstoptrailing(1,1,pointstop,0) ; 이런식으로 하면 수익이 무조건 나는 상황을 볼 수 있는데 이를 해결하기 위한 방법은 뭐가 있을까요? 진입봉은 제외하는 이런 방식은 작동 하나요 ? if BarsSinceEntry > 1 Then SetStopTrailing(0.5,1,PercentStop,1); 진입 이후 1개 이상의 봉이 있을 경우 1%의 수익이 났을 때 최고가격대비 0.5%하락시 수익청산인데 여기서 최고가격대비로 하면 매도포지션일때는 작동을 안하나요 ? buy("bs",atstop,highest(h,barsinceentry)-0.005*highest(h,barsinceentry)); 이 수식은 위에 작성한 스탑트레일링이랑 같은 효과라고 볼 수 있을까요 ? SetStopTrailing(0.5,1,PercentStop,1); 여기서 0.5나 1같은 숫자 대신 ma(c,10)*0.01이라던지 각종 수식을 써도 되나요 ?