커뮤니티
print 문의입니다.
2016-08-29 16:56:49
111
글번호 101456
Print("테스트.csv",",%.2f,%.2f",C[1],V[1]);
이렇게만 지표식을 작성해서 전략실행챠트에 적용을 하여 데이터를 저장하려고 합니다.
그런데 테스트.csv를 열어보면...
아래와 같이
----------------------------------------------
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
----------------------------------------------
중복되는 값이 저장되어 있습니다.
그래서,
Print("테스트.csv",",%.2f,%.2f,%.2f",DayIndex(),C[1],V[1]);
이렇게 수식을 작성하여 확인해 보았는데...
아래와 같이
----------------------------------------------
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
----------------------------------------------
인덱스 값이 동일한 중복값이 저장되어 있습니다.
예스렝귀지는 한 스코프가 봉이 완성될때 한번식 반복하는게 아니었나요?
예를 들어 dayidx = dayidx+1; 라고 하면, 봉하나가 완성될때마다 dayidx 값이 1씩 증가하는게 아닌가요?
위와 같은 현상이 발생하는 것에 대한 설명 부탁드립니다.
그리고, 틱봉이든 분봉이든 print를 사용하여, 전략실행챠트에 적용을 하여 데이터를 저장할때 매봉 완성시 해당봉의 데이터를 저장하는 수식을 작성 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2016-08-30 15:14:16
안녕하세요
예스스탁입니다.
messagelog나 Print는 실시간 차트에 적용하시면
과거봉은 한번만 동작하고 실시간 현재봉은 시세가 수신될때마다 동작하게 됩니다.
수식은 실시간에서 시세 들어오면 계속 계산을 합니다.
해당시세가 수신될때 계산후 완성봉이 아니면
변수가 직전완성봉 기준으로 다시 초기화가 됩니다.
if LastBarOnChart != 1 Then
Print("테스트.csv",",%.2f,%.2f",C[1],V[1]);
위와 같이 작성하시면 미완성봉에서는 출력을 하지 않습니다.
즐거운 하루되세요
> 띠가 님이 쓴 글입니다.
> 제목 : print 문의입니다.
> Print("테스트.csv",",%.2f,%.2f",C[1],V[1]);
이렇게만 지표식을 작성해서 전략실행챠트에 적용을 하여 데이터를 저장하려고 합니다.
그런데 테스트.csv를 열어보면...
아래와 같이
----------------------------------------------
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:52 46.82 300
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
2016-08-29 2:53 46.84 79
----------------------------------------------
중복되는 값이 저장되어 있습니다.
그래서,
Print("테스트.csv",",%.2f,%.2f,%.2f",DayIndex(),C[1],V[1]);
이렇게 수식을 작성하여 확인해 보았는데...
아래와 같이
----------------------------------------------
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:52 312 46.82 300
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
2016-08-29 2:53 313 46.84 79
----------------------------------------------
인덱스 값이 동일한 중복값이 저장되어 있습니다.
예스렝귀지는 한 스코프가 봉이 완성될때 한번식 반복하는게 아니었나요?
예를 들어 dayidx = dayidx+1; 라고 하면, 봉하나가 완성될때마다 dayidx 값이 1씩 증가하는게 아닌가요?
위와 같은 현상이 발생하는 것에 대한 설명 부탁드립니다.
그리고, 틱봉이든 분봉이든 print를 사용하여, 전략실행챠트에 적용을 하여 데이터를 저장할때 매봉 완성시 해당봉의 데이터를 저장하는 수식을 작성 부탁드립니다.