Librerías: MultiTester - página 11

 

A veces es necesario limpiar la carpeta Tester. Por ejemplo, un archivo opt modesto tiene un tamaño de ~ 2Mb. Si se realizan 10K optimizaciones, ya son 20 Gb. 10K caracteres - de forma similar.

Puede encontrarse con una carpeta demasiado hinchada.

 

Traté de escribir estas líneas en mi EA y ejemplo como"Moving Average", mi propósito es optimizar todos mis símbolos de vigilancia del mercado, pero tengo la siguiente respuesta, agradecería un poco de ayuda allí.


#include <fxsaber\MultiTester\MultiTester.mqh>

y

void SetTesterSettings()


 
herrcrowley:

Traté de escribir estas líneas en mi EA y ejemplo como "Media móvil", mi propósito es optimizar todos mis símbolos de vigilancia del mercado, pero tengo la siguiente respuesta, agradecería un poco de ayuda allí.

Configure su EA en el Tester. A continuación, ejecute MultiTester_Example en Terminal.

 

Hola de nuevo,

muchas gracias por tu consejo, ahora cuando pruebo con "simbolos de aduana" en true, multitester no funciona y en false solo prueba el simbolo real a probar.


 
herrcrowley:

muchas gracias por tu consejo, ahora cuando pruebo con "simbolos aduaneros" en true, multitester no funciona y en false solo prueba el simbolo real a probar.

Por desgracia, la barrera del idioma u otro obstáculo no me permite averiguar lo que está mal.

 

Por alguna razón desconocida, varias ejecuciones de prueba descargan el script. No ocurre siempre, a veces antes, a veces después. Acaba de ocurrir en la iteración 413, por ejemplo. IsStopped se pone a true y el script se descarga, fastidiando todo el trabajo en medio del caso. No hay mensajes de error. Los mensajes de depuración muestran que ocurre después de Sleep(100) después de SendMessageW(Handle, WM_COMMAND, ID_EDIT_PASTE, 0);

en la llamada de static bool SetSettings( const string Str )

A continuación se muestra el conjunto mínimo para jugar. Pero sospecho que es MetaTrader después de todo. Build 2245, pero es el mismo en la última build 2253. Build 2190 también lo tiene, tal vez antes también.

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:

A continuación se indica el mínimo establecido para la reproducción.

No hay reproducción. Todas las 1000 tareas funcionan. Pero debes tener marcada la casilla de apertura automática de los gráficos de backtest, ya que cierras los gráficos por código. Yo tengo esta opción desactivada. Tal vez esta sea la razón.

 
fxsaber:

la apertura automática del gráfico de backtest está marcada.

Te voy a hacer una pregunta más floja. ¿Dónde está esta casilla? No pude encontrarlo en MT5.

 
traveller00:

Esta va a ser una pregunta más floja. ¿Dónde está esta casilla? No pude encontrarlo en MT5.

 
traveller00:

Tu script debería suspender el Terminal si intentas eliminarlo.