커뮤니티

이 수식에서 제가 잘못 짠 것이 어떤건가요?

프로필 이미지
월척
2015-12-01 01:15:53
144
글번호 92922
답변완료
전봉대비 5% 이상하락하면 매도 (주식에서 매도시그널 허용 체크)하고 매도시그널이 나온 봉이 고가보다 종가값이 커지면 손절환매수하는 로직을 짰습니다. 그런데 막상 손절환매수가 나오는 봉의 종가가 매도시그널이 나온 봉보다 크지 않은데도 손절환매수 시그널이 나옵니다. 왜그런가요? input : AccelFactor(0.02); var : ParabolicValue(0),value1(0),value2(0); ParabolicValue = csar(AccelFactor, 0.2); value1 = c/c[1]; if value1<0.95 then { var1=h; sell ("sell", onclose); } If c>var1 Then exitshort ("손절", onclose); If c[1] < ParabolicValue[1] and c > ParabolicValue Then exitshort ("exitlong", onclose);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-01 11:08:05

안녕하세요 예스스탁입니다. if value1<0.95 then { var1=h; sell ("sell", onclose); } 위 내용에서 var1은 if조건이 만족하면 해당봉의 고가를 저장하게 됩니다. sell신호가 발생할때의 고가만 저장이 되는 것이 아닙니다. 매도 신호가 발생하고 계속 value1이 0.95보다 작으면 var1값은 계속 변경됩니다. 매도신호봉의 고가보다 종가가 크면 매도이므로 아래와 같이 2가지중 하나로 지정하시면 됩니다. 1. input : AccelFactor(0.02); var : ParabolicValue(0),value1(0),value2(0); ParabolicValue = csar(AccelFactor, 0.2); value1 = c/c[1]; if value1<0.95 then { if MarketPosition >= 0 then{ var1 = H; sell ("sell", onclose); } } If c> var1 Then exitshort ("손절", onclose); If c[1] < ParabolicValue[1] and c > ParabolicValue Then exitshort ("exitlong", onclose); 2. if value1<0.95 then { sell ("sell", onclose); } If c> H[BarsSinceEntry] Then exitshort ("손절", onclose); 즐거운 하루되세요 > 월척 님이 쓴 글입니다. > 제목 : 이 수식에서 제가 잘못 짠 것이 어떤건가요? > 전봉대비 5% 이상하락하면 매도 (주식에서 매도시그널 허용 체크)하고 매도시그널이 나온 봉이 고가보다 종가값이 커지면 손절환매수하는 로직을 짰습니다. 그런데 막상 손절환매수가 나오는 봉의 종가가 매도시그널이 나온 봉보다 크지 않은데도 손절환매수 시그널이 나옵니다. 왜그런가요? input : AccelFactor(0.02); var : ParabolicValue(0),value1(0),value2(0); ParabolicValue = csar(AccelFactor, 0.2); value1 = c/c[1]; if value1<0.95 then { var1=h; sell ("sell", onclose); } If c>var1 Then exitshort ("손절", onclose); If c[1] < ParabolicValue[1] and c > ParabolicValue Then exitshort ("exitlong", onclose);