Errori, bug, domande - pagina 1624

 

Sto scrivendo un Expert Advisor che chiama l'indicatore ex5. L'Expert Advisor funziona correttamente nel tester della strategia, ma se eseguo l'ottimizzazione, gli agenti si bloccano alla fine dell'esecuzione:

Se premo il pulsante di chiusura, dopo un po' di tempo l'agente si riavvia e fa una nuova corsa, poi si blocca di nuovo.

L'analisi dei registri non ha dato nulla:

NR      0       15:51:49.391    Tester  register MQL5.community account and use MQL5 Cloud Network to speed up optimizations
RE      0       15:51:49.412    Tester  Experts\PowerTrender.ex5 on RTS Splice,H1 from 2016.01.01 00:00 to 2016.08.01 00:00
QJ      0       15:51:49.514    Tester  RTS Splice: history data begins from 2007.08.23 00:00
QP      0       15:51:49.514    Tester  complete optimization started
RF      0       15:51:49.514    Tester  size of initial task batch is 10
IS      0       15:51:49.523    Tester  file cache Z:\MetaTrader 5\tester\cache\PowerTrender.RTS Splice.H1.2.xml found
HS      0       15:51:49.523    Tester  file cache contains 18 records
CD      0       15:51:49.544    Core 1  agent process started
GD      0       15:51:49.544    Core 1  connecting to 127.0.0.1:3000
EQ      0       15:51:49.547    Core 2  agent process started
JI      0       15:51:49.547    Core 2  connecting to 127.0.0.1:3001
NN      0       15:51:49.549    Core 3  agent process started
PJ      0       15:51:49.549    Core 3  connecting to 127.0.0.1:3002
GK      0       15:51:49.552    Core 4  agent process started
FO      0       15:51:49.552    Core 4  connecting to 127.0.0.1:3003
OG      0       15:51:49.555    Core 5  agent process started
OS      0       15:51:49.555    Core 5  connecting to 127.0.0.1:3004
CD      0       15:51:49.558    Core 6  agent process started
DD      0       15:51:49.558    Core 6  connecting to 127.0.0.1:3005
OQ      0       15:51:49.560    Core 7  agent process started
QI      0       15:51:49.560    Core 7  connecting to 127.0.0.1:3006
EN      0       15:51:49.563    Core 8  agent process started
QJ      0       15:51:49.563    Core 8  connecting to 127.0.0.1:3008
DK      0       15:51:53.654    Core 5  connected
FR      0       15:51:53.685    Core 5  authorized (agent build 1375)
CH      0       15:51:53.740    Core 5  common synchronization completed
IN      0       15:51:54.152    Core 6  connected
OR      0       15:51:54.154    Core 2  connected
JJ      0       15:51:54.155    Core 6  authorized (agent build 1375)
FN      0       15:51:54.156    Core 7  connected
IO      0       15:51:54.158    Core 2  authorized (agent build 1375)
NI      0       15:51:54.163    Core 1  connected
LS      0       15:51:54.169    Core 7  authorized (agent build 1375)
JK      0       15:51:54.208    Core 6  common synchronization completed
GR      0       15:51:54.210    Core 2  common synchronization completed
HI      0       15:51:54.220    Core 1  authorized (agent build 1375)
QE      0       15:51:54.237    Core 7  common synchronization completed
KL      0       15:51:54.275    Core 1  common synchronization completed
JI      0       15:51:55.202    Core 8  connected
QS      0       15:51:55.205    Core 8  authorized (agent build 1375)
JE      0       15:51:55.223    Core 3  connected
HD      0       15:51:55.249    Core 3  authorized (agent build 1375)
KM      0       15:51:55.259    Core 2  connection closed
FH      0       15:51:55.265    Core 8  common synchronization completed
GP      0       15:51:55.272    Core 1  connection closed
IS      0       15:51:55.276    Core 4  connected
LJ      0       15:51:55.288    Core 4  authorized (agent build 1375)
GP      0       15:51:55.298    Core 3  common synchronization completed
QH      0       15:51:55.334    Core 4  common synchronization completed
KP      0       15:51:55.375    Core 7  connection closed
JO      0       15:51:55.403    Core 6  connection closed
GE      0       15:51:56.045    Core 8  connection closed
CP      0       15:51:56.107    Core 3  connection closed
ON      0       15:51:56.151    Core 4  connection closed
LE      0       15:52:02.092    Core 5  connection closed
CN      0       15:52:11.964    Core 1  agent process started
GJ      0       15:52:11.964    Core 1  connecting to 127.0.0.1:3000
FK      0       15:52:11.966    Core 2  agent process started
IO      0       15:52:11.966    Core 2  connecting to 127.0.0.1:3001
QH      0       15:52:11.969    Core 6  agent process started
RP      0       15:52:11.969    Core 6  connecting to 127.0.0.1:3005
GE      0       15:52:11.971    Core 7  agent process started
IE      0       15:52:11.971    Core 7  connecting to 127.0.0.1:3006
LQ      0       15:52:12.975    Core 3  agent process started
RI      0       15:52:12.975    Core 3  connecting to 127.0.0.1:3002
CN      0       15:52:12.979    Core 4  agent process started
JJ      0       15:52:12.979    Core 4  connecting to 127.0.0.1:3003
RK      0       15:52:12.983    Core 8  agent process started
FO      0       15:52:12.983    Core 8  connecting to 127.0.0.1:3008
GH      0       15:52:15.857    Core 2  connected
MP      0       15:52:15.864    Core 2  authorized (agent build 1375)
JJ      0       15:52:15.914    Core 2  common synchronization completed
EK      0       15:52:16.367    Core 1  connected
RR      0       15:52:16.375    Core 1  authorized (agent build 1375)
DF      0       15:52:16.385    Core 6  connected
LF      0       15:52:16.392    Core 6  authorized (agent build 1375)
LL      0       15:52:16.433    Core 1  common synchronization completed
JG      0       15:52:16.465    Core 6  common synchronization completed
GQ      0       15:52:16.922    Core 8  connected
OH      0       15:52:16.924    Core 8  authorized (agent build 1375)
DL      0       15:52:16.957    Core 7  connected
PQ      0       15:52:16.957    Core 3  connected
GH      0       15:52:16.967    Core 7  authorized (agent build 1375)
RQ      0       15:52:16.968    Core 3  authorized (agent build 1375)
FM      0       15:52:16.975    Core 8  common synchronization completed
LE      0       15:52:17.023    Core 3  common synchronization completed
DL      0       15:52:17.029    Core 7  common synchronization completed
DD      0       15:52:17.530    Core 6  connection closed
PR      0       15:52:17.566    Core 1  connection closed
JD      0       15:52:17.966    Core 4  connected
ID      0       15:52:17.969    Core 4  authorized (agent build 1375)
QM      0       15:52:17.971    Core 8  connection closed
PK      0       15:52:18.010    Core 4  common synchronization completed
EP      0       15:52:18.010    Core 3  connection closed
KO      0       15:52:18.025    Core 7  connection closed
GE      0       15:52:18.503    Core 2  connection closed
HM      0       15:52:18.971    Core 5  agent process started
HM      0       15:52:18.971    Core 5  connecting to 127.0.0.1:3004
OG      0       15:52:19.524    Core 4  connection closed
FP      0       15:52:21.647    Core 5  connected
FI      0       15:52:21.649    Core 5  authorized (agent build 1375)
NE      0       15:52:21.679    Core 5  common synchronization completed
GO      0       15:52:23.410    Core 5  connection closed
MH      0       15:52:33.652    Core 1  agent process started
RP      0       15:52:33.653    Core 1  connecting to 127.0.0.1:3000
KE      0       15:52:33.655    Core 6  agent process started
LE      0       15:52:33.655    Core 6  connecting to 127.0.0.1:3005
PR      0       15:52:33.658    Core 8  agent process started
DF      0       15:52:33.658    Core 8  connecting to 127.0.0.1:3008
HP      0       15:52:33.828    Tester  file cache used 18 times
LG      0       15:52:33.828    Tester  optimization finished, total passes 31
FP      0       15:52:33.828    Statistics      optimization done in 0 minutes 44 seconds
MD      0       15:52:33.828    Statistics      local 13 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
ER      2       15:52:33.878    Core 1  failed to send stop command
FE      0       15:52:33.878    Core 1  connection closed
HN      2       15:52:33.928    Core 6  failed to send stop command
OH      0       15:52:33.928    Core 6  connection closed
EJ      2       15:52:33.978    Core 8  failed to send stop command
FL      0       15:52:33.978    Core 8  connection closed
DH      0       15:52:33.979    Tester  13 records written to file cache Z:\MetaTrader 5\tester\cache\PowerTrender.RTS Splice.H1.2.xml
EG      3       15:52:33.979    Tester  stopped by user

