Storia di zecca - pagina 10

 
Vasiliy Sokolov:
Il tempo è un vero problema in MT5. In primo luogo, il tipo di datetime del sistema ha una risoluzione troppo bassa, per gli standard moderni un secondo è un'eternità. In secondo luogo, l'arrivo degli eventi non è legato al tempo. Supponiamo di ottenere una nuova schermata di un bicchiere in OnBookEvent, e a che ora si riferisce? Tirare TimeCurrent con l'ultima ora nota del server? E se l'ultimo orario noto del server è stato aggiornato un minuto fa?

È improbabile che cambino il datetime prima dell'anno 3000

последняя дата datetime 3001.01.01 00:00:00 | 32535216000

È molto più facile fare un involucro.

struct millisekdatetime
  {
   datetime time;
   ushort millisek;
  };
 
Tapochun:
Non ho bisogno di un indicatore. E non ho bisogno di differenze di modalità. Ditemi, osservate differenze degli stessi tic quando richiedete da una modalità una quantità diversa (per esempio, 2000 e 10000).
Karputov Vladimir:
Ora lo capisco. Devo controllare...

Ghjdt Controllato. Quindi: in uno stesso strumento per una stessa modalità di ricezione dei tick (ho cercato la modalità COPY_TICKS_INFO - solo Bid e Ask) e a diverse profondità di richiesta di tick riceviamo diversi flussi di tick. Il file allegato dell'Expert Advisor (v. 1.41) mostra chiaramente la ragione di tale comportamento:

1

Quando si richiede 1500 restituisce 1500 ticks, quando si richiede 10000 restituisce 4691. In generale, se restituisce più di 2000 tick, allora il modo di restituire la storia cambia.

File:
CopyTicks.mq5  4 kb
 
Karputov Vladimir:

Ghjdt Controllato. Quindi: in uno stesso codice per una stessa modalità di ricezione dei tick (ho controllato la modalità COPY_TICKS_INFO - solo Bid e Ask) e a diverse profondità di richiesta di tick un flusso di tick viene ricevuto diversamente. Il file allegato dell'Expert Advisor (v. 1.41) mostra chiaramente la ragione di tale comportamento:

Quando si richiede 1500 restituisce 1500 ticks, quando si richiede 10000 restituisce 4691. In generale, se vengono restituiti più di 2000 tick, allora la modalità di restituzione della storia viene cambiata.

Ecco, fantastico, ho lo stesso. Ho scritto a servicedesk, aspetteremo.
 
Tapochun:
Qui, grande, ho lo stesso. Ho scritto a servicedesk, aspetteremo.

Ho notato una caratteristica interessante. Ho eseguito l'EA descritto nel mio post precedente con un nuovo strumento (non ha ancora richiesto la storia dei tick e quindi non ha creato file con la storia dei tick sul disco) e ho scoperto che all'inizio restituiva circa 200 tick quando ne richiedeva 2000. Ma gradualmente, con ogni tick, il numero di tick restituiti cresce - sembra che la storia online venga aggiunta ai 200 tick iniziali mentre scrivo qui.

Aggiunto: allegato EA v 1.42 - corretto il bug dell'uscita dal range alla prima esecuzione.

File:
CopyTicks.mq5  4 kb
 
Aggiornato alla nuova build 1190. EA ricompilato nella nuova versione. Nel tester CopyTicks() non ottiene i tick - errore 4014.
 
Karputov Vladimir:

Ho notato una caratteristica interessante. Ho eseguito l'EA descritto nel mio post precedente con un nuovo strumento (non ha ancora richiesto la storia dei tick e quindi non ha creato file con la storia dei tick sul disco) e ho scoperto che all'inizio restituiva circa 200 tick quando ne richiedeva 2000. Ma gradualmente, con ogni tick, il numero di tick restituiti cresce - sembra che la storia online venga aggiunta ai 200 tick iniziali mentre scrivo qui.

Aggiunto: allegato EA v 1.42 - corretto il bug dell'uscita di gamma alla prima esecuzione.

Sì, Renat ha notato che le zecche vengono caricate. Quindi dovremmo controllare che il ritorno sia -1 (almeno). Al contrario, il modo COPY_TICKS_INFO permette all'analizzatore di controllare l'uguaglianza dei tick restituiti con quelli richiesti, anche se non è così importante. Restituirà ancora meno.
 
Tapochun:
Sì, Renat ha sottolineato che le zecche vengono raccolte. Quindi, è necessario controllare per -1 (almeno). E in modalità COPY_TICKS_INFO, si può controllare che la quantità restituita sia uguale a quella richiesta, anche se non lo fa - è inutile.
Beh, non potrò controllare niente con le zecche fino a lunedì. Mi occuperò di altre cose.
 

Ho provato a richiedere le zecche ora - sul grafico offline. Indipendentemente dalla modalità e dal numero di tick richiesti, il risultato è più o meno lo stesso: nessun prezzo di offerta (tutti i tick hanno bid = 0).

 
Karputov Vladimir:
Beh, non potrai credere a niente con i tic fino a lunedì, comunque. Farò qualcos'altro.
Perché? Se si scarica un indicatore, c'è un grande pulsante per aggiornare. E nessuno ha cancellato le sceneggiature.
 
Per favore, spiega di nuovo. Qual è la profondità della storia delle zecche disponibile ora? La cronologia viene scaricata dal server, cioè non deve essere accumulata? Come funziona il tester, usa la simulazione di tick o la cronologia dei tick?
Motivazione: