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
Questo è il terminale 1060 e il server è ancora 1035.
Buon pomeriggio, Renat!
Mentre si progetta una modalità di monitoraggio degli ordini "di emergenza" (nel caso in cui l'evento OnTradeTransaction non arrivi),
Ho rilevato che un ordine MARKET appare nella storia in più di 3 SECONDI:
Il codice EA che ha prodotto questo log è allegato.
Prima, il tempo di attesa era di 1000 ms, poi 2000, 3000 e infine 4000 ms.
Sono stati inviati 2 comandi per ogni periodo(posizione aperta - chiusura)
Non è troppo lungo per un ordine MARKET?
P/S Demo Open (terminale build 1060)
Non ho ancora eseguito il codice, ma la fonte vede il classico errore di data finale errata in HistorySelect.
Ogni programmatore alle prime armi chiama questa funzione con la data sbagliata, morde costantemente la fine della storia e trova "una lunga transazione nella storia".
Questa è probabilmente la funzione, poiché "ogni primo" fa un "errore classico".
In quel file c'è un tentativo di leggere la storia da una certa data al momento attuale. Potete dirmi come fare questo correttamente, per non "fare uno spuntino alla fine della storia"?
L'errore è che la gente non pensa a quale sia l'ora corrente e mette la data sbagliata dalla fonte sbagliata.
È sufficiente specificare una data lontana conosciuta come data di fine, piuttosto che l'obsoleto serverTime.
L'errore è che la gente non pensa a quale sia l'ora corrente e mette la data sbagliata dalla fonte sbagliata.
È sufficiente specificare la data lontana conosciuta come data di fine, piuttosto che l'obsoleto serverTime.
Forse l'aiuto, con l'esempio, può essere corretto anche allora?
https://www.mql5.com/ru/docs/trading/historyselect
Renat, hai già lavorato con OnTradeTransaction()?
No, purtroppo, molto occupato.
Provate voi stessi sul nostro server MetaQuotes-Demo.
Dalla frase di Renat
È sufficiente specificare una data lontana nota come data di fine, piuttosto che l'obsoleto serverTime.
Ho capito che dovresti specificare la data di domani (o una data ancora più lontana) come data di fine e sarai felice.
L'errore è che la gente non pensa a quale sia l'ora corrente e mette la data sbagliata dalla fonte sbagliata.
È sufficiente specificare una data lontana conosciuta come data di fine, piuttosto che l'obsoleto serverTime.
E come data di inizio, il "superato"TimeTradeServer() è anche adatto?
Entrambe le date di inizio e fine devono essere fissate con la consapevolezza degli errori e con un margine obbligatorio. Cioè meno N secondi e più N secondi almeno.
TimeTradeServer() non è un tempo esatto reltime, ma è aggiornato esclusivamente dai tick di prezzo che arrivano nella panoramica del mercato.
Se improvvisamente non hai dati nel campione della storia, allora il 99% dell'errore è nei confini della query.