커뮤니티

문의드립니다

프로필 이미지
시고르시고르
2021-05-11 13:18:19
1292
글번호 148906
답변완료
Var1 = DayHigh(1); Var2 = DayLow(1); Var3 = var1 - Var2; Longliq = Highest(H,BarsSinceEntry+1)-Var3 * P ; If MarketPosition == 1 Then ExitLong("EL", atstop, Longliq); 이런 식으로 전날의 레인지를 참고하여 청산을 한다고 했을때 하루의 첫봉에서 청산요건이 발동했을때 첫봉에서는 레인지 계산을 전날의 전날 즉 2일전 레인지로 계산하고 두번째 봉부터 다시 전날의 레인지로 계산하는것 같습니다. 첫봉부터 올바르게 계산하도록 하는 방법은 없을까요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-11 15:19:04

안녕하세요 예스스탁입니다. atstop봉완성시에 값을 셋팅하고 다음봉시세와 비교하므로 하루중 첫봉에서 발생하면 전일 마지막봉에서 셋팅된 값입니다. 그러므로 첫봉기준에서는 전전일 값이 됩니다. 당일 마지막봉에서 셋팅되는값을 당일최고가와 최저가를 기준으로 셋팅되게 하고 당일첫봉부터는 전일값 사용하게 하시면 됩니다. if NextBarSdate == sDate Then { Var1 = DayHigh(1); Var2 = DayLow(1); Var3 = var1 - Var2; } Else { Var1 = DayHigh(0); Var2 = DayLow(0); Var3 = var1 - Var2; } Longliq = Highest(H,BarsSinceEntry+1)-Var3 * P ; If MarketPosition == 1 Then ExitLong("EL", atstop, Longliq); 즐거운 하루되세요 > 시고르시고르 님이 쓴 글입니다. > 제목 : 문의드립니다 > Var1 = DayHigh(1); Var2 = DayLow(1); Var3 = var1 - Var2; Longliq = Highest(H,BarsSinceEntry+1)-Var3 * P ; If MarketPosition == 1 Then ExitLong("EL", atstop, Longliq); 이런 식으로 전날의 레인지를 참고하여 청산을 한다고 했을때 하루의 첫봉에서 청산요건이 발동했을때 첫봉에서는 레인지 계산을 전날의 전날 즉 2일전 레인지로 계산하고 두번째 봉부터 다시 전날의 레인지로 계산하는것 같습니다. 첫봉부터 올바르게 계산하도록 하는 방법은 없을까요