소스 코드
MQL5 배열이 범위를 벗어났습니다. 첫 번째 잘못된 인덱스를 찾습니다.
배열 인덱스는 실제로 존재하는 요소를 참조해야 합니다. 성공적으로 컴파일한다고 해서 모든 런타임 루프가 유효한 인덱스를 사용한다는 것이 증명되는 것은 아닙니다. 모든 루프를 한 번에 패치하는 대신 보고된 첫 번째 줄에서 시작하세요.
경계를 적어라
5개 요소가 있는 1차원 배열의 경우 유효한 0부터 시작하는 인덱스는 0부터 4까지입니다. 인덱스 5를 포함하는 루프는 너무 멀리 진행됩니다. i+1를 읽을 때 추가 요소를 위한 공간을 남겨두십시오.
받은 데이터를 확인하세요
많은 양초를 요청했지만 그보다 적은 수를 받은 경우 요청한 개수는 안전한 루프 경계가 아닙니다. 복사된 개수, 배열 길이 및 실패한 인덱스를 기록합니다. 기록이 준비되지 않은 경우 EA가 수행해야 할 작업을 결정합니다.
작은 케이스를 재현
처음 몇 개의 가격 캔들, 빈 결과 및 최소 전환을 시도해 보세요. 이러한 사례는 다른 1년 실행보다 더 빠르게 경계 오류를 드러내는 경우가 많습니다. 수정 사항을 다시 확인할 수 있도록 실패한 입력을 보존합니다.
수정 범위를 좁게 유지
메시지를 억누르지 말고 가격을 조작해 보세요. 유용한 수정 사항은 유효한 경계를 설정하거나 유효한 데이터를 기다립니다. 편집 가능한 소스를 사용하면 전체 전략을 변경하지 않고도 이러한 작고 집중적인 개선이 가능합니다.
무료로 편집 가능한 EA 프로젝트로 시작해보세요·MQLume 소스 코드 살펴보기
맨 위로 돌아가기