Errores, fallos, preguntas - página 1943

 
Anton Ohmat:

2 preguntas.

1. Cómo mostrar los valores de los stops en MT5 como en MT4. Se volvió muy incómodo. Ya que ni siquiera puedo ver el historial de paradas para un acuerdo. Sólo aparecen por separado en los pedidos, ¿puedo comprobarlo de alguna manera?

2. ¿Qué cotizaciones utiliza el agente al realizar las pruebas: mi terminal o mis propias cotizaciones descargadas por el símbolo? Lo pregunto porque a menudo he notado diferencias entre los resultados del test del agente y el de mi PC

1. No hay historial de modificación de TakeProfit y StopLoss. El valor actual de TakeProfit y StopLoss siempre se muestra. Si quieres ver cómo se han movido el TakeProfit y el StopLoss, hazlo tú mismo. Gracias a las propiedadesPOSITION_REASON,DEAL_REASON yORDER_REASON

El Probador de Estrategias utiliza el historial de operaciones del servidor de operaciones en el que está registrado en la terminal.


Anton Ohmat:
Y una pregunta. ¿Es posible especificar algo en el EA durante las pruebas para que el backtest seleccione de una vez, por ejemplo, la salida de órdenes y operaciones por defecto? No es conveniente tener que hacer clic 100-200 veces por hora durante la depuración.

No, no puedes.

Anton Ohmat:

Parece que el fallo es que los objetos no se muestran en la pantalla en absoluto durante una sola prueba, sólo durante la visualización los objetos se muestran en la pantalla. El terminal se ha actualizado hoy ((((((

Tal vez puedas probarlo más antes de actualizar el software. Mató un par de horas antes de pensar que había un fallo en el terminal


Antes de llamar a algo "fallo", debería leer la documentación(Características de las pruebas - Trading Algorítmico, Robots de Trading) - lea toda la sección.

AntonOhmat:

Un problema común. Cuando 1-2 agentes se cuelgan y no cuentan nada. Me estoy cansando de este problema: toda la prueba se cuelga, lo que significa la pérdida de tiempo y dinero en la prueba(.

Estoy realmente harto de este problema - ¿hay alguna manera de arreglarlo, por ejemplo, si un agente cuenta más lento que otros 200-300 agentes, entonces no lo esperes o exclúyelo completamente. Las pruebas fallan en 500-600 ejecuciones.

Como una manera de salir de la situación - manualmente apagar y luego encender y todo funciona hasta que algún agente de desaceleración y luego todo de nuevo.

Trabaje con su código - 99,9% - tiene un registro lleno de errores como "no hay dinero para abrir una posición".

Anton Ohmat:

Por favor, aconsejar cómo tamizar los valores con gran reducción de los resultados de la optimización, ya que era en mt4


Probador de Estrategias -> pestaña "Optimización" -> doble clic en el título de la fila "Reducción, %" ordenará los resultados de la prueba por aumento/disminución de la reducción.

 
Anton Ohmat:

Un problema común. Cuando 1-2 agentes cuelgan y no cuentan nada. Como resultado, toda la prueba se cuelga, respectivamente, la pérdida de tiempo y dinero en la prueba(.

Realmente harto de este problema - ¿hay alguna manera de solucionarlo, por ejemplo, si un agente cuenta más lento que otros 200-300 agentes, entonces no espera o lo excluye por completo. Las pruebas se bloquean en 500-600 ejecuciones.

Como salida - apagar manualmente y luego encender y todo funciona hasta que algún agente de retraso y luego todo de nuevo

Trate de hacer OrderSend sólo después deOrderCheck exitosa. Si no sirve de nada, acude a SR.

 

El Asesor Experto está compilado bajo 1641, que tiene una historia de comercio rápido.

¿Es posible que durante la optimización se llegue al Agente de la build 1596, donde el historial funciona MUY lentamente, y por tanto la optimización se ralentiza muchas veces?

 

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:13

Tomamos el EA de la entrega y lo ejecutamos en el probador, obteniendo estos datos de rendimiento

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.231 s.: Count = 3387955, 1518581.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.214 s.: Count = 3387955, 1530241.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.214 s.
iMax = 0 Results[iMax] = 2.231 s.
Amount = 2 Mean = 2.223 s. - 79.08%
OnTesterDeinit
------
Interval = 5.621 s., Count = 0, 0.0 unit/sec

Ahora vamos a ejecutar el mismo EA, pero utilizando Trade.mqh

------
OnTesterInit
i = 0 Pass = 0 OnTester = 3.330 s.: Count = 3387955, 1017403.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 3.475 s.: Count = 3387955, 974951.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 0 Results[iMin] = 3.330 s.
iMax = 1 Results[iMax] = 3.475 s.
Amount = 2 Mean = 3.402 s. - 89.73%
OnTesterDeinit
------
Interval = 7.584 s., Count = 0, 0.0 unit/sec

¡Ha resultado que Trade SB es 1,5 veces más lento que MQL5 puro!

Supuse que esta era la razón, así que hice una pequeña corrección en Trade.mqh

//+------------------------------------------------------------------+
//| Access functions PositionSelect(...)                             |
//+------------------------------------------------------------------+
bool CPositionInfo::Select(const string & symbol)
  {
   return(PositionSelect(symbol));
  }

Pero la ralentización de la variante SB no ha desaparecido.

¿Cuál es la razón de la lentitud del SB?

 

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:24

Ese era el modo de optimización. Y ahora ESTE mismo EA, pero en modo de ejecución única

Core 1  2017.07.21 23:59:59   Interval = 5.140 s., Count = 3387955, 659135.2 unit/sec
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:05.164.

La ejecución individual en el Agente local es 2,3 veces más lenta que en ESTE mismo Agente, ¡pero durante la Optimización!


Tal vez sea la lentitud del probador, así que veamos lo que muestra el perfilado de OnTick (los problemas de ejecución y otros entornos de negociación no afectarán al resultado) en los modos de optimización y ejecución única.


Optimización

------
OnTesterInit
i = 0 Pass = 0 OnTester = 2.910 s.: OnTick Profiler: Count = 3387955, Interval = 0.969 s., 3496753.0 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
i = 1 Pass = 1 OnTester = 2.862 s.: OnTick Profiler: Count = 3387955, Interval = 0.952 s., 3559797.1 unit/sec , Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1641
iMin = 1 Results[iMin] = 2.862 s.
iMax = 0 Results[iMax] = 2.910 s.
Amount = 2 Mean = 2.886 s. - 78.06%
OnTesterDeinit
------
Interval = 7.394 s., Count = 0, 0.0 unit/sec


Una sola pasada

Core 1  2017.07.21 23:59:59   Interval = 6.149 s. (Profiler: Count = 3387955, Interval = 4.018 s., 843148.2 unit/sec)
Core 1  EURUSD,M1: 3387955 ticks, 52608 bars generated. Test passed in 0:00:06.162.


La ejecución neta del propio OnTick es 4,2 veces más lenta en el modo de ejecución única que en el modo de optimización. ¡Y eso en el mismo agente local!

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bibliotecas: TesterBenchmark

fxsaber, 2017.07.24 14:33

La misma situación en MT4 también. Probablemente los frenos en la 4 debido a la formación de troncos durante el paso simple.

 

Si aplica un indicador MT5 a un gráfico que permite seleccionar colores y luego lo recompila, los colores se restablecen al original y los demás ajustes se mantienen.

El hecho de que los colores se restablezcan es extremadamente inconveniente, especialmente si el indicador es MTF y los colores están ligados al TF.

 
Trabaja con tu código - 99,9% - tienes un registro lleno de errores como "no hay dinero para abrir una posición".

Me senté y esperé a ver qué me devolvía el lento agente. Al final ha devuelto el error INIT_PARAMETERS_INCORRECT (no se ha realizado ninguna operación). Lo que, en mi caso, indica que los parámetros de entrada no encajan. Así que con una probabilidad de 99 sobre 100 puedo decir que alguien acaba de conectar un viejo portátil al sistema. La idea carece de sentido por ello. Observado en MQL5 Cloud USA


Está en los registros

MQL5 Cloud USA pase genético (0, 206) probado con error "parámetros de entrada incorrectos" a las 0:00:00.359 (PR 142)

 

Pregunta para los desarrolladores (me disculpo si los estoy aburriendo)

No entiendo - mi algoritmo genético dice 12000 pases, pero mis agentes realmente realizan sólo 9000 pases. - ¿Qué pasa con otros 3000 resultados?

 
Antes de llamar a algo "fallo" deberías estudiar la documentación (Особенности тестирования - Алгоритмический трейдинг, торговые роботы) - lee toda la sección.
Графические объекты при тестировании

Во время тестирования/оптимизации не осуществляется построение графических объектов. Таким образом, при обращении к свойствам созданного объекта во время тестирования/оптимизации эксперт получит нулевые значения.

Данное ограничение не распространяется на тестирование в визуальном режиме.
Entonces, ¿cómo puedo ver si el robot ha puesto bien los stops en el gráfico aparte de la visualización? La visualización es lenta (
 
fxsaber:

El Asesor Experto está compilado bajo 1641, que tiene una historia de comercio rápido.

¿Es posible que durante la optimización se llegue al Agente de la build 1596, donde el historial funciona MUY lentamente, y por tanto la optimización se ralentiza muchas veces?

No, las tareas no se distribuyen a los agentes antiguos en las cludes.