La firma dell'errore è la seguente:

Сигнатура проблемы:
  Имя события проблемы: APPCRASH
  Имя приложения:       metatester64.exe
  Версия приложения:    5.0.0.1375
  Отметка времени приложения:   00623 e00
  Имя модуля с ошибкой: StackHash_ef12
  Версия модуля с ошибкой:      6.1.7601.17514
  Отметка времени модуля с ошибкой:     4 ce7c8f9
  Код исключения:       c0000374
  Смещение исключения:  00000000000 c40f2
  Версия ОС:    6.1.7601.2.1.0.256.1
  Код языка:    1049
  Дополнительные сведения 1:    ef12
  Дополнительные сведения 2:    ef1284acb2700557506bfd58d3b2b94d
  Дополнительные сведения 3:    e9c5
  Дополнительные сведения 4:    e9c5ba00b1c29dae6bd463df717d650f

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
  C:\Windows\system32\ru-RU\erofflps.txt

Ho provato a commentare la creazione di una maniglia dell'indicatore. L'errore è scomparso e l'Expert Advisor ha eseguito tutte le corse normalmente, anche se invano.

Ecco perché sto scrivendo qui prima di inviare messaggi al Service Desk: forse c'è qualcosa di speciale quando si lavora con gli indicatori nello strategy tester? Forse è necessario chiamare IndicatorRelease da qualche parte? Se qualcuno sa come risolvere il problema - per favore scriva.

 
Vasiliy Sokolov:

