Probador de Estrategias de MetaTrader 5: errores, fallos, sugerencias de mejora - página 60

 
Slava:

¿Pruebas/optimización en garrapatas reales?

¿Agentes propios o desde la nube?

Si las pruebas se realizan en un símbolo personalizado, los agentes de la nube desaparecen. Así que los agentes son suyos, y puedes sacar sus registros y ver en los registros cómo se sincronizó el historial

Agentes propios y personalizados, sincronización sin errores en ticks reales. Asesor experto para la repetición.

// Критерий оптимизации - сумма входных параметров + сумма нецелых частей секунды каждого тика (в миллисекундах).

input int inFakeRange1 = 0;
input int inFakeRange2 = 0;
input int inFakeRange3 = 0;
input int inFakeRange4 = 0;
input int inFakeRange5 = 0;

long Sum = inFakeRange1 + inFakeRange2 + inFakeRange3 + inFakeRange4 + inFakeRange5;

void OnTick()
{
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick))
    Sum += Tick.time_msc % 1000;
}

double OnTester()
{
  return((double)Sum);
}


Resultado.

Por el valor de la primera línea, queda inmediatamente claro que el valor no tiene sentido: no puede ser tan diferente de los valores de las otras líneas.


Y corriendo un solo.


99% de basura en los ticks durante la optimización GA. Dime si fuiste capaz de reproducirlo o no.

Cadena de búsqueda: Oshibka 005.
 
fxsaber:

Agentes propios y personalizados, sincronización sin errores en ticks reales. EA para la reproducción.


Resultado.

Por el valor de la primera línea, queda inmediatamente claro que el valor no tiene sentido: no puede ser tan diferente de los valores de las otras líneas.


Y corriendo un solo.


99% de basura en los ticks durante la optimización GA. Dime si fuiste capaz de reproducirlo o no.

Cadena de búsqueda: Oshibka 005.

Hay que mirar el registro de optimización del agente en el que se emitió el valor sin sentido.

Y el registro de pruebas de la correspondiente pasada única.

 
Slava:

Hay que mirar el registro de optimización del agente en el que se emitió el valor sin sentido.

Y un registro de pruebas de la correspondiente pasada única.

Mira el valor único. Es correcto y muy diferente de todos los valores del optimizador, no sólo de uno. Es decir, el error está literalmente en cada línea del optimizador.

Miraré los registros. Sería bueno que lo hicieras por tu cuenta.

2020.02.20 10:47:18.839 Core 6  genetic pass (5, 312) returned result 10563025086.000000 in 0:00:05.475
2020.02.20 10:47:20.023 Core 2  genetic pass (5, 209) returned result 8885031952.000000 in 0:00:04.947
2020.02.20 10:47:23.048 Core 3  genetic pass (5, 240) returned result 10373435790.000000 in 0:00:05.984
2020.02.20 10:47:23.366 Core 1  genetic pass (5, 181) returned result 10236426953.000000 in 0:00:05.654
2020.02.20 10:47:24.069 Core 4  genetic pass (5, 271) returned result 10597154696.000000 in 0:00:05.768
2020.02.20 10:47:24.509 Core 5  genetic pass (5, 296) returned result 10580660389.000000 in 0:00:05.853
2020.02.20 10:47:24.613 Core 6  genetic pass (5, 313) returned result 10563025078.000000 in 0:00:05.774
2020.02.20 10:47:25.113 Core 2  genetic pass (5, 218) returned result 8885031945.000000 in 0:00:05.089
Resaltar el valor correcto. Revisa el registro. Sólo Core1 tiene el valor correcto.
 
fxsaber:

Revisa el registro. Sólo Core1 tiene el valor correcto.

Completamente localizado. El pase único en Core1 no coincide con el pase único en Core2. Así que todavía no puedo decir cuál es la correcta.

 
fxsaber:

Completamente localizado. El pase único en Core1 no es el mismo que el pase único en Core2. Así que todavía no puedo decir cuál es la correcta.

¿Qué hay en los registros de los agentes? Ahí es donde se escribe la sintonía de la historia.
 
Slava:
¿Qué hay en los registros de los agentes? Ahí es donde se escribe la sintonía de la historia.

He probado con diferentes personajes ya que no siempre se reproduce. Registros de agentes en la optimización.

Núcleo1.

EL      0       12:57:18.438    127.0.0.1       login (build 2323)
ND      0       12:57:18.455    Tester  account info found with currency USD
FO      0       12:57:18.456    Network 1482 bytes of tester parameters loaded
FF      0       12:57:18.456    Network 2748 bytes of input parameters loaded
DS      0       12:57:18.456    Tester  expert file added: Experts\Test123.ex5. 12221 bytes loaded
NK      0       12:57:18.456    Network 1032 bytes of optimized inputs info loaded
PM      0       12:57:18.527    Tester  successfully initialized
GE      0       12:57:18.527    Network 12 Kb of total initialization data received
JR      0       12:57:18.528    Tester  Intel Core i7-2700 K  @ 3.50 GHz, 16301 MB
OE      0       12:57:18.528    Tester  optimization pass 35025 started (batch of 53 tasks)
QQ      0       12:57:18.529    Symbols CHFJPY.rann_RannForex: symbol to be synchronized
RP      0       12:57:18.529    Symbols CHFJPY.rann_RannForex: symbol synchronized, 3720 bytes of symbol info received
LF      0       12:57:18.534    History CHFJPY.rann_RannForex: load 444 bytes of history data to synchronize in 0:00:00.001
EK      0       12:57:18.534    History CHFJPY.rann_RannForex: history synchronized from 2018.02.26 to 2020.02.14
FL      0       12:57:18.537    Ticks   CHFJPY.rann_RannForex: ticks synchronization started
ML      0       12:57:18.538    Ticks   CHFJPY.rann_RannForex: load 64 bytes of tick data to synchronize in 0:00:00.000
MK      0       12:57:18.538    Ticks   CHFJPY.rann_RannForex: history ticks synchronized from 2019.06.03 to 2020.02.14
MG      0       12:57:18.882    History CHFJPY.rann_RannForex,M1: history cache allocated for 740490 bars and contains 469972 bars from 2018.02.26 00:08 to 2019.05.31 23:54
CD      0       12:57:18.882    History CHFJPY.rann_RannForex,M1: history begins from 2018.02.26 00:08
QG      0       12:57:26.327    Tester  35025 OnTester result 6963974890 : passed in 0:00:07.795
JQ      0       12:57:31.481    Tester  5593 OnTester result 10077649365 : passed in 0:00:05.153
CE      0       12:57:32.683    127.0.0.1       tester forced to stop
DS      0       12:57:32.684    Tester  2 of 53 passes processed (2 successfully finished) in 0:00:12.948
CS      0       12:57:32.684            optimize Experts\Test123.ex5 on CHFJPY.rann_RannForex,M1 thread finished
HE      0       12:57:32.684    127.0.0.1       prepare for shutdown


Núcleo2.

OS      0       12:57:18.438    127.0.0.1       login (build 2323)
IG      0       12:57:18.456    Tester  account info found with currency USD
OL      0       12:57:18.460    Network 1482 bytes of tester parameters loaded
OE      0       12:57:18.460    Network 2748 bytes of input parameters loaded
EP      0       12:57:18.460    Tester  expert file added: Experts\Test123.ex5. 12221 bytes loaded
GJ      0       12:57:18.460    Network 1032 bytes of optimized inputs info loaded
FM      0       12:57:18.532    Tester  successfully initialized
QJ      0       12:57:18.532    Network 12 Kb of total initialization data received
IS      0       12:57:18.532    Tester  Intel Core i7-2700 K  @ 3.50 GHz, 16301 MB
OG      0       12:57:18.532    Tester  optimization pass 115298 started (batch of 18 tasks)
IQ      0       12:57:18.533    Symbols CHFJPY.rann_RannForex: symbol to be synchronized
KP      0       12:57:18.533    Symbols CHFJPY.rann_RannForex: symbol synchronized, 3720 bytes of symbol info received
KE      0       12:57:18.545    History CHFJPY.rann_RannForex: load 444 bytes of history data to synchronize in 0:00:00.002
FD      0       12:57:18.545    History CHFJPY.rann_RannForex: history synchronized from 2018.02.26 to 2020.02.14
DK      0       12:57:18.546    Ticks   CHFJPY.rann_RannForex: ticks synchronization started
PO      0       12:57:18.547    Ticks   CHFJPY.rann_RannForex: load 64 bytes of tick data to synchronize in 0:00:00.000
HJ      0       12:57:18.547    Ticks   CHFJPY.rann_RannForex: history ticks synchronized from 2019.06.03 to 2020.02.14
JH      0       12:57:18.856    History CHFJPY.rann_RannForex,M1: history cache allocated for 740490 bars and contains 469972 bars from 2018.02.26 00:08 to 2019.05.31 23:54
PS      0       12:57:18.856    History CHFJPY.rann_RannForex,M1: history begins from 2018.02.26 00:08
EF      0       12:57:25.613    Tester  115298 OnTester result 14612465132 : passed in 0:00:07.073
GP      0       12:57:30.797    Tester  26858 OnTester result 9858144627 : passed in 0:00:05.184
DR      0       12:57:32.684    127.0.0.1       tester forced to stop
NR      0       12:57:32.684    Tester  2 of 18 passes processed (2 successfully finished) in 0:00:12.257
CP      0       12:57:32.684            optimize Experts\Test123.ex5 on CHFJPY.rann_RannForex,M1 thread finished
GF      0       12:57:32.685    127.0.0.1       prepare for shutdown
 
fxsaber:

He probado con diferentes personajes ya que no siempre se reproduce. Registros de agentes en la optimización.

Núcleo1.


Núcleo2.

¿Y en uno de estos agentes obtuvo resultados erróneos?
 
Slava:
¿Y en uno de estos Agentes obtuvo resultados erróneos?

No tenía ningún registro de esa situación, ya que tenía prohibido escribir registros. Así que tuve que iniciar otra copia de la Terminal desde cero y repetir el experimento, donde los registros están todos escritos.

Arriba están los registros de optimización. Allí cada Agente contó dos pasadas, tras las cuales se pulsó el botón de Stop, ya que los resultados de OnTester son ramificados para cada uno de los Agentes.

Los registros de los dos Agentes anteriores. Intentaré crear una situación que puedas reproducir por ti mismo.

 
fxsaber:

No tenía ningún registro de esa situación, ya que tenía prohibido escribir registros. Así que tuve que iniciar otra copia de la Terminal desde cero y repetir el experimento, donde los registros están todos escritos.

Arriba están los registros de optimización. Allí cada Agente contó dos pasadas, tras las cuales se pulsó el botón de Stop, ya que los resultados de OnTester son ramificados para cada uno de los Agentes.

Los registros de los dos Agentes anteriores. Intentaré crear una situación que puedas reproducir por ti mismo.

Eso es exactamente lo que pregunto sobre los registros de los Agentes. ¿Los resultados fueron erróneos para ambos agentes?

Necesito ver los registros de los agentes con resultados correctos y los registros de los agentes con resultados incorrectos

 
Slava:

Pregunto específicamente por los registros de los agentes. ¿Los resultados fueron erróneos para ambos agentes?

Necesito ver los registros de los agentes con resultados correctos y los registros de los agentes con resultados incorrectos

Ambos Agentes obtuvieron resultados erróneos en los pases de optimización. Casi logré reproducirlo en una Terminal limpia... Lo publicaré dentro de un rato.


ZS Por cierto, ¿cuál es la razón por la que los Agentes siguen colgados en la memoria después de cerrar el Terminal?