커뮤니티

문의 드립니다.

프로필 이미지
이뿌니
2010-10-04 17:17:45
1050
글번호 32617
답변완료
안녕하세여. 추가종목을 사용했을때 Messagelog에 이상한 점이 있어 문의드립니다. 데이타기간: 최근봉 5000개 (10분봉) 데이타1: 건설업지수 데이타2: 다우 건설업 Messagelog를 테스트했던 프로그램 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var1= data2(closeD(1)); var2= data2(highD(1)); var3= data2(lowD(1)); var4=((var2-var3)/var1)*100; if stime==090000 && var4 > 3 then { buy(); messagelog("var1=%.2f,var2=%.2f,var3=%.2f,var4=%.2f",var1,var2,var3,var4); } if stime == 120000 then { exitlong(); } 이상한점: 1. 090000시간에 messagelog를 나오게하면 090000시간으로 동일한 데이타가 7~8개씩 반복되어 나옵니다 단, 091000에 messagelog를 나오게하면 정상적으로 한개만 나옵니다 5분봉을 사용할 경우는 같은 데이타를 더욱더 많이 반복해서 14~15번 나옵니다. 즉 봉의 주기가 짧아질수록 반복적으로 더 많은 갯수가 나오고 봉의 주기가 길어 지면 반복적으로 나오는 갯수가 줄어듭니다. 2. 위의 식에서 보면 var1= data2(closeD(1)) 에서 전일의 종가를 나타나게 했는데 실제로 나오는것은 전전일 데이타가 표시됩니다. 즉 2010-09-03일 9시에 나온 messagelog의 데이타가 전날인 09-02일데이타가 아니고 전전일인 09-01일 데이타가 나옵니다. 확인 부탁드립니다. 수고하세여
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-10-04 09:13:22

안녕하세요 예스스탁입니다. 메세지로그가 여러번 찍히는 부분은 주종목의 마지막봉 시간 이후에 참조종목에는 그 이후의 시간으로 봉이 여러개 더 있으므로 해당 갯수만큼 찍어주게 되므로 여러번 동일한 내용이 출력됩니다. 참조종목은 가장 마지막으로 완성된 봉에서 그 값을 가져와 리턴하게 됩니다. 다우 건설업지수는 당일 첫봉이 9시 30분 이후에 시작되는 데이터입니다. 그러므로 주종목으로 stime이 9시 일때는 바로 밑에는 참조종목의 데이터 없고 가장 마지막봉이 전일의 마지막봉인 17시 봉의 값입니다. 그 전일 마지막봉에서 볼때 closed(1)이므로 현재에서 봤을때는 전전일의 종가를 가져오게 됩니다. 모든 데이터는 가장 마지막의 완성된 봉이 기준이 됩니다. 그 마지막 완성된 봉을 기준으로 식을 작성하셔야 하며 해당 내용에서는 참조종목은 일봉으로 설정하시고 식을 아래와 같이 작성하여 사용하시면 됩니다. var : va1(0,data2),va2(0,data2),va3(0,data2),va4(0,data2); va1= data2(close); va2= data2(high); va3= data2(low); va4=((va2-va3)/va1)*100; if stime==090000 && va4> 3 then { buy(); messagelog("var1=%.2f,var2=%.2f,var3=%.2f,var4=%.2f",va1,va2,va3,va4); } if stime == 120000 then { exitlong(); } 즐거운 하루되세요 > 이뿌니 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세여. 추가종목을 사용했을때 Messagelog에 이상한 점이 있어 문의드립니다. 데이타기간: 최근봉 5000개 (10분봉) 데이타1: 건설업지수 데이타2: 다우 건설업 Messagelog를 테스트했던 프로그램 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var1= data2(closeD(1)); var2= data2(highD(1)); var3= data2(lowD(1)); var4=((var2-var3)/var1)*100; if stime==090000 && var4 > 3 then { buy(); messagelog("var1=%.2f,var2=%.2f,var3=%.2f,var4=%.2f",var1,var2,var3,var4); } if stime == 120000 then { exitlong(); } 이상한점: 1. 090000시간에 messagelog를 나오게하면 090000시간으로 동일한 데이타가 7~8개씩 반복되어 나옵니다 단, 091000에 messagelog를 나오게하면 정상적으로 한개만 나옵니다 5분봉을 사용할 경우는 같은 데이타를 더욱더 많이 반복해서 14~15번 나옵니다. 즉 봉의 주기가 짧아질수록 반복적으로 더 많은 갯수가 나오고 봉의 주기가 길어 지면 반복적으로 나오는 갯수가 줄어듭니다. 2. 위의 식에서 보면 var1= data2(closeD(1)) 에서 전일의 종가를 나타나게 했는데 실제로 나오는것은 전전일 데이타가 표시됩니다. 즉 2010-09-03일 9시에 나온 messagelog의 데이타가 전날인 09-02일데이타가 아니고 전전일인 09-01일 데이타가 나옵니다. 확인 부탁드립니다. 수고하세여 실제로 찍힌 데이타는 7월8일을 건너뛰고 7월7일 고가가 찍힙니다. 즉 한개씩 밀려 찍힙니다. 바쁘시겠지만 위의 상황을 확인하여 주시기 바랍니다. 좋은 하루 되십시요.