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
Grazie, questo è il punto. Il terminale dà davvero un errore 4066 dopo l'accesso a una serie temporale non aggiornata tramite iTime? Ho incontrato iClose che dava informazioni non aggiornate invece di zero.
Questo è il punto, questo è il punto chiave che sta causando il tuo intoppo.
Errore 4066 - quando non c'è storia per questo TF, non è pronto, è necessario contattare il server.
E quando hai già, ma è aggiornato solo quando si accede, cioè, non dà un errore, solo darvi ciò che è ora, e contemporaneamente con la richiesta inizia ad aggiornare la serie temporale.
Se si accede di rado e in modo irregolare, a volte si ottiene roba vecchia. Se richiedete regolarmente ogni TF necessario, fino ad ogni spunta - allora tutto è a posto.
Se il grafico di questo TF è aperto, viene regolarmente aggiornato sul grafico. A proposito, è probabilmente possibile aprire i grafici di tutti i TF necessari dagli EA, se l'accesso non è regolare, ma non è affidabile, perché possono chiudere/cambiare i TF manualmente.
Perché aggiungere 0 a [i + 0]?
invece di zero ho sostituito 1 e 2, 1 o 2. Ho lasciato 0, cioè 1 bar. Non ho pulito il codice, non è importante per la logica.
Questo è il punto, è il punto chiave che ti blocca.
L'errore 4066 è quando non c'è storia per questo TF, non è pronto, è necessario contattare il server.
E quando hai già, ma è aggiornato solo quando si accede, cioè, non dà un errore, solo darvi ciò che è ora, e contemporaneamente con la richiesta inizia ad aggiornare la serie temporale.
Se si accede di rado e in modo irregolare, a volte si ottiene roba vecchia. Se richiedete regolarmente ogni TF necessario, fino ad ogni spunta - allora tutto è a posto.
Se il grafico di questo TF è aperto, viene regolarmente aggiornato sul grafico. A proposito, è probabilmente possibile aprire i grafici di tutti i TF necessari dagli EA, se l'accesso non è regolare, ma non è affidabile, perché possono chiudere/cambiare i TF manualmente.
Quando ci dovrebbe essere un errore restituisce i vecchi dati, ottimo. Questo è uno dei motivi per cui i broker amano MT4 e non passano a MT5)).
Cioè chiedere il timeframe corretto ogni tick o sleep, fino all'errore 4066. Ho capito bene?
Quando ci dovrebbe essere un errore restituisce i vecchi dati, ottimo. Questa è una delle ragioni per cui i broker amano la MT4 e non passano alla MT5)).
Cioè chiedere il timeframe corretto ogni tick o sleep, fino all'errore 4066. Ho capito bene?
Quasi. Ecco una funzione pronta:
Inseriscilo in OnTick() e, se restituisce true, si può accedere al timeframe eTF, i dati sono validi.Quando ci dovrebbe essere un errore restituisce i vecchi dati, ottimo. Questa è una delle ragioni per cui i broker amano la MT4 e non passano alla MT5)).
Cioè chiedere il timeframe corretto ogni tick o sleep, fino all'errore 4066. Ho capito bene?
Naturalmente, è meglio usare sleep solo in OnInit, ed è necessario solo negli indicatori. In altri casi, OnTick, come menzionato da Igor, è sufficiente.
A seconda del compito, si può manovrare verso l'opzione migliore. Di solito, quando si controlla se c'è una nuova barra, iTime è già accessibile ad ogni tick per tutti i timeframe utilizzati, il che è sufficiente per tenerli aggiornati.
s.w. E se usate la funzione di Igor non su ogni tick, ma su alcune rare condizioni, ci sarà anche un ritardo.sleep è meglio usarlo solo in OnInit, ovviamente, ed è necessario solo negli indicatori. In altri casi, è sufficiente usare OnTick, come ha detto Igor sopra.
A seconda del compito, si può manovrare verso l'opzione migliore. Di solito, quando controlliamo se c'è una nuova barra, accediamo ad iTime ad ogni tick per tutti i timeframe utilizzati, il che è sufficiente per tenerli aggiornati.
s.e. E se la funzione di Igor è usata non su ogni tick, ma su alcune rare condizioni, sarà anche fuori sincrono.Il sonno non funziona negli indicatori
Quasi. Ecco una funzione già pronta:
Inseritelo in OnTick() e se restituisce true, potete accedere al timeframe eTF, i dati sono validi.È brillantemente semplice. Grazie. Perché gli sviluppatori non lo descrivono nel manuale sulle funzioni iClose ecc?Oppure correggono la logica degli aggiornamenti delle quotazioni di MT4 per non creare teorie cospirative.
Quando ci dovrebbe essere un errore restituisce i vecchi dati, ottimo. Questo è uno dei motivi per cui i broker amano la MT4 e non passano alla MT5)).
Cioè chiedere il timeframe corretto ogni tick o sleep, fino all'errore 4066. Ho capito bene?
In MT5 è molto più difficile.
In F4 è sufficiente richiedere iTime a tutti i TF utilizzati ogni 2 minuti, e tutti i dati saranno attuali.
Tutto è brillantemente semplice. Grazie. Perché gli sviluppatori non lo descrivono nel manuale sulle funzioni iClose e così via?Oppure correggono la logica degli aggiornamenti delle quotazioni di MT4 per non creare teorie cospirative.
Perché quasi tutti gli EA controllano le condizioni giuste ad ogni tick e tutto si aggiorna da solo.
Il sonno non funziona negli indicatori
Funziona se ne hai davvero bisogno :)
In MT5 è molto più complicato.
In 4 è sufficiente richiedere iTime a tutti i TF utilizzati ogni 2 minuti, e tutti i dati saranno attuali.
Esattamente