Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 100
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
Un tale slittamento può richiedere decine di millisecondi per essere completato.
Un tale slittamento può durare decine di millisecondi.
Cosa significa?
Ricordo che molto tempo fa si parlava di Sleep() nei processi in parallelo
cosa significa?
Esattamente quello che ha detto.
Un tale slittamento può durare decine di millisecondi.
Non decine, ma 15,625 millisecondi.
Ho usato la costruzione per molto tempo:
Non decine, ma 15,625 millisecondi.
Ho usato il design per molto tempo:
Risultato
Risultato
Calcolare il tempo medio.
Accumula SleepTime e poi lo divide per il numero di iterazioni dopo la fine del ciclo.
Altrimenti, il risultato che hai appena presentato appare spaventoso alle menti immature. Mostra anche il tempo minimo allo stesso tempo.
PS. La funzione Sleep() in MQL5 non è un reindirizzamento alla funzione win api ::Sleep(). O meglio, se il valore è inferiore a 100 è un reindirizzamento. Ma sopra i 100 è un ciclo con win api slip al suo interno in modo che possa essere interrotto da IsStopped.
C'è un punto più sottile. Se i millisecondi <=0, aggiungiamo 1. Cioè, non chiamiamo mai ::Sleep(0).
PPS importa la funzione Sleep da kernel32.dll e fai lo stesso esperimento con essa
Calcolare il tempo medio.
Accumulare SleepTime e dividere per il numero di iterazioni dopo che il ciclo è stato completato.
Non mi riferivo al tempo medio, ma alla possibilità di picchi. Li ho incontrati quando aspettavo che la cronologia degli scambi fosse sincronizzata con il risultato di OrderSend. Stavo aspettando usando Sleep(0). Si è rivelato impossibile.
PS. La funzione Sleep() in MQL5 non è un reindirizzamento alla funzione win api ::Sleep(). Bene, se il valore è inferiore a 100, è un reindirizzamento. Ma sopra i 100 è un ciclo con win api slip al suo interno in modo che possa essere interrotto da IsStopped.
C'è un punto più sottile. Se i millisecondi <=0, aggiungiamo 1. Cioè, non chiamiamo mai ::Sleep(0).
Grazie per i dettagli. Non sapevo che Sleep(5000) può essere terminato attraverso IsStopped().
Non si trattava del tempo medio, ma della possibilità di picchi. Li ho incontrati mentre aspettavo la sincronizzazione della storia del trading con il risultato di OrderSend. Stavo aspettando usando Sleep(0). Si è scoperto che non si può fare così.
fxsaber:
Grazie per i dettagli. Non sapevo che Sleep(5000) potesse essere terminato tramite IsStopped().
https://www.mql5.com/ru/docs/common/sleep
La funzione ha un controllo incorporato dello stato del flag di stop dell'EA ogni 0,1 secondi.
Quindi il sistema operativo Windows non è mai stato un sistema in tempo reale
Onestamente, non so nemmeno cosa significhi o dove si possa incontrare in MQL5.