MetaTrader 5 Strategy Tester: bugs, bugs, sugestões para melhorias - página 60

 
Slava:

Teste/optimização em carraças reais?

Agentes próprios ou da nuvem?

Se testes com um símbolo personalizado, então os agentes de nuvens caem. Assim, os agentes são os seus próprios, e pode puxar os seus troncos e ver nos registos como a história foi sincronizada

Personalização, agentes proprietários, sincronização sem erros em carraças reais. Conselheiro especializado para a repetição.

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

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.

Pelo valor da primeira linha, é imediatamente claro que o valor é um disparate: não pode ser tão diferente dos valores das outras linhas.


E a gerir um único.


99% de lixo em carraças durante a optimização da AG. Informe-me se foi capaz de o reproduzir ou não.

Cadeia de pesquisa: Oshibka 005.
 
fxsaber:

Personalização, agentes próprios, sincronização sem erros em carraças reais. EA para reprodução.


Resultado.

Pelo valor da primeira linha, é imediatamente claro que o valor é um disparate: não pode ser tão diferente dos valores das outras linhas.


E a gerir um único.


99% de lixo em carraças durante a optimização da AG. Informe-me se foi capaz de o reproduzir ou não.

Cadeia de pesquisa: Oshibka 005.

Ter de olhar para o registo de optimização do agente no qual foi emitido o valor absurdo.

E o registo do teste do correspondente passe único.

 
Slava:

É necessário consultar o registo de optimização do agente sobre o qual foi emitido o valor absurdo.

E um registo de teste do correspondente passe único.

Veja-se o valor único. É correcto e muito diferente de todos os valores Optimizer, e não apenas de um. Isto é, o erro está literalmente em todas as linhas do Optimizer.

Vou olhar para os registos. Seria bom para si que o gerisse por conta própria.

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
Realçou o valor correcto. Percorreu o diário de bordo. Apenas o Core1 tem o valor correcto.
 
fxsaber:

Percorreu o diário de bordo. Apenas o Core1 tem o valor correcto.

Completamente localizado. O passe único no Core1 não corresponde ao passe único no Core2. Por isso, ainda não consigo dizer qual deles está correcto.

 
fxsaber:

Completamente localizado. O passe único no Core1 não é o mesmo que o passe único no Core2. Por isso, ainda não posso dizer qual deles está correcto.

O que há nos registos dos agentes? É aí que a sincronização da história é escrita.
 
Slava:
O que há nos registos dos agentes? É aí que a sincronização da história é escrita.

Experimentou caracteres diferentes, uma vez que nem sempre se reproduz. Registos de Agentes na Optimização.

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


Core2.

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:

Experimentou caracteres diferentes, uma vez que nem sempre se reproduz. Registos de Agentes na Optimização.

Núcleo1.


Core2.

E num destes agentes obteve os resultados errados?
 
Slava:
E num destes agentes obteve os resultados errados?

Não tinha nenhum registo dessa situação, pois tinha proibido escrever registos. Assim, tive de começar outra cópia do Terminal a partir do zero e repetir a experiência, onde os registos estão todos escritos.

Acima estão os registos de Optimização. Aí cada Agente contou dois passes, após os quais o botão Stop foi premido, porque os resultados do OnTester estão a divagar para cada um dos Agentes.

Os registos dos dois agentes acima mencionados. Vou tentar criar uma situação que possa reproduzir por si próprio.

 
fxsaber:

Não tinha nenhum registo dessa situação, pois tinha proibido escrever registos. Assim, tive de começar outra cópia do Terminal a partir do zero e repetir a experiência, onde os registos estão todos escritos.

Acima estão os registos de Optimização. Aí cada Agente contou dois passes, após os quais o botão Stop foi premido, porque os resultados do OnTester estão a divagar para cada um dos Agentes.

Os registos dos dois agentes acima mencionados. Vou tentar criar uma situação que possa reproduzir por si próprio.

É exactamente isso que estou a perguntar sobre os registos dos Agentes. Os resultados foram errados para ambos os agentes?

Preciso de ver registos de agentes com resultados correctos e registos de agentes com resultados incorrectos

 
Slava:

Estou a perguntar especificamente sobre os registos dos agentes. Os resultados foram errados para ambos os agentes?

Preciso de ver registos de agentes com resultados correctos e registos de agentes com resultados incorrectos

Ambos os agentes tiveram os resultados errados para os passes de optimização. Quase consegui reproduzi-lo num terminal limpo. Publicá-lo-ei daqui a pouco.


ZS A propósito, qual é a razão pela qual os Agentes continuam pendurados na memória depois de fecharem o Terminal?