라이브러리: 멀티 테스터 - 페이지 11

 

때때로 테스터 폴더를 정리해야 하는 경우가 있습니다. 예를 들어, 적당한 옵트 파일 크기는 ~ 2Mb입니다. 10K 최적화가 수행되면 이미 20Gb입니다. 10K 문자 - 마찬가지로.

너무 부풀어 오른 폴더가 있을 수 있습니다.

 

내 EA와 예제에"이동 평균" 으로이 줄을 작성하려고 시도했지만 내 목적은 모든 시장 시계 기호를 최적화하는 것이지만 다음과 같은 답변이 있습니다.


#include <fxsaber\MultiTester\MultiTester.mqh>

그리고

void SetTesterSettings()


 
herrcrowley:

내 EA와 예제에 "이동 평균"으로이 줄을 작성하려고 시도했지만 내 목적은 모든 시장 시계 기호를 최적화하는 것이지만 다음과 같은 답변이 있습니다.

테스터에서 EA를 설정합니다. 그런 다음 터미널에서 멀티테스터_예제를 실행합니다.

 

안녕하세요,

이제 "세관 기호"를 참으로 테스트 할 때 멀티 테스터가 작동하지 않고 거짓으로 테스트 할 실제 기호 만 테스트 할 때 조언 해 주셔서 감사합니다.


 
herrcrowley:

이제 "세관 기호"를 참으로 테스트 할 때 멀티 테스터가 작동하지 않고 거짓으로 테스트 할 실제 기호 만 테스트 할 때 조언 해 주셔서 감사합니다.

안타깝게도 언어 장벽이나 기타 장애물로 인해 무엇이 잘못되었는지 파악할 수 없습니다.

 

알 수 없는 이유로 여러 번의 테스트 실행이 스크립트를 언로드합니다. 항상 발생하는 것은 아니며 때로는 더 일찍, 때로는 더 늦게 발생합니다. 예를 들어 413번 반복에서 방금 이런 일이 발생했습니다. IsStopped가 true로 설정되어 있는데 스크립트가 언로드되어 중간에 전체 작업이 망가집니다. 오류 메시지는 없습니다. 디버그 메시지에 따르면 SendMessageW(Handle, WM_COMMAND, ID_EDIT_PASTE, 0) 이후 Sleep(100) 이후에 발생하는 것으로 나타났습니다;

정적 불 SetSettings( const 문자열 Str ) 호출에서 발생합니다.

아래는 최소한의 설정입니다. 하지만 결국 메타트레이더인 것 같습니다. 빌드 2245이지만 최신 빌드 2253에서도 동일합니다. 2190 빌드에도 이 기능이 있고, 어쩌면 그 이전 버전에도 있을 수 있습니다.

bool CloseAllOtherCharts()
{
  bool Res=false;
  for (long Chart = ::ChartFirst(); Chart != -1; Chart = ::ChartNext(Chart))
  {
    if(Chart != ::ChartID())
      Res |= ::ChartClose(Chart);
  }
  return Res;
}

void StartTest(string SymbName)
{
    string TesterInput = "[Tester]"+
                         "\nExpert=ChanRet"+
                         "\nSymbol="+SymbName+
                         "\nPeriod=M1"+
                         "\nOptimization=0"+
                         "\nModel=4"+
                         "\nFromDate=01.09.2019"+
                         "\nToDate=01.12.2019"+
                         "\nForwardMode=0"+
                         "\nDeposit=10000000"+
                         "\nCurrency=RUR"+
                         "\nProfitInPips=1"+
                         "\nLeverage=100"+
                         "\nExecutionMode=0"+
                         "\nOptimizationCriterion=6"+
                         "\nVisual=0";
    MTTESTER::SetSettings2(TesterInput);
    MTTESTER::ClickStart();
    while(!MTTESTER::IsReady() && !IsStopped())
      Sleep(100);
    CloseAllOtherCharts();
}

void OnStart()
{
  for(int i=0;i!=1000 && !IsStopped();++i)
  {
    StartTest("AFLT-12.19");
    StartTest("ALRS-12.19");
    Print((string)i);
  }
}
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Импортируемая функция не может иметь такого параметра (нельзя передавать указатель, класс или структуру, содержащую динамический массив, указатель, класс и т.д.) Недопустимый возвращаемый тип. Например, такая ошибка будет...
 
traveller00:

아래는 재생을 위한 최소 설정입니다.

재생 안 함. 1000개 작업 모두 작동합니다. 그러나 코드에 의해 차트를 닫으므로 백테스트 차트 자동 열기 확인란을 선택해야 합니다. 이 옵션을 비활성화했습니다. 아마도 이것이 이유일 것입니다.

 
fxsaber:

를 선택하면 백테스트 차트가 자동으로 열립니다.

좀 더 평범한 질문을 하겠습니다. 이 체크박스는 어디에 있나요? MT5에서 찾을 수 없습니다.

 
traveller00:

이건 좀 지루한 질문이 될 것 같습니다. 이 체크박스는 어디에 있나요? MT5에서 찾을 수 없습니다.

 
traveller00:

터미널을 제거하려고 하면 스크립트에서 터미널을 일시 중단해야 합니다.