KB 버전이 오래된 것을 알지 못했습니다. 안타깝게도 업데이트가 실패합니다. KB 기계는 다음과 같은 정보를 제공합니다.
MQL4\Include\fxsaber\HistoryTicks\ ArrayResize .mqh( 110 , 14 ) : error 165 : 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ ArrayResize .mqh( 172 , 14 ) : error 165 : 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ ArrayResize .mqh( 110 , 14 ) : error 165 : 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ ArrayResize .mqh( 172 , 14 ) : error 165 : 'ArrayResize_Real' - function already defined and has body
기간을 변경하면 표시기가 완전히 재생성됩니다. 즉, 이전 인디케이터의 핸들이 삭제되고 새로운 인디케이터의 핸들이 생성됩니다. 그러나 하나의 "BUT"이 있습니다. 이전 표시기는 한동안 여전히 존재합니다.
그 이유가 아닌가...
예, 실험에서 알 수 있듯이 ChartSetSymbolPeriod 후에 OnInit가 완료되고 OnCalculate가 한 번(최소한 디버그 모드 에서) 실행됩니다(이 시점에서 포착됨). 그 후 표시기가 해제되고 새 TF에서 OnInit가 시작됩니다. 저것들. 온라인 작업은 방해하지 않습니다.
다른 TF의 데이터가 OnCalculate에 도착할 수 있다는 바로 그 사실이 버그이기 때문에 여기에 썼습니다.
나는 종종 화살표 코드를 찾지 않지만 도움말에서 찾기가 매우 어렵습니다!
이것은 별표, 원 등이있는 판입니다.
그리고 검색은 올바른 것 외에는 무엇이든 생성합니다!
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
라이브러리: HistoryTicks
fxsaber , 2020.01.09 14:43
KB 버전이 오래된 것을 알지 못했습니다. 안타깝게도 업데이트가 실패합니다. KB 기계는 다음과 같은 정보를 제공합니다. ME에서는 모든 것이 오류 없이 컴파일됩니다.왜 3번째 줄에:
"기호 불일치" 경고?
datetime은 기본적으로 부호 없는 숫자입니다(ulong과 같은 8바이트). 부정적인 날짜의 예를 들어주세요.
현재 데이터에서 디버깅할 때 표시기의 OnInit 에서 ChartSetSymbolPeriod 를 사용할 때 이상한 점은 이전 TF의 OnTick() rate_total과 새 TF의 시계열 배열에 있습니다.
여기에서 날짜의 Time[x], H1의 Rates_total 을 볼 수 있으며 TF 디버거 창에서는 차트가 날짜로 변경되었습니다.
현재 데이터에서 디버깅할 때 표시기의 OnInit 에서 ChartSetSymbolPeriod를 사용할 때 이상한 점은 이전 TF의 OnTick() rate_total과 새 TF의 시계열 배열에 있습니다.
여기에서 날짜의 Time[x], H1의 Rates_total 을 볼 수 있으며 TF 디버거 창에서는 차트가 날짜로 변경되었습니다.
기간을 변경하면 표시기가 완전히 재생성됩니다. 즉, 이전 인디케이터의 핸들이 삭제되고 새로운 인디케이터의 핸들이 생성됩니다.
그러나 하나의 "BUT"이 있습니다. 이전 표시기는 한동안 여전히 존재합니다.
그 이유가 아닌가...
현재 데이터에서 디버깅할 때 표시기의 OnInit 에서 ChartSetSymbolPeriod를 사용할 때 이상한 점은 이전 TF의 OnTick() rate_total과 새 TF의 시계열 배열에 있습니다.
여기에서 날짜의 Time[x], H1의 Rates_total 을 볼 수 있으며 TF 디버거 창에서는 차트가 날짜로 변경되었습니다.
인디케이터릴리스
기간을 변경하면 표시기가 완전히 재생성됩니다. 즉, 이전 인디케이터의 핸들이 삭제되고 새로운 인디케이터의 핸들이 생성됩니다.
그러나 하나의 "BUT"이 있습니다. 이전 표시기는 한동안 여전히 존재합니다.
그 이유가 아닌가...
예, 실험에서 알 수 있듯이 ChartSetSymbolPeriod 후에 OnInit가 완료되고 OnCalculate가 한 번(최소한 디버그 모드 에서) 실행됩니다(이 시점에서 포착됨). 그 후 표시기가 해제되고 새 TF에서 OnInit가 시작됩니다. 저것들. 온라인 작업은 방해하지 않습니다.
다른 TF의 데이터가 OnCalculate에 도착할 수 있다는 바로 그 사실이 버그이기 때문에 여기에 썼습니다.