커뮤니티

문의드립니다

프로필 이미지
풍경
2020-11-16 08:08:44
553
글번호 143897
답변완료
안녕하세요. SetStopTrailing 함수를 사용하면 봉가정 오류가 자주 발생하는데 이미 완성된 이전봉 기준으로 이 함수를 적용하는 방법을 좀 알려주세요. 현재봉 말고 바로 이전봉에서 SetStopTrailing 조건을 만족하면 청산하는 방법이 있을까요? SetStopTrailing(수익감소값,최소수익값,Method,tr_Method); 의 형식에서 뒤에 Method 값을 하나더 넣어서 이전봉을 지정할수 있으면 좋겠습니다. Method 0은 현재봉, 1은 직전봉 이런식으로... 수고하세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-16 16:19:24

안녕하세요 예스스탁입니다. 강제청산 함수에 매개변수 추가는 불가능합니다. 아래와 같이 풀어서 작성해서 사용하시면 됩니다. 봉완성시의 최고가와 최저가를 기준으로 수익조건을 체크하고 만족하면 완성봉의 최고가와 최저가를 기준으로 다음봉에서 일정폭 하락하면 청산하게 됩니다. #10% 수익이후 20% 수익 감소하면 청산 input : UPrate(10),Dnrate(20); if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice*(1+UPrate/100) then exitlong("Btr1",AtStop,var1-(var1-EntryPrice)*(Dnrate/100)); } if MarketPosition == -1 Then{ var2 = Lowest(L,BarsSinceEntry); if var2 <= EntryPrice*(1-UPrate/100) then ExitShort("Str1",AtStop,var2+(EntryPrice-var2)*(Dnrate/100)); } # 5포인트 수익이후에 최고가격대비 2포인트 하락하면 청산 input : UPpoint(5),Dnpoint(2); if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+UPpoint then exitlong("Btr2",AtStop,var1-Dnpoint); } if MarketPosition == -1 Then{ var2 = Lowest(L,BarsSinceEntry); if var2 <= EntryPrice-UPpoint then ExitShort("Str2",AtStop,var2+Dnpoint); } 즐거운 하루되세요 > 풍경 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요. SetStopTrailing 함수를 사용하면 봉가정 오류가 자주 발생하는데 이미 완성된 이전봉 기준으로 이 함수를 적용하는 방법을 좀 알려주세요. 현재봉 말고 바로 이전봉에서 SetStopTrailing 조건을 만족하면 청산하는 방법이 있을까요? SetStopTrailing(수익감소값,최소수익값,Method,tr_Method); 의 형식에서 뒤에 Method 값을 하나더 넣어서 이전봉을 지정할수 있으면 좋겠습니다. Method 0은 현재봉, 1은 직전봉 이런식으로... 수고하세요.