Sto scrivendo un Expert Advisor che chiama l'indicatore ex5. L'Expert Advisor funziona correttamente nel tester della strategia, ma se eseguo l'ottimizzazione, gli agenti si bloccano alla fine dell'esecuzione:

Se premo il pulsante di chiusura, dopo un po' di tempo l'agente si riavvia e fa una nuova corsa, poi si blocca di nuovo.

L'analisi dei registri non ha dato nulla:

La firma dell'errore è la seguente:

Ho provato a commentare la creazione di un indicatore di maniglia. L'errore è scomparso e l'Expert Advisor ha eseguito tutte le corse normalmente, anche se invano.

Ecco perché sto scrivendo qui prima di inviare messaggi al Service Desk: forse c'è qualcosa di speciale quando si lavora con gli indicatori nello strategy tester? Forse è necessario chiamare IndicatorRelease da qualche parte? Se qualcuno sa come aggiustarlo - per favore scriva.

Meglio servicedesk con tutti i dettagli, lo capiremo.
 

Quando MT4 avrà la possibilità di copiare una linea dal registro e non ottenere una codifica diversa quando viene incollata:

2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP non ìîäèèred. Offerta (1,5448) inferiore al prezzo di apertura (1,5498)

 
-Aleks-:

Quando MT4 avrà la possibilità di copiare una linea dal registro e non ottenere una codifica diversa quando viene incollata:

2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP non ìîäèèred. Offerta (1,5448) inferiore al prezzo di apertura (1,5498)

Quando si copia dal diario di bordo, assicurarsi che il layout in win sia russo.
 
Artyom Trishkin:
Quando si copia dal diario di bordo, assicurarsi che il layout in win sia russo.

Grazie! Ho sempre un layout inglese di default.

