Sequenza di esecuzione di Init() e DeInit() - pagina 19

 
Slawa:

Nessuna soluzione significa "non si sa ancora come risolvere", non "non lo farà".

E con gli eventi utente non c'è alcun problema

Uff... Mi stai spaventando :)
 
fxsaber:

Come possono i servizi o la capacità di eseguire più EA su un singolo grafico non coprire completamente i problemi discussi?

Beh, i problemi rimarranno. Solo perché ci sarà un nuovo tipo di programma MQL, non risolve i problemi negli altri tipi di programmi MQL. Un buon software non permette all'utente di fare un errore. Scrivere una frase sull'incertezza del comportamento nell'aiuto è più facile, naturalmente. Spetta alle persone che annegano salvarle.
 
Stanislav Korotky:
Spetta alle persone che annegano salvarle.
Si può, naturalmente, continuare a lamentarsi del fatto che la roccia continua a non contribuire alla salvezza dell'uomo che sta annegando quando viene lanciata un'ancora di salvezza.
 
elibrarius:
Suggerisco di cancellare tutto dal post 125 in poi in quanto irrilevante per una discussione costruttiva sulle priorità di deinit e init quando si cambia TF.
Meglio cancellare l'intero thread. E dimenticarlo come un sogno sgradevole.
 
Dmitry Fedoseev:

Un indicatore ha prima iniziale e poi deinit. Ma quando il timeframe viene cambiato, la seconda istanza dell'indicatore viene creata, e il suo init può essere eseguito prima del deinit dell'istanza precedente (non avviata).

L'esempio più ovvio - il salvataggio dei parametri utente quando si cambia l'orario - salviamo i parametri nel deinit, li leggiamo nell'init. Se l'init della nuova istanza è attivato prima del deinit dell'istanza precedente, i parametri non saranno salvati.

In pratica, il deinit dell'istanza cancellata si innesca per lo più prima dell'init della nuova istanza, ma se l'intervallo di tempo viene scambiato molto velocemente o i dati vengono caricati, allora si verifica un fallimento.

Dimitri, quando si guida una macchina, bisogna guardare nello specchietto retrovisore quando si è già arrivati? O bisogna salvare periodicamente i parametri richiesti nell'indicatore. È come guardare nello specchietto retrovisore.

 
fxsaber:
Potete, naturalmente, continuare a lamentarvi che la pietra continua a non contribuire al salvataggio di un uomo che sta annegando quando viene lanciato un salvagente.

Il rastrello rimane. Questa è la cosa principale. (in questa analogia, un giro viene dato in un cantiere su richiesta, e la gente annega a caso e inaspettatamente).

Se i vecchi chip non sono a posto, lo saranno anche quelli nuovi. L'approccio non cambia.

Tutto sommato, ho detto tutto, imho, più che ragionevolmente e logicamente. Se qualcuno è nella vasca, non posso aiutarlo.

 
Stanislav Korotky:

Se le vecchie caratteristiche non sono a posto, lo saranno anche le nuove. L'approccio non cambia.

La domanda qui è se non possono o non vogliono? Sembra che non possano.
 
Slawa:

In altre parole, l'ordine di esecuzione di OnInit e OnDeinit dell'indicatore quando si cambia il simbolo-periododel grafico non dovrebbe disturbare nessuno

OnInit avvia il timer, onDeinit lo cancella. Come risultato di una coda sbagliata, non si sa cosa.

Bug sgradevole, che viene palesemente ignorato dagli sviluppatori

 
Комбинатор:

Init avvia il timer, in deinit lo cancella. Come risultato della coda sbagliata, non sapere cosa sta succedendo.

Un brutto bug che è palesemente ignorato dagli sviluppatori

La coda è inequivocabile.
 
fxsaber:
L'ordine è inequivocabile.

Quando si cambia ilf.

Se gli indicatori hanno ancora spazzatura nei buffer dal vecchio TF, forse anche i timer ne saranno affetti.

Motivazione: