테스트 및 평가
MT5 EA 백테스트가 느린 이유: 소스 코드 체크리스트
빠른 테스트는 비용이 많이 드는 작업을 식별하는 것부터 시작됩니다. 비시각적 실행은 애니메이션 차트가 표시되지 않는 경우에도 반복 계산, 로그 출력 및 타이머 이벤트에 여전히 시간을 소비할 수 있습니다.
안정된 상태의 작업과 시작을 분리하세요.
기록 - 다운로드 시간, 초기화 시간 및 짧은 반복 간격의 속도를 기록합니다. 첫 번째 실행은 이후 실행이 실제 시뮬레이션을 수행하는 동안 데이터를 기다리고 있을 수 있습니다. 코드에 속도 변화를 적용하기 전에 동일한 컴파일된 파일, 입력, 모델 및 날짜를 사용하여 실행을 비교합니다.
반복 작업 검사
반복적으로 생성된 지표 핸들, 불필요하게 큰 내역 사본, 모든 틱의 모든 과거 거래 스캔 및 긴밀한 루프 내의 자세한 Print 호출을 찾으십시오. 안정적인 정보를 캐싱하고 실제로 필요한 데이터만 요청하는 것을 고려해보세요. 기본 환경이 변경될 수 있는 경우 캐시된 값을 새로 고칩니다.
거래 결정과 디스플레이 작업을 분리하세요
디스플레이 패널은 적절한 타이머에 따라 업데이트되거나 콘텐츠가 변경될 때만 업데이트될 수 있습니다. 모든 결정에 차트 다시 그리기를 적용할 필요는 없습니다. 그러나 단순히 테스트 속도를 높이기 위해 추적 중지, 거래 포지션 보호 또는 틱 감지 항목을 새로운 가격 캔들 게이트 뒤로 이동하지 마십시오. 그러면 전략이 바뀌게 됩니다.
의도한 행동이 살아남았음을 증명
- 고정된 간격으로 기준 실행을 유지합니다.
- 측정된 병목 현상 하나를 변경합니다.
- 항목, 종료, 볼륨 및 요약 지표를 비교합니다.
- 속도 개선을 수용하기 전에 차이점을 검사하십시오.
- 대표적인 더 긴 간격으로 반복합니다.
MQLume로 당신의 것으로 만들어보세요
편집 가능한 소스가 특히 중요한 부분이 바로 여기입니다. MQLume 프로젝트를 사용하면 EA 내부 작업을 검사하고 집중적인 개선 사항을 구축할 수 있습니다. 탐색The Gold Reaper MT5시작 프로젝트로.