커뮤니티

결과 차이에 대한 건..

프로필 이미지
세발님
2011-05-31 01:20:44
1339
글번호 204925
답변완료

첨부 이미지

수고하십니다. 우선 로직을 먼저 적겠습니다. if Dayindex == 0 then { Var1 = DayHigh[1]; Var2 = Daylow[1]; If Crossown(close,var1) and Open > Var1 then Sell("매도"); } 로직은 보시는것과 같이 간단합니다. 당일 첫봉이 전일 고점을 하향돌파하면 매도하는 로직인데요 결과가 다르게 나옵니다. 13일(2010/12/13)과 14일(2010/12/14)은 둘다 동일하게 전일 고점을 하향돌파했지만 14일만 매도신호가 나오고 13일은 나오지 않았습니다. 차이가 나는 이유를 잘 모르겠습니다. 알려주시면 감사하겠습니다. (오렌지선은 전일 고점임.) PS 1. 13일처럼 매도신호가 안나오는 날이 더 있네요. 2010년 01/05, 04/29, 05/10, 11/25 등등.... 2. 로직에서 Open > Var1 을 삭제하면 첫봉이 전일 고점 밑에서 시작하고, 하향돌파 하지 않았는데도 매도하는 경우가 생깁니다. 이 경우도 이유를 알고 싶습니다.
예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-06-01 11:09:01

안녕하세요? 예스스탁입니다. CrossDown이나 CrossUp은 두 봉의 값을 서로 비교하기 때문에 발생하는 현상입니다. 작성하신 식에서 CrossDown을 풀어서 써보면 if Close < var1 and Close[1] >= var1[1] ~ 의 내용이 됩니다. 여기서 전봉 종가가 전봉의 var1값 보다 크거나 같아야 합니다. 전봉의 var1값은 전전일의 고가인데, 전봉종가가 전전일의 고가보다 작을 경우에는 신호가 발생하지 않게 됩니다. 따라서 첫봉에서 돌파와 같은 경우는 crossUp이나 CrossDown을 사용하지 말고 단순히 크다, 또는 작다로만 표시해서 식을 작성해야 정확한 식 작성이 됩니다. 수정해서 작성하면 다음과 같습니다. if Dayindex == 0 then { Var1 = DayHigh[1]; Var2 = Daylow[1]; If C < var1 and Open > Var1 then Sell("매도"); } 즐거운 날 되십시오 > 세발님 님이 쓴 글입니다. > 제목 : 결과 차이에 대한 건.. > 수고하십니다. 우선 로직을 먼저 적겠습니다. if Dayindex == 0 then { Var1 = DayHigh[1]; Var2 = Daylow[1]; If Crossown(close,var1) and Open > Var1 then Sell("매도"); } 로직은 보시는것과 같이 간단합니다. 당일 첫봉이 전일 고점을 하향돌파하면 매도하는 로직인데요 결과가 다르게 나옵니다. 13일(2010/12/13)과 14일(2010/12/14)은 둘다 동일하게 전일 고점을 하향돌파했지만 14일만 매도신호가 나오고 13일은 나오지 않았습니다. 차이가 나는 이유를 잘 모르겠습니다. 알려주시면 감사하겠습니다. (오렌지선은 전일 고점임.) PS 1. 13일처럼 매도신호가 안나오는 날이 더 있네요. 2010년 01/05, 04/29, 05/10, 11/25 등등.... 2. 로직에서 Open > Var1 을 삭제하면 첫봉이 전일 고점 밑에서 시작하고, 하향돌파 하지 않았는데도 매도하는 경우가 생깁니다. 이 경우도 이유를 알고 싶습니다.