Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 95

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
Sei sicuro di aver letto tutta la domanda?
...tra due chiamate a GetMicrosecondsCount...
Beh, è quello che sto dicendo. La prima chiamata avviene prima della sincronizzazione e la seconda dopo la sincronizzazione. La differenza sarà la stessa: il numero effettivo di microsecondi + la correzione della sincronizzazione.
La prima chiamata è prima della sincronizzazione e la seconda chiamata è dopo la sincronizzazione. La differenza sarà uguale: il numero effettivo di microsecondi + la correzione della sincronizzazione.
Ora ditemi la probabilità di correzione del tempo tra due chiamate a GetMicrofsecondsCount?
Se si misurano davvero i microsecondi, la probabilità è vicina allo 0.
E voi misurate i microsecondi su intervalli di secondi o più? Perché? Spherocon nel vuoto?
Ti sbagli, ho specificamente citato il codice qui usando WinApi. Eseguilo, cambia l'orologio nel processo e guarda il risultato.
Non è molto chiaro come condurre un qualsiasi dialogo con te, se i tuoi argomenti sono basati su congetture. E non consideri nemmeno necessario familiarizzare con il corso della discussione dell'argomento.
Ora ditemi la probabilità di correzione del tempo tra due chiamate a GetMicrofsecondsCount?
Se state davvero misurando microsecondi, allora la probabilità è quasi 0.
E voi misurate i microsecondi in secondi o più? Perché? Spherocon nel vuoto?
Te l'ho già detto, questa probabilità dipende dal periodo di sincronizzazione: più è breve, più spesso avremo uno spostamento, cioè più alta è la probabilità. E anche dalla distanza tra le misure vicine. Più è lungo, più spesso colpiremo l'offset. Quindi, la probabilità è calcolata in base a questi due parametri, e non solo con un dito nel cielo.
E perché scrivete subito in intervalli di secondi? E gli intervalli di millisecondi? Per esempio, qualsiasi cosa inferiore a 16 ms può essere misurata solo con questa funzione. E anche 16-30 millisecondi devono essere misurati con questa funzione, altrimenti l'errore sarà troppo grande.
Se ti sembra che queste siano inezie e possono essere ignorate, allora è puramente una tua opinione personale. Prima abbiamo parlato qui della funzione standard di sistema QueryPerformanceCounter, che funziona correttamente, senza spostamenti. Deve essere stata inventata per un motivo. E a proposito, Renat l'ha dichiarata per qualche motivo:
È così che contiamo i microsecondi.
Ma in realtà non lo è. Si tratta del QueryPerformanceCounter.
Sei tu che non hai idea del problema che hai sollevato.
Non c'è nessun cambiamento di tempo in QueryPerformanceCounter. Hai eseguito il codice di cui ti ho dato il link?
Dopo aver controllato la macchina di esecuzione del codice MQL5, si è scoperto che avevamo uno schema di misurazione ibrido in GetMicrosecondCount:
Questo codice è apparso a causa di un tentativo di ridurre l'overhead del sistema sulla chiamata di misurazione del tempo. Uno degli sviluppatori ha esagerato.
Noi, personalmente, e Slava eravamo sicuri che un QueryPerformanceCounter puro funzionasse. E c'era un tale codice. Ma ci siamo sbagliati a causa della presenza di un modello ibrido.
Ora la pura QueryPerformanceFrequency + QueryPerformanceCounter funzionerà.
In conclusione: sì, abbiamo sbagliato sia l'implementazione della funzione GetMicrosecondCount che la protezione del suo comportamento.
Slava e io ci scusiamo per questo!Un promemoria sull'uso delle frasi "dovrebbe" in modo esplicito o implicito. L'uso di "le meta-citazioni dovrebbero" invece di "si prega di considerare" è ora inaccettabile.
Si prega di considerare l'ipotesi che, il più delle volte, leggere tra le righe non ha nulla a che vedere con ciò che scrive l'interlocutore.
Le segnalazioni effettive di bug con l'assistenza del forum e le punzecchiature sulle MQ sono cose incompatibili. È difficile immaginare una persona che si trasforma costantemente in un odiatore e viceversa.
IS 0 13:32:55.239 Trades '11391209': accepted exchange buy 1.00 AFKS at market DM 0 13:33:07.896 Trades '11391209': deal #265475900 buy 1.00 AFKS at 9.095 done (based on order #284425784) OD 0 13:33:07.898 Trades '11391209': order #284425784 buy 1.00 / 1.00 AFKS at 9.095 done in 12757.608 ms
Amici, potete dirmi a chi chiedere consiglio - voglio capire come lavorare sulle differenze di prezzo per lo stesso prodotto su diverse borse - sono nuovo in questo business, voglio capire. Sarei grato per qualsiasi consiglio - forse dovrei scrivere in un altro thread?
Ho accesso a diverse borse estere, ma non capisco come funziona il tutto