MetaTrader 5 Tester에서의 전략 시각화
우리 모두는 "백 번 듣는 것보다 한 번 보는 것이 낫다"라는 말에 대해 알고 있습니다. 파리나 베네치아에 관한 다양한 책은 읽을 수 있지만, 이런 이미지만으로 이 멋진 도시에서 즐기는 저녁 산책의 느낌에 대해 알 수 없을 것입니다. 시각화의 이점은 시장에서의 작업 (예: 지표를 사용한 차트의 가격 분석, 물론 전략 테스트의 시각화)을 포함하여 우리 삶의 모든 측면에서 쉽게 예상 할 수 있다는 데 있습니다.
모두가 전략 테스터의 가능성을 알고 있습니까?
실습에서 알 수 있듯이 모든 사람이 그렇지는 않습니다. 경쟁사에 비해 MetaTrader 5 거래 플랫폼의 장점은 더 편리한 사용자 친화적인 인터페이스, 단말기 및 MQL5, 다중 통화 테스터의 충분한 기회입니다. MQL5 클라우드 네트워크 및 기타 여러 옵션을 사용하는 클라우드 컴퓨팅 가능성과 함께 말이죠. 장점은 트레이더가 필요로 하는 모든 도구를 한곳에서 사용할 수 있다는 것입니다.
이 글 의 목적은 MetaTrader 5의 모든 가능성 중 하나, 즉 전략 테스트 및 최적화의 시각화에 대한 한 가지 더 중요한 기능을 트레이더에게 보여주는 것입니다. 과거 데이터에 대한 Expert Adviser의 행동 분석과 최상의 매개 변수 선택은 수치, 거래, 균형, 자본 등에 대한 힘든 분석 일 뿐만이 아닙니다. 의자에 앉아 편안하게 "3D"안경을 쓰고 시작합시다.
그리고 저는 속으로 이게 정말 멋진 세계 차트라고 생각했습니다...
Expert Adviser을 코드베이스 또는 시장에 게시할 때 작성자는 일반적으로 테스트에 대한 통계 보고서와 균형 및 형평성 그래프를 첨부합니다. 하지만 전략 테스터의 '결과' 탭에 있는 통계에서 더 흥미로운 차트를 확인할 수 있습니다.
이러한 차트를 기반으로 EA가 시장에 적극적으로 진입 할 때 가장 잘 거래되는 월, 일 또는 시간을 분석 할 수 있습니다. 또한 MFE (Maximum Favorable Excursion) 및 MAE (Maximum Adverse Excursion) 분포 그래프를 기반으로 EA가 손실을 "입장"하는지 여부와 관련하여 수익성있는 포지션이 적절한 시기에 마감되었는지 여부와 관련하여 EA의 성과를 평가할 수 있습니다.
테스트 결과를 더 아래로 스크롤하면 다른 그래프를 찾을 수 있습니다.
이 다이어그램은 수명에 대한 포지션 수익의 의존성을 보여줍니다. 이 다이어그램은 다가오는 Automated Trading Championship 2012에 매우 유용합니다. ATC 규정 중 하나는 스캘핑을 금지합니다. Expert Advisor를 테스트하고 규칙을 준수하는지 확인하십시오.
역사적인 영화 또는 시각적 테스트
전략 테스터의 혁신적인 기능 중 하나는 시각적 테스트 모드입니다. 날짜 별 거래 분석, 차트 플로팅 및 기타 "흥미로운" 일상적인 절차는 상당히 복잡한 프로세스를 구성합니다. 그러나 전략 테스터는 플레이어에게 리모콘을 제공하고 "재생"을 누르고 역사적인 영화를 보는 것과 같습니다. 영화의 속도를 늦추거나 속도를 높이고 멈추고 상황을 분석할 수 있습니다. 실시간으로 시뮬레이션 된 과거 데이터를 기반으로 차트가 구성되는 방식과 Expert Advisor가 가격 변화에 어떻게 반응하는지 확인할 수 있습니다.
비주얼라이저는 전략 테스터처럼 다중 통화를 완벽하게 지원합니다. 비디오의 Expert Advisor는 거래를 위해 4개의 통화 쌍을 사용합니다. 모든 시뮬레이션 가격은 Market Watch 및 차트에서 확인할 수 있습니다.
2D 최적화 결과
TV 제조업체들 사이에서 인기가 높은 3차원 이미지를 소개하기 전에 전략 테스터에서 2D 시각화를 살펴보십시오. 언뜻보기에 이상하게 보일 수 있는 사각형을 통해 최적화 기준에 대한 두 최적화 매개 변수의 상호 영향을 확인할 수 있습니다 (이 경우에는 최대 균형 값). 녹색 음영이 어두울수록 균형이 높아집니다.
우리는 관계가 물결 모양의 문자임을 알 수 있으며 기간의 평균 값과 이동 평균의 이동을 사용하면 최대 결과를 얻을 수 있습니다. 터미널의 표준 배포 팩에서 사용할 수 있는 이동 평균 EA의 최적화 결과입니다. 여기에서도 흥미로운 것을 찾을 수 있습니다.
이제 3D로
3차원 이미지는 더 나은 시각화 옵션을 제공합니다. 아래는 두 매개 변수의 동일한 종속성과 최종 결과입니다. 최적화 그래프 탭의 컨텍스트 메뉴를 사용하여 이 고급 모드로 전환할 수 있습니다.
MetaTrader 5 전략 테스터에 3 차원 최적화가 나타난 후, 트레이더는 포럼에 수학적 계산 시각화에 대한 자체 예제를 게시하기 시작했습니다.
3차원 그래픽은 완전히 상호 작용하므로 확대 및 축소, 편리한 각도로 회전 등을 할 수 있습니다. 중요한 기능은 테스트 및 최적화 결과를 이미지 또는 XML/HTML 보고서로 내보낼 수 있다는 것입니다.
시각 최적화
마지막으로 환영합니다 - 최적화 결과 작업! 결과를 처리하기 위해 트레이더는 데이터를 준비하고 다운로드하여 어딘가에서 처리해야 했습니다. 이제 최적화 중에 현장에서 할 수 있습니다! 이 가능성을 보여주기 위해 우리는 그러한 처리의 가장 간단한 예를 구현하는 여러 헤더 파일이 필요합니다.
아래 첨부 된 MQH 파일을 다운로드하여 MQL5\Include 폴더에 저장하십시오. Expert Advisor를 선택하여 코드 끝에 이 블록을 붙여 넣습니다.
//--- Add a code for working with optimization results #include <FrameGenerator.mqh> //--- генератором фреймов CFrameGenerator fg; //+------------------------------------------------------------------+ //| Tester function | //+------------------------------------------------------------------+ double OnTester() { //--- Insert here your own function for calculating the optimization criterion double TesterCritetia=MathAbs(TesterStatistics(STAT_SHARPE_RATIO)*TesterStatistics(STAT_PROFIT)); TesterCritetia=TesterStatistics(STAT_PROFIT)>0?TesterCritetia:(-TesterCritetia); //--- Call at each end of testing and pass the optimization criterion as a parameter fg.OnTester(TesterCritetia); //--- return(TesterCritetia); } //+------------------------------------------------------------------+ //| TesterInit function | //+------------------------------------------------------------------+ void OnTesterInit() { //--- Prepare the chart to show the balance graphs fg.OnTesterInit(3); //The parameter sets the number of balance lines on the chart } //+------------------------------------------------------------------+ //| TesterPass function | //+------------------------------------------------------------------+ void OnTesterPass() { //--- Process the testing results and show the graphics fg.OnTesterPass(); } //+------------------------------------------------------------------+ //| TesterDeinit function | //+------------------------------------------------------------------+ void OnTesterDeinit() { //--- End of optimization fg.OnTesterDeinit(); } //+------------------------------------------------------------------+ //| Handling of events on the chart | //+------------------------------------------------------------------+ void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { //--- Starts frames after the end of optimization when clicking on the header fg.OnChartEvent(id,lparam,dparam,sparam,100); // 100 is a pause between frames in ms } //+------------------------------------------------------------------+
표준 배송 팩으로 제공되는 Expert Advisor Moving Averages.mq5를 사용합니다. 코드를 붙여넣고 Expert Advisor를 Moving Averages With Frames.mq5로 저장합니다. 최적화를 컴파일하고 실행하십시오.
따라서 트레이더는 이제 시각적 최적화를 실행하고 그 결과를 처리하거나 최적화 프로세스 중에 필요한 정보를 표시 할 수 있습니다.
더 원하십니까?
우리는 트레이더를 돕는 새로운 도구를 추가하여 MetaTrader 5 거래 플랫폼의 가능성을 계속 확장하고 있습니다. 의견을 게시하고 전략 테스터에서 시각화를 더욱 개선하는 방법에 대한 아이디어를 공유하십시오. 우리는 그들 중 가장 흥미롭고 유용한 것을 구현하려고 노력할 것입니다.
파일 사용 방법
확장자가 .mqh 인 모든 파일은 MQL5\Include 폴더에 넣어야 합니다. 여기에서 컴파일러는 Moving Average_With_Frames.mq5 Expert Advisor를 컴파일 할 때 파일을 찾습니다. EA 파일은 MQL5\Experts 폴더 또는 하위 폴더에 바로 넣을 수 있습니다.
MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/403