안녕하세요.
지난번 4.0과 3.1에서 신호시간이 다르게 나오는 문제를 해결하려고
봉카운트로 주문나가던 것을 시간으로 변경했는데도
오늘도 신호가 다르게 나왔습니다.
달라진 것은 프로그램을 종료 시켰다가 다시켜도 같게나오더라구요.
SetStopProfittarget 함수를 사용한 곳에서
두개 시스템이 다르게 나옵니다.
확인 부탁드려요.
답변 2
예스스탁
예스스탁 답변
2012-07-11 08:59:06
안녕하세요? 예스스탁입니다.
원인을 찾으려고 매일 적용을 해보고 있는데, 아직 현상을 만들어 내지 못하고 있습니다.
구체적인 내용까지 올려주셔서 감사합니다.
올려주신 내용을 바탕으로 다시 검증해 보도록 하겠습니다.
감사합니다.
> anyhelp 님이 쓴 글입니다.
> 제목 : 주문신호가 3.1, 4.0이 다르게 나오네요.
> 안녕하세요.
지난번 4.0과 3.1에서 신호시간이 다르게 나오는 문제를 해결하려고
봉카운트로 주문나가던 것을 시간으로 변경했는데도
오늘도 신호가 다르게 나왔습니다.
달라진 것은 프로그램을 종료 시켰다가 다시켜도 같게나오더라구요.
SetStopProfittarget 함수를 사용한 곳에서
두개 시스템이 다르게 나옵니다.
확인 부탁드려요.
예스스탁
예스스탁 답변
2012-07-11 17:38:18
안녕하세요? 예스스탁입니다.
말씀하신 내용으로 원인을 찾아보고 있는데, 아직 현상을 만들어 내지 못하고 있습니다.
데이터를 검증하면서 dayHigh(N)와 같은 함수가 잘못된 값을 리턴하는 현상은 발견하였는데 이 내용이 말씀하신 오류의 원인은 아닌것 같습니다.
검증을 하면서 1분봉차트에서 시스템식을 아래와 같이 작성해서 몇일 확인해 보았는데,
15시04분봉(앞축기간)에서 이상 없이 신호가 발생하였습니다.
if dayindex == 363 Then exitlong("EL",AtMarket);
저희가 로직이 없는 상태에서 검증을 하다보니 한계가 있어서 검증을 요청드리려고 합니다.
번거로우시겠지만, 프로그램 또는 차트를 새로 띄우기 이전에 신호가 잘 못 나온 상태에서 messagelog를 이용하여 전략에 사용된 값을 확인해 주시길 부탁드립니다.
예를들어 예스랭귀지 편집기의
시스템 전략식dl 아래와 같이 작성되어 있을때 맨 아래 부분에 messagelog를 추가한 식을 적용하고 검증을 하면 디버깅창에 log가 나옵니다.
if dayindex == 1 then buy();
if dayindex == 363 Then exitlong("EL",AtMarket);
MessageLog("-----> %.f", dayindex);
1분봉에 적용된 전략이라면 15:03:00 의 시간에 dayindex값이 363 값이 나와야 합니다. 그리고 차트에서는 15:04분에(앞축기준) 청산신호가 나와야 합니다.
messagelog로 진입 또는 청산 식에서 사용된 인덱스나 시간 또는 전략에 사용된 조건의 값이 제대로 출력되는지 확인을 부탁드립니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 주문신호가 3.1, 4.0이 다르게 나오네요.
> 안녕하세요? 예스스탁입니다.
원인을 찾으려고 매일 적용을 해보고 있는데, 아직 현상을 만들어 내지 못하고 있습니다.
구체적인 내용까지 올려주셔서 감사합니다.
올려주신 내용을 바탕으로 다시 검증해 보도록 하겠습니다.
감사합니다.
> anyhelp 님이 쓴 글입니다.
> 제목 : 주문신호가 3.1, 4.0이 다르게 나오네요.
> 안녕하세요.
지난번 4.0과 3.1에서 신호시간이 다르게 나오는 문제를 해결하려고
봉카운트로 주문나가던 것을 시간으로 변경했는데도
오늘도 신호가 다르게 나왔습니다.
달라진 것은 프로그램을 종료 시켰다가 다시켜도 같게나오더라구요.
SetStopProfittarget 함수를 사용한 곳에서
두개 시스템이 다르게 나옵니다.
확인 부탁드려요.