커뮤니티
문의 드립니다.
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일 고가가 찍힙니다. 즉 한개씩 밀려 찍힙니다.
바쁘시겠지만 위의 상황을 확인하여 주시기 바랍니다.
좋은 하루 되십시요.