CopyTicksRange

Ottiene i tick dalla struttura MqlTick in una matrice o vettore all'interno dell'intervallo di date specificato. Gli elementi sono contati dal passato al presente, il che significa che il tick con l'indice 0 è il più vecchio. Per analizzare un tick, controllare il campo flag che mostra cosa esattamente è cambiato nel tick .

bool  matrix::CopyTicksRange(
   string           symbol,                // nome del simbolo
   ulong            flags,                 // flag che indica il tipo di tick da ricevere
   ulong            from_msc=0,            // ora dalla quale i tick sono richiesti
   ulong            to_msc=0               // ora fino alla quale i tick sono richiesti
   );

Metodo Vettoriale

bool  vector::CopyTicksRange(
   string           symbol,                // nome del simbolo
   ulong            flags,                 // flag che indica il tipo di tick da ricevere
   ulong            from_msc=0,            // ora dalla quale i tick sono richiesti
   ulong            to_msc=0               // ora fino alla quale i tick sono richiesti
   );

Parametri

symbol

[in]  Simbolo.

flags

[in] Una combinazione di flag dall'enumerazione ENUM_COPY_TICKS indicando il contenuto dei dati richiesti. Quando si copia in un vettore, è possibile specificare un solo valore dall'enumerazione ENUM_COPY_TICKS, altrimenti si verificherà un errore.

from_msc

[in] Ora d'inizio dalla quale i tick sono richiesti. L'ora è specificata in millisecondi dal 01/01/1970. Se il parametro 'from_msc' non è specificato, vengono restituiti i tick dall'inizio della cronologia. Saranno restituiti i tick con l'ora >= from_msc .

to_msc

[in] Ora fino alla quale i tick sono richiesti. L'ora è specificata in millisecondi dal 01/01/1970. Sono restituiti i tick con l'ora <= to_msc. Se il parametro to_msc non è specificato, vengono restituiti tutti i tick fino alla fine della cronologia.

Valore Restituito

Restituisce true in caso di successo o false in caso di errore. GetLastError() può restituire i seguenti errori:

  • ERR_HISTORY_TIMEOUT — il timeout per la sincronizzazione tick è scaduto, la funzione ha restituito tutto quello che aveva.
  • ERR_HISTORY_SMALL_BUFFER — il buffer statico è troppo piccolo. Solo la quantità che l'array può memorizzare è stata restituita.
  • ERR_NOT_ENOUGH_MEMORY — memoria insufficiente per ricevere i dati storici dall'intervallo specificato in un array di tick dinamico. Impossibile allocare memoria sufficente per il tick array.

 

Analizzare i flag dei tick per scoprire quali dati sono cambiati:

  • TICK_FLAG_BID — il tick ha cambiato il prezzo del bid
  • TICK_FLAG_ASK — il tick ha cambiato il prezzo dell'ask
  • TICK_FLAG_LAST — il tick ha cambiato il prezzo dell'ultima offerta
  • TICK_FLAG_VOLUME — il tick ha cambiato il volume
  • TICK_FLAG_BUY — il tick è il risultato di un contratto d'acquisto
  • TICK_FLAG_SELL — il tick è il risultato di un contratto di vendita

Note

Il metodo CopyTicksRange() viene utilizzato per richiedere i tick esattamente dall'intervallo specificato. Ad esempio, i tick per un giorno specifico nella cronologia. CopyTicks() permette di specificare solo la data di inizio, per esempio, per ricevere tutti i tick dall'inizio del mese fino ad ora.

Vedi anche

Accesso alle Timeseries e Indicatori, CopyTicksRange