거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Twitter에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
23
평가:
(36)
게시됨:
2025.04.04 10:53
\MQL5\Experts\fxsaber\ \MQL5\Include\fxsaber\MultiTester\
Settings.mqh (1.35 KB) 조회
String.mqh (1.29 KB) 조회
Task.mqh (7.66 KB) 조회
MTTester.mqh (120.02 KB) 조회
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

여러 종목에 대해 전문가 조언을 실행해야 할 때가 있습니다. 이를 위해 MT5 테스터에는 "마켓워치 창에서 선택한 모든 종목" 모드가 있습니다. 이를 통해 여러 종목에 대해 동일한 EA 설정을 실행할 수 있습니다.


그러나 때로는 MT5 테스터를 여러 번 실행해야 할 때가 있습니다. 이 라이브러리를 사용하면 가능합니다.


특징.

기호, 차트주기, 간격을 원하는 만큼 조합하여 설정할 수 있습니다. 또한 단일 실행뿐만 아니라 앞으로를 포함한 최적화도 수행합니다.


시나리오.

  • 어떤 심볼 및/또는 간격 및/또는 시간대에 TS가 좋은 결과를 보이는지 연구합니다.
  • TS의 자동 최적화 가능성을 평가하기 위해 연속적인 간격으로 최적화를 수행합니다.


사용법.

필요에 따라 MT5-Tester를 구성합니다.

그림은 특정 간격으로 실제 틱에 대해 완전 무차별 대입으로 최적화가 수행됨을 보여줍니다.


필요한 최적화 목록을 만듭니다. 예를 들어 이 라이브러리 제공에서 전문가 조언자를 실행할 수 있습니다.

그림과 같이 설정하면 마켓 워치의 모든 종목에 대해 최적화를 실행하고 각 종목에 대해 M1 및 M15 주기로 최적화합니다.


결과는 다음과 같습니다.


이제 표준 MT5 테스터 도구를 사용하여 최적화 결과를 안전하게 확인할 수 있습니다.


프로그래밍.

예제1.

아주 간단한 예시를 먼저 살펴봅시다.

    #include <fxsaber\MultiTester\MultiTester.mqh> // 테스터에서 여러 번 실행/최적화.
    
    // 이 함수는 작업 목록 생성을 담당합니다..
    void SetTesterSettings()
    {
      TesterSettings.Add("AUDCAD"); // 테스터에 지정된 설정으로 AUDCAD를 실행합니다.
      
      TesterSettings.Add("EURUSD", PERIOD_H1); // 테스터에 지정된 설정으로 EURUSD H1을 실행합니다.
      
      TesterSettings.Add("GBPUSD", PERIOD_M6, D'2019.07.01', D'2019.09.01'); // 지정된 간격으로 GBPUSD M6를 실행합니다.
    }

    이 EA를 실행한 결과는 소스 코드에서 읽은 설정으로 테스터를 세 번 호출하는 것입니다.


    예제2.

    처음에 제공된 실행 데모인 Expert Advisor의 소스 코드를 분석해 보겠습니다.

    #include <fxsaber\MultiTester\MultiTester.mqh> // 테스터의 여러 실행/최적화.
    
    sinput bool Period_M1 = false;         // M1 켜기
    sinput bool Period_M5 = false;         // M5 켜기
    sinput bool Period_M15 = false;        // M15 켜기
    sinput bool  false; // 사용자 지정 문자만 해당
    
    // 이 함수는 작업 목록 생성을 담당합니다.
    void SetTesterSettings()
    {
      // 마켓 워치에서 모든 심볼을 검색합니다.
      for (int i = SymbolsTotal(true) - 1; i >= 0; i--)
      {
        const string Name = SymbolName(i, true);
    
        if (!OnlyCustomSymbols || SymbolInfoInteger(Name, SYMBOL_CUSTOM))
        {
          if (Period_M1)
            TesterSettings.Add(Name, PERIOD_M1); // M1이 설정된 경우 이 TF로 각 문자를 추가합니다.
    
          if (Period_M5)
            TesterSettings.Add(Name, PERIOD_M5); // M1이 설정된 경우 이 TF로 각 문자를 추가합니다.
    
          if (Period_M15)
            TesterSettings.Add(Name, PERIOD_M15); // M15가 설정된 경우, 이 TF로 각 기호를 추가합니다.
    
          if (!Period_M1 && !Period_M5 && !Period_M15) // TF가 설정되어 있지 않은 경우 TF에서 전문가 어드바이저를 실행해 보겠습니다.
            TesterSettings.Add(Name);
        }
      }
    }

    두 번째 예는 마켓 워치에서 표시된 TF와 기호를 기반으로 작업 목록을 생성합니다. 다시 한 번 소스 코드의 주석을 살펴봅시다.


    따라서 이 문자열을 작성하기만 하면 됩니다.

    #include <fxsaber\MultiTester\MultiTester.mqh> // 테스터에서 여러 번 실행/최적화.


    을 작성하고 직관적인 방식으로 작업을 생성하는 함수 하나만 작성하면 됩니다.

    // 이 함수는 작업 목록 생성을 담당합니다.
    void SetTesterSettings()


    기능

    • DLL 사용 권한이 필요합니다. user32.dll의 여러 WinAPI 함수가 호출됩니다. 따라서 우회하지 않는 한 마켓에 적합하지 않습니다.
    • 배달에 포함된 MTTester.mqh 파일에는 다른 프로젝트에서 편리하게 사용할 수 있는 MT5 테스터 제어 방법이 포함되어 있습니다.
    • 중단된 곳에서 작업을 재개할 수 있습니다.

    MetaQuotes Ltd에서 러시아어로 번역함.
    원본 코드: https://www.mql5.com/ru/code/26132

    팬 프리즈마 레버리지 없음 72 팬 프리즈마 레버리지 없음 72

    4도의 다항식으로 움직이는 선을 만듭니다. 정현파와 그 축을 추정합니다. 구성된 선은 각 막대에서 하나의 값을 제거하고 다시 그려지지 않는 외삽된 값의 슬라이딩 선이 만들어집니다.

    MA 트렌드 2 MA 트렌드 2

    iMA 지표(이동평균, MA)에 의한 트레이딩 시스템. MA 추세 개발.

    콘솔형 차트 텍스트 출력에 최적화된 디스플레이 콘솔형 차트 텍스트 출력에 최적화된 디스플레이

    이 라이브러리를 사용하면 최적의 속도로 차트에 텍스트 정보를 쉽게 출력할 수 있는 디스플레이를 만들 수 있습니다.

    수동 위치 추적 패널 수동 위치 추적 패널

    CDialog 클래스에 기반한 패널입니다. 현재 심볼에서 작업합니다. 포지션 그룹에서 삭제, 이익실현, 손익분기점 설정하기