Domande su MQL4. - pagina 2

 
komposter, beh, aiutami.
Rispondi alla domanda originale.
Sto avendo dei miracoli qui...
 
Stai parlando della casella dei messaggi?
Voglio dire, controllare di persona?
 
Sì, o in qualche modo.
Sto arrivando alla conclusione che un CF sospeso per un po' prima di premere il pulsante non permette all'EA di essere collegato in seguito.
Mettere qualsiasi MB in deinit, caricare e scaricare EA.
1. Se si risponde rapidamente a OK, rimane possibile ricollegare l'EA.
2. Se aspettate un po', l'EA non si unirà.

Ho quasi perso la testa quando l'ho capito...
 
Avete provato a leggere i registri? =))))
Te l'ho detto nel primo post - deinit funziona per 2,5 secondi.
La scatola ritarda il processo, e l'EA è forzatamente spento. Dopo di che non funziona (ha appena scoperto)
A proposito, funziona nello script ;)
 
Vedi, il fatto è che...
Lasciate che funzioni finché volete, ma perché (o perché) abbiamo bisogno della difficoltà di collegare la prossima EA dopo?

È normale che sia così o è un difetto? Forse gli sviluppatori possono dirci...
 
Forse gli sviluppatori ce lo diranno.
.. forse lo faranno =)
ma finora hanno letto raramente (o poco?) questo forum...
 
komposter:
deinit funziona per 2,5 secondi - l'utente dovrebbe rispondere così rapidamente? =)
Potete scrivere in un file ciò che deve essere fatto, e poi lo script lo leggerà, visualizzerà MessageBox e, a seconda della risposta, farà qualcosa al riguardo.
come regola, se lo script non è in loop all'infinito, il suo deinit può durare a lungo. la ragione è che se lo script non è estinto esternamente, non c'è nessuno che controlli il timeout. il deinit dello script avviene naturalmente subito dopo l'esecuzione della funzione di avvio. ma perché il deinit dell'esperto funzioni, l'EA deve essere estinto prima in uno dei 6 modi
 
stringo,
se lo script non è messo in loop all'infinito, il suo deinit può funzionare per un tempo molto lungo.
Non capisco davvero. Cosa c'entra il looping con la durata del deinit?
 
SKif:
stringo,
se lo script non è messo in loop all'infinito, il suo deinit può funzionare per un tempo molto lungo.
Non capisco davvero. Cosa c'entra il looping con la durata di deinit?
se lo script ha un ciclo infinito - verrà eseguito fino a quando non sarà disabilitato (allora il deinit sarà limitato a 2,5 sec), e se non - funzionerà prima lo start e poi il deinit (se presente) e il deinit verrà eseguito per tutto il tempo che volete
 
SKif:
Non capisco davvero. Cosa c'entra il looping con le durate di deinit?
è molto semplice. uno script in loop infinito non si termina da solo. può solo essere estinto esternamente (cancellare lo script esplicitamente, appendere un nuovo script, cambiare il simbolo/timeframe del grafico, chiudere il grafico, chiudere il terminale). quando il comando per chiudere lo script (e anche l'EA) viene passato, l'attesa di 2,5 secondi viene impostata subito dopo. Se lo script (o l'esperto) è così "stupido" da non controllare IsStopped, allora, dopo 2 secondi e mezzo viene impostato un flag di stop, che viene controllato automaticamente dopo ogni iterazione del ciclo e dopo ogni chiamata di qualsiasi funzione.
Se lo script completa il suo lavoro, allora esegue deinit e nessuno lo guarda dall'alto e non viene controllato il timeout
Motivazione: