Errori, bug, domande - pagina 383

 

Il mio Expert Advisor ad un certo punto inizia a comportarsi male, un messaggio appare nel log quando viene rimosso dal grafico:

Terminazione anomala

Lafunzione OnDeinit è vuota. Cosa significa questo messaggio?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
molotkovsm:

Il mio Expert Advisor ad un certo punto inizia a comportarsi male, un messaggio appare nel log quando viene rimosso dal grafico:

Terminazione anomala

Lafunzione OnDeinit è vuota. Cosa significa questo messaggio?

Che è in loop ... o qualcosa di simile...
 
AlexSTAL:
Che è fissato... o qualcosa del genere...
Cos'altro, una cosa del genere potrebbe essere? È solo che ogni tick della citazione viene visualizzato, con i tempi di esecuzione delle sezioni di codice con i loop, tutto sembra andare bene.
 
molotkovsm:
Cos'altro, cose simili possono accadere? È solo che ogni tick di una citazione viene visualizzato, con il tempo di esecuzione delle sezioni di codice con i loop, tutto sembra andare bene.
Ho avuto una terminazione anomala spuntata quando ho lanciato un compito che richiedeva grandi calcoli e inconsapevolmente ho riavviato il terminale. Quando ho lasciato il terminale "da solo" a lavorare per circa 15-20 minuti, sono apparsi i risultati richiesti.
 

Build 439, 441, Win XP 32-bit OS. Disattiva gli agenti con il messaggio "Agente troppo lento...". L'ultima build che ha funzionato bene, secondo me, è stata la 425.

L'agente è troppo lento...

 
Yedelkin:
Ho avuto una terminazione anomala che spuntava quando ho lanciato un compito che richiedeva grandi calcoli e inconsapevolmente ho riavviato il terminale. Quando ho lasciato il terminale "da solo" a lavorare per circa 15-20 minuti, sono apparsi i risultati richiesti.

Nei grandi cicli, aggiungere IsStopped() come condizione di uscita.

 
MONTEGRO:

Build 439, 441, Win XP 32-bit OS. Disattiva gli agenti con il messaggio "Agente troppo lento...". L'ultima build che ha funzionato bene, secondo me, è stata la 425.

Avete solo agenti locali?

Questo sarà corretto a breve

 
stringo:

Avete solo agenti locali?

No, succede anche a quelli remoti.

stringo:

Questa situazione sarà risolta nel prossimo futuro

Non sarebbe fantastico se si rilasciasse un parametro configurabile dall'utente sul tempo medio in cui un agente è considerato ritardato?

 
MONTEGRO:

No, succede anche a quelli remoti.

Sarebbe fantastico, forse un parametro configurabile dall'utente sul tempo medio in cui un agente è considerato lento?

Con il locale e il remoto, è così che funziona. Se sono solo agenti locali, allora il controllo della lentezza sarà disabilitato.

Non introdurremo un parametro personalizzato. Miglioreremo l'algoritmo per individuare gli agenti lenti.

In realtà, se appare il messaggio "agente lento fallito", significa che l'agente troppo lento ha duplicato il lavoro che stava eseguendo, e lo ha dato a un altro agente. E quest'altro agente ha completato il compito duplicato prima dell'"agente lento" (tenendo conto che i compiti non erano distribuiti in parallelo, ma con un ritardo significativo). Quindi effettivamente l'agente "lento" è troppo lento, ed è stato messo fuori gioco per un po

 
stringo:

Nei loop di grandi dimensioni, aggiungere IsStopped() come ulteriore condizione di uscita

Esattamente! Usate spesso questa funzione nella vostra libreria standard - ora comincio a capire il suo valore pratico. Grazie.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5