
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
Oh, la luce alla fine del tunnel! Dovreste chiamare EventSetTimer() all'interno di OnTimer() stesso? Lo proverò sicuramente quando arriverò al terminale. Grazie per la soluzione intelligente!
Ho sempre visto questa soluzione.
Solo che non ho provato il modo migliore per
EventKillTimer() o EventSetTimer(0); per uccidere il timer.
I millisecondi sono molto desiderati. Mi unisco agli auguri.
Ora è pericoloso in Expert Advisor. Per esempio, la funzione sincrona MessageBox() può accodarsi rapidamente quando l'utente lascia il terminale (naturalmente, si può dire che il timer può essere disattivato prima di tali funzioni).
Ma se hanno fatto la gestione delle interruzioni...
Non è più possibile andare al millisecondo.
Quanti Expert Advisors che sono già stati scritti inizieranno a generare 1000 volte più eventi timer di quanto previsto dall'autore?
No, no... Non c'è bisogno di cambiarlo così. Basta aggiungere una nuova funzione EventSetTimerMS(long ms);
È necessario lasciare quello vecchio, solo per compatibilità. (Può essere facilmente emulato chiamando EventSetTimerMS(1000); )
Questo è ora pericoloso nell'Expert Advisor. Per esempio, la funzione sincrona MessageBox() può mettersi rapidamente in coda quando l'utente lascia il terminale (naturalmente, si può dire che il timer può essere disattivato prima di tali funzioni).
Se solo facessero la gestione degli interrupt...
Non usare interruzioni. Non so cosa intendi però, forse è una buona... :)
A proposito di code - si possono usare anche i secondi, se si va a dormire. :) Non usarlo se non sai come elaborare le conseguenze - è una ricetta semplice e universale.
......... La funzione sincrona MessageBox(), per esempio, può mettersi rapidamente in coda quando l'utente si allontana dal terminale.(Naturalmente, si può dire che si può disabilitare il timer prima di tali funzioni) ........
Quanti esperti già scritti inizieranno a generare un numero di eventi timer 1000 volte superiore a quello previsto dall'autore?
Solo un'opinione: e se c'è proprio la possibilità di aggiungere millisecondi per chi lo vuole, e l'intoppo è solo nei vecchi EA, allora perché non introdurre una nuova funzione
Rendi tutto multi-secondo, e se lo switch==false, moltiplica il valore dei secondi una volta per 1000 (per i vecchi EA, per esempio).
Questo è ora pericoloso nell'Expert Advisor. Per esempio, la funzione sincrona MessageBox() può mettersi rapidamente in coda quando l'utente lascia il terminale (naturalmente, si può dire che il timer può essere disattivato prima di tali funzioni).
Ma se hanno fatto la gestione delle interruzioni...
OnTimer, OnTick, OnTrade... Queste sono le interruzioni.
OnTimer, OnTick, OnTrade... Queste sono interruzioni.
Un'interruzione è quando OnTick viene eseguito e un evento più importante, come OnTimer, è arrivato. OnTick viene messo in pausa, il codice OnTimer viene eseguito, poi OnTick continua a funzionare di nuovo.