커뮤니티

수식 작성시 오류가 나네요........

프로필 이미지
나코
2008-08-29 14:01:02
801
글번호 16844
답변완료
안녕하십니까............ 수식을 작성하는데 자꾸만 초보적인 식에서 막혀버리니 답답하네요...... 일단 제가 하려는 식은 데이시스템이고 1분봉설정 입니다........ 전일 종가보다 오늘 시가가 1포인트 이상 상승했으면 매수 진입 이라고 하려 합니다. if dayclose(1) < dayopen(0)+1 then buy() ; 라고 작성을 했습니다. 프로그램상으로도 검증이 되어 아무이상이 없는데, 거래횟수가 너무 많아 챠트를 살펴보니 수식적용이 제대로 되지 않았습니다. 어제 종가보다 오늘 시가가 낮음에도 불구하고 매수진입이 되었어요. 1포인트라는 값을 빼고 'dayclose(1) < dayopen(0)' 라고만 작성하면 정상적인 결과치를 보여줍니다. 몇포인트 상승시 라는 표현을 어떻게 표현해야 하나요? 답변 부탁드립니다........
시스템
답변 3
프로필 이미지

회원

2008-08-29 13:53:32

저 역시 같은 초보입니다만 연산자 우선순위에 문제가 있지 않나 생각됩니다. dayclose(1) < dayopen(0)+1 요렇게 쓰시면 생각에는 dayopen(0)+1 요거 먼저 계산할 거 같아도 실은 dayclose(1) < dayopen(0) 를 먼저 계산한 후 +1 을 하기 때문에 dayclose(1) < dayopen(0) 이 참(1)이든 거짓(0)이든 +1 을 하면 영보다 큰 값이 되므로 언제나 참(true) 로 판단되는 것이라 생각됩니다. 이를 방지할려면 먼저 실행해야 하는 것을 괄호()로 묶어주심이 확실할 듯 합니다. dayclose(1) < ( dayopen(0)+1 ) 요렇게 말이죠. 헛다리 짚었다면 그냥 너그러이 양해해 주세요. > 나코 님이 쓴 글입니다. > 제목 : 수식 작성시 오류가 나네요........ > 안녕하십니까............ 수식을 작성하는데 자꾸만 초보적인 식에서 막혀버리니 답답하네요...... 일단 제가 하려는 식은 데이시스템인데요....... 전일 종가보다 오늘 시가가 1포인트 이상 상승했으면 매수 진입 이라고 하려 합니다. if dayclose(1) < dayopen(0)+1 then buy() ; 라고 작성을 했습니다. 프로그램상으로도 검증이 되어 아무이상이 없는데, 거래횟수가 너무 많아 챠트를 살펴보니 수식적용이 제대로 되지 않았습니다. 어제 종가보다 오늘 시가가 낮음에도 불구하고 매수진입이 되었어요. 1포인트라는 값을 빼고 'dayclose(1) < dayopen(0)' 라고만 작성하면 정상적인 결과치를 보여줍니다. 몇포인트 상승시 라는 표현을 어떻게 표현해야 하나요? 답변 부탁드립니다........
프로필 이미지

나코

2008-08-29 16:05:22

일단 답변주신데에 대하여 감사합니다.......... 저두 그리 생각해서 그것도 시도해 보았지만, 그건 아닌었네요. 하지만 살펴본 결과 제가 결국 논리적 오류를 범한 것 같네요. > CJ_iamki 님이 쓴 글입니다. > 제목 : Re : 수식 작성시 오류가 나네요........ > 저 역시 같은 초보입니다만 연산자 우선순위에 문제가 있지 않나 생각됩니다. dayclose(1) < dayopen(0)+1 요렇게 쓰시면 생각에는 dayopen(0)+1 요거 먼저 계산할 거 같아도 실은 dayclose(1) < dayopen(0) 를 먼저 계산한 후 +1 을 하기 때문에 dayclose(1) < dayopen(0) 이 참(1)이든 거짓(0)이든 +1 을 하면 영보다 큰 값이 되므로 언제나 참(true) 로 판단되는 것이라 생각됩니다. 이를 방지할려면 먼저 실행해야 하는 것을 괄호()로 묶어주심이 확실할 듯 합니다. dayclose(1) < ( dayopen(0)+1 ) 요렇게 말이죠. 헛다리 짚었다면 그냥 너그러이 양해해 주세요. > 나코 님이 쓴 글입니다. > 제목 : 수식 작성시 오류가 나네요........ > 안녕하십니까............ 수식을 작성하는데 자꾸만 초보적인 식에서 막혀버리니 답답하네요...... 일단 제가 하려는 식은 데이시스템인데요....... 전일 종가보다 오늘 시가가 1포인트 이상 상승했으면 매수 진입 이라고 하려 합니다. if dayclose(1) < dayopen(0)+1 then buy() ; 라고 작성을 했습니다. 프로그램상으로도 검증이 되어 아무이상이 없는데, 거래횟수가 너무 많아 챠트를 살펴보니 수식적용이 제대로 되지 않았습니다. 어제 종가보다 오늘 시가가 낮음에도 불구하고 매수진입이 되었어요. 1포인트라는 값을 빼고 'dayclose(1) < dayopen(0)' 라고만 작성하면 정상적인 결과치를 보여줍니다. 몇포인트 상승시 라는 표현을 어떻게 표현해야 하나요? 답변 부탁드립니다........
프로필 이미지

예스스탁 예스스탁 답변

2008-08-29 19:38:32

안녕하세요 예스스탁입니다. if dayclose(1) < dayopen(0)+1 then buy() ; 와 같은 식은 글로 풀어 보면 전일 종가가 당일시가+1보다는 작아야 한다는 내용입니다. 즉 전일 종가가 100이고 오늘 시가가 99.05라면 if 100 < 99.05+1 then buy();와 같은 식이며 작을때도 매수가 들어갑니다. 즉 당일 시가에다 1을 더한 가격이 전일 종가보다 크면 진입이라는 부분이므로 "종가보다 오늘 시가가 1포인트 이상 상승했으면 매수 진입 "이라는 원래 전략과는 맞지 않습니다. if dayclose(1)+1 < dayopen(0) then buy() ; 와 같이 작성하시면 전일종가에 1을 더한 가격보다 오늘 시가가 크다라는 문장이 되서 당일 시가가 전일종가보다 1포인트 이상 커야 조건이 만족하게 됩니다. 또한 위식은 다른 조건이 없을 경우 당일시가가 전일종가 1포인트 이상 크면 하루 종일 모든 분봉에서 조건이 맞으므로 청산 후 또 진입이 들어가게 됩니다. if dayclose(1)+1 < dayopen(0) and dayindex() == 0 then buy() ; 첫봉 한봉만 염두에 두신 다면 위의 식을 사용하시기 바랍니다. 즐거운 하루되세요 > 나코 님이 쓴 글입니다. > 제목 : 수식 작성시 오류가 나네요........ > 안녕하십니까............ 수식을 작성하는데 자꾸만 초보적인 식에서 막혀버리니 답답하네요...... 일단 제가 하려는 식은 데이시스템이고 1분봉설정 입니다........ 전일 종가보다 오늘 시가가 1포인트 이상 상승했으면 매수 진입 이라고 하려 합니다. if dayclose(1) < dayopen(0)+1 then buy() ; 라고 작성을 했습니다. 프로그램상으로도 검증이 되어 아무이상이 없는데, 거래횟수가 너무 많아 챠트를 살펴보니 수식적용이 제대로 되지 않았습니다. 어제 종가보다 오늘 시가가 낮음에도 불구하고 매수진입이 되었어요. 1포인트라는 값을 빼고 'dayclose(1) < dayopen(0)' 라고만 작성하면 정상적인 결과치를 보여줍니다. 몇포인트 상승시 라는 표현을 어떻게 표현해야 하나요? 답변 부탁드립니다........