Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 204
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Nessuno ha garantito che altri gestori di eventi vengano interrotti (o non vengano eseguiti).
Dopo l'allarme, sia deinit che init avvengono, giusto?
Sì, c'è un reboot completo in corso. È solo il timer (anche un secondo) che viene preso di mira - una caratteristica, non un bug.
Questo consulente avverte quando si passa da un conto all'altro. Sembrerebbe che non dovrebbe farlo, secondo la regola
Questa peculiarità può essere utilizzata per risolvere un problema semplice nella formulazione, ma complesso nella realizzazione.
Questa caratteristica può essere usata per risolvere un problema semplice nella formulazione ma complesso nell'implementazione.
Perché non possiamo semplicemente controllare il cambiamento dell'account all'ingresso di ogni funzione On?
Perché un timer di millisecondi? Non interromperà comunque l'esecuzione del programma se si verifica un re-login durante il runtime.
Perché non puoi semplicemente controllare il cambio di account all'ingresso di ogni funzione On?
Perché un timer di millisecondi? Non interromperà comunque l'esecuzione del programma se un re-login avviene mentre è in esecuzione.
Provate. C'è una lunga discussione su questo argomento al link qui sopra.
Sì, c'è un reboot completo in corso. È solo il timer (anche un secondo timer) che si alza - una caratteristica, non un bug.
Dopo il comando ExpertRemove() il flag di stop viene semplicemente alzato e l'EA continua a lavorare fino al prossimo tick. Su un nuovo tick, l'EA sarà scaricato quando il flag di stop sarà alzato. Significa che finché non arriva un nuovo tick, tutte le funzioni On continuano a lavorare in modo normale.
Di conseguenza, se non possiamo ottenere lo stato di questa bandiera programmaticamente (non ho cercato specificamente questa caratteristica), allora dobbiamo avere una bandiera globalmente personalizzata. Impostiamo il nostro flag prima del comando ExpertRemove() e lo controlliamo in ogni funzione On. Se la bandiera è impostata, si parte. Allora il timer non eseguirà il codice che è scritto in esso.
O forse ho sbagliato e la domanda è diversa?
Dopo il comando ExpertRemove(), il flag di stop è semplicemente impostato e l'EA continua a lavorare fino al prossimo tick. Su un nuovo tick, se il flag di stop è impostato, l'EA sarà scaricato. Significa che finché non arriva un nuovo tick, tutte le funzioni On continuano a lavorare in modo normale.
Di conseguenza, se non possiamo ottenere lo stato di questa bandiera programmaticamente (non ho cercato specificamente questa caratteristica), allora dobbiamo avere una bandiera globalmente personalizzata. Impostiamo il nostro flag prima del comando ExpertRemove() e lo controlliamo in ogni funzione On. Se la bandiera è impostata, si parte. Allora il timer non eseguirà il codice che è scritto in esso.
O forse ho sbagliato tutto e la domanda è diversa?
Non so quale problema stai descrivendo.
Dopo il comando ExpertRemove(), il flag di stop è semplicemente impostato e l'EA continua a lavorare fino al prossimo tick. Se il flag di stop viene alzato su un nuovo tick, l'EA viene scaricato. Significa che finché non arriva un nuovo tick, tutte le funzioni On continuano a lavorare in modo normale.
Di conseguenza, se non possiamo ottenere lo stato di questa bandiera programmaticamente (non ho cercato specificamente questa caratteristica), allora dobbiamo avere una bandiera globalmente personalizzata. Impostiamo il nostro flag prima del comando ExpertRemove() e lo controlliamo in ogni funzione On. Se la bandiera è impostata, si parte. Allora il timer non eseguirà il codice che è scritto in esso.
O forse ho sbagliato tutto e la domanda è diversa?
Non su una nuova zecca, ma sul prossimo ritorno;
Mettete ExpertRemove() in OnInit() e controllatelo nel debug passo dopo passo.
Non su una nuova zecca, ma sul prossimo ritorno;
Mettete ExpertRemove() in OnInit() e controllatelo passo dopo passo nel debug.
Sì, errore mio. Qualsiasi evento successivo non sarà eseguito. È da molto tempo che non cerco nell'aiuto funzioni di cui non ho bisogno :)
Non so quale problema state descrivendo.
Il significato della risposta non è chiaro. Non importa.
Il significato della risposta non è chiaro.
ExpertRemove non è stato invocato.