이 코드는 메타트레이더 5 전략 테스터를 위한 맞춤형 최적화 기능입니다. 이는 고전적인 의미의 전문가 조언, 보조지표 또는 스크립트가 아니라 테스트 결과를 분석하기 위한 특수 스크립트입니다.
테스터로부터 거래 내역을 가져옵니다.
최소 요건 확인(최소 50회 이상 거래)
초기 예치금 및 기간 결정
거래를 두 기간으로 분할합니다:
샘플 내(IS) - 테스트 기간의 첫 70% 기간
표본 외(OOS) - 1일 간격으로 기간의 마지막 30%를 분할합니다.
두 기간에 대한 지표 집합을 계산합니다:
수익성 및 자본 감소
샤프 및 소티노 비율
수익률 및 수익성 있는 거래의 확률
통계 지표(스큐어니스, 첨도)
특별 지표(세레니티 비율)
콜모고로프-스미르노프 테스트를 사용하여 IS와 OOS 분포를 비교합니다.
Jarque-Bera 테스트를 사용하여 분포의 정규성 확인
종합적인 전략 평가를 작성합니다:
수익성(30%)
결과의 일관성(30%)
위험 조정 성과(25%)
통계적 품질(15%)
코드를 MQL5/Scripts/ 폴더에 넣습니다.
전략 테스터에서 "사용자 지정 최적화 기준"을 선택합니다.
이 스크립트를 사용하여 최적화 결과를 평가합니다.
전략의 안정성을 검증하는 데 사용
IS 기간과 OOS 기간 간의 불일치 분석
과도하게 최적화된 전략 식별
다양한 전략을 객관적으로 비교하려면
종합적인 기준에 따라 전략 순위를 매기려면 다음과 같이 하세요.
데이터 파티셔닝을 통한 과도한 최적화 최소화
성능의 여러 측면을 고려하는 종합적인 평가
결과의 견고성에 대한 통계적 검증
실행 불가능한 전략의 자동 선별
상당한 수의 거래가 필요함(최소 50개 이상)
IS/OOS로 분할하려면 충분한 과거 기간이 필요합니다.
최소 요건을 충족하지 못하는 전략의 경우 코드가 -DBL_MAX를 반환합니다.
이 접근 방식은 트레이딩 전략을 진지하게 테스트하고 최적화하여 과거 데이터에 맞추는 위험을 최소화하려는 트레이더와 개발자에게 특히 유용합니다.
MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/63121
지그재그 NK 피보팬.
마지막과 두 번째 상단에 피보 가중치를 설정할 수 있는 지그재그 표시기입니다.
음수 볼륨 인덱스
NVI(마이너스 거래량 지수)는 거래량 감소를 유가증권 가격 변동과 연관시킵니다.