Ma, perché devo usare ogni sorta di trucchi...

 
-Aleks-:

Grazie! Ho sempre un layout inglese di default.

Ma, perché devo usare ogni sorta di trucchi...

Usa MT5, dove tutto è in unicode e non ci sono questi problemi.
 
Renat Fatkhullin:
Usa MT5, dove tutto è in unicode e non ci sono questi problemi.

Non ho soldi per MT5 - faccio trading con conti in centesimi e il DC non ha fretta di aprirli per cinque sterline.

 
Quando faccio il debugging passo dopo passo in mt5, quando imposto un breakpoint, il robot si ferma e basta, un ulteriore debugging passo dopo passo non funziona. Se faccio il debug sulla storia, allora tutto è normale. Sono solo io, o ho tutto? Sembra che funzionasse bene non molto tempo fa.
 

Vorrei sollevare ancora una volta il problema della compilazione lenta di MQL5. Circa tre mesi fa ho cercato di sollevare questo problema, ma non è stato capito, apparentemente i miei argomenti non erano abbastanza convincenti. Pertanto, sono tornato alla vecchia build (1159), che ha compilato tutto quasi istantaneamente (mentre con i nuovi compilatori il mio progetto ha compilato in 20 secondi).

E così una settimana fa ho cercato di passare a una nuova build. Ho pensato "dimentica i 20 secondi, sopporterò per il bene delle cose nuove". Naturalmente ho dovuto modificare un po' il codice per rispettare le nuove condizioni, il che ha rivelato diversi bug del nuovo compilatore (descritto qui).Il risultato è che il mio progetto sta compilando già da 30 secondi! Non so se ha a che fare con la complicazione del progetto o con una "complicazione" in più del compilatore, ma semplicemente non va più bene.

Il progetto contiene circa 700 Kb di codice sorgente, è un Expert Advisor che contiene un paio di dozzine di mqh. Tutto è OOP. La gente mi ha scritto prima che il rallentamento è probabilmente causato da grandi funzioni. Ne ho avuti un po'. Beh, li ho frammentati in parti più piccole e non hanno alcun effetto.

La cosa più sorprendente è che questa compilation superlunga non serve a niente. La velocità del programma è la stessa che con il vecchio compilatore, l'ho misurata appositamente. Questo richiede solo una frase: "Per cosa?

Ho la forte sensazione che ci sia un bug/malfunzionamento nel compilatore a causa del quale sta oziando in uno spazio vuoto. Come altro posso spiegare il fatto che uno script assolutamente vuoto con solo la funzione OpenStart() { } compila oltre 400 ms!È inimmaginabile che ci possa volere così tanto tempo per compilare/ottimizzare uno script vuoto. Bene, aggiungendo piccole funzioni e classi in esso, si può vedere come il tempo di compilazione cresce rapidamente.

Voglio dire subito che il mio hardware è ovviamente tutt'altro che potente - Core i5U. Ma questo non impedisce al mio progetto di compilare in 1-2 secondi su un vecchio compilatore. Rispettivamente, il dummy viene compilato in un attimo.

Noterò anche. Al compilatore manca completamente non solo il caching dei frammenti compilati in precedenza, ma anche un banale controllo per assicurarsi che il codice sorgente fosse identico. Cioè compili il tuo progetto e poi clicchi di nuovo sul pulsante "Compile" senza fare alcuna modifica e aspetti di nuovo gli stessi 30 secondi. Quanto è buono...

Mi piacerebbe sentire i commenti degli sviluppatori di MT e degli utenti del forum che lavorano con grandi progetti (sono solo io che sono preoccupato per questo problema?), quanto tempo ci vuole per compilare e su quale hardware. Vorremmo sottolineare che stiamo parlando della compilazione di un eseguibile.

 

Codice delprogetto 400 kB

in mt4 compila in 888 msec

lo stesso progetto in mt5 compila 4103 ms

Anche se a volte alcuni progetti con 50Kb di codice sono in qualche modo lenti, ma succede una volta ogni tanto e non mi preoccupa.