![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Lo script nel commento del grafico mostra questo bug
Vasiliy Pushkaryov:
В СД есть заявка по этой проблеме?
Bisogna tenere a mente che Windows (anche Unix) non è mai stato un sistema operativo in tempo reale. Ciò significa che la misurazione del tempo in un tale sistema non è una priorità e permette delle imprecisioni.
In secondo luogo, il timer del sistema è basato sui messaggi e sulle loro code. In un'applicazione winds tutti i messaggi vengono elaborati nel thread principale. Sono trattati in modo sequenziale. Con tutte le sue implicazioni.
Nel vostro caso dovreste scegliere un campione di timer critico. Se scegliete il più piccolo - 1 millisecondo, allora siate pronti a sprecare 1000 volte di più nella generazione dei messaggi, nel recupero dei messaggi e nell'elaborazione dei messaggi che se scegliete un campione di 1000 msec. Quindi, cercate un compromesso ragionevole.
Non ne avete più di un centinaio ancora aperti?
Sì.
fxsaber:
Ho provato a sincronizzarmi in questo modo
Non funziona. E ho cattivi pensieri verso il ritardo di MT5. Guardate voi stessi come si comporterà il vostro script con questi cambiamenti.
Provato con il tuo codice, ancora lag. Aspettiamo che più persone o dipendenti più influenti dell'azienda vi prestino attenzione, dato che SD scrive che i ritardi sono la norma.
Ho provato con il tuo codice, ancora in ritardo. Aspetteremo che più persone o dipendenti più influenti dell'azienda prestino attenzione a questo, dato che la SD scrive che i ritardi sono la norma.
Beh, sembra logico, nel Market Watch il tempo dell'ultimo tick su qualsiasi simbolo, e nella finestra del simbolo - il tempo del tick sul simbolo. Ecco perché c'è disaccordo, le zecche non arrivano nello stesso momento
Beh, sembra avere senso, nella panoramica del mercato il tempo dell'ultimo tick per qualsiasi simbolo, e nella finestra del simbolo - il tempo del tick per il simbolo. Ecco perché c'è disaccordo, le zecche non arrivano nello stesso momento
TimeCurrent - vedi Aiuto.
TimeCurrent - vedi Aiuto.
Bene, proprio così: l'ultima ora del server. Nessun tick - nessun tempo, ma c'è sempre un tick nella panoramica del mercato per qualche coppia, quindi il tempo non corrisponde al tempo sul simbolo, dove il tick era "molto tempo fa".
Proprio così: l'ultima ora del server. Nessun tick - nessun tempo, ma c'è sempre un tick nella revisione del mercato per qualche coppia, quindi il tempo non corrisponde al tempo sul simbolo, dove il tick era "molto tempo fa".
TimeCurrent produce gli stessi valori per qualsiasi MQL-prog in qualsiasi momento.
Proprio così: l'ultima ora del server. Nessun tick - nessun tempo, ma c'è sempre un tick nella panoramica del mercato per qualche coppia, quindi il tempo non corrisponde al tempo sul simbolo dove il tick era "molto tempo fa"
Mi sono ricordato anche di questo. Ma il riferimento lì aggiunto:
"In altri casi (chiamata nei gestori OnInit(), OnDeinit(), OnTimer() e così via) questo è il tempo di arrivo dell'ultima quotazione per qualsiasi simbolo disponibile nella finestra Market Watch, lo stesso tempo che viene mostrato nel titolo di questa finestra".
Nel codice è OnTimer con un intervallo di 0,5 secondi. Come potete vedere nello screenshot qui sopra, posso facilmente catturare manualmente su PrintScreen quando il tempo mostrato nel titolo della finestra non corrisponde a TimeCurrent().
Mi sono ricordato anche di questo. Ma lì l'aiuto ha aggiunto:
"In altri casi (chiamata nei gestori OnInit(), OnDeinit(), OnTimer() e così via) questo è il tempo di arrivo dell'ultima quotazione di qualsiasi simbolo disponibile nella finestra Market Watch, lo stesso tempo che viene mostrato nel titolo di questa finestra".
L'aiuto inizialmente ha mentito:
Nel gestoreOnTick(), questa funzione restituirà il tempo di arrivo del tick gestito
Il certificato ha inizialmente mentito:
Certamente non lo era. Uno script per assicurarsi