CopyTicksRange

La funzione riceve ticks in formato MqlTick nell'intervallo di date specificato in ticks_array. Indicizzazione va dal passato al presente che significa che un tick con l'indice 0 è il più vecchio nell'array. Per l'analisi dei tick, controllare la il campo flag, che mostra cosa esattamente è cambiato.

int  CopyTicksRange(
   const string     symbol_name,           // nome del simbolo
   MqlTick&         ticks_array[],         // array ricevente i tick
   uint             flags=COPY_TICKS_ALL,  // flag che definisce il tipo di ticks che vengono ricevuti
   ulong            from_msc=0,            // data, dalla quale i ticks vengono richiesti
   ulong            to_msc=0               // data, fino a quando i ticks vengono richiesti
   );

parametri

symbol_name

[in]  Simbolo.

ticks_array

[out] MqlTick array statico o dinamicoper il ricevimento dei ticks. Se l'array statico non può contenere tutti i ticks dall'intervallo di tempo richiesto, viene ricevuto l'ammontare massimo possibile di ticks. In questo caso, la funzione genera l'errore ERR_HISTORY_SMALL_BUFFER (4407).

flags

[in] Una flag per definire il tipo di ticks richiesti. COPY_TICKS_INFO – ticks con cambiamenti Bid e/o Ask, COPY_TICKS_TRADE – ticks con i cambiamenti in Last e Volume, COPY_TICKS_ALL – tutti i ticks. Per qualsiasi tipo di richiesta, si aggiungono i valori del precedente tick ai campi rimanenti della struttura MqlTick.

from_msc

[in] La data, dalla quale si desidera richiedere i ticks. In millisecondi dal 1970/01/01. Se il parametro from_msc non è specificato, vengono inviati i ticks dall'inizio dello storico. Ticks con l'orario >= from_msc vengono inviati.

to_msc

[in] La data, fino al quale si desidera richiedere ticks. In millisecondi dal 01.01.1970. Vengono inviati Ticks con l'orario <= to_msc (ad_msc). Se il paramtro to_msc non è specificato, vengono inviati tutti i ticks fino alla fine dello storico.

Valore di ritorno

Il numero di tick copiato oppure -1 in caso di errore. GetLastError() è in grado di restituire i seguenti errori:

  • ERR_HISTORY_TIMEOUT - il tempo di attesa della sincronizzazione ticks è scaduto, la funzione ha inviato tutto quello che aveva.
  • ERR_HISTORY_SMALL_BUFFER - il buffer statico è troppo piccolo. Solo l'ammontare che l'array piò memorizzare è stato inviato.
  • ERR_NOT_ENOUGH_MEMORY - memoria insufficiente per la ricezione dello storico dal range specificato all' array dinamico dei tick. Impossibile allocare la memoria sufficiente per l'array tick.

Nota

La funzione CopyTicksRange() viene utilizzata per richiedere ticks strettamente da un intervallo specifico, per esempio, da un certo giorno nello storico. Allo stesso tempo, CopyTicks() permette di specificare solo la data di inizio, per esempio - ricevere tutti i ticks dall'inizio del mese fino al momento attuale.

Guarda anche

SymbolInfoTick, Struttura per i Prezzi Correnti, OnTick, CopyTicks