CustomTicksReplace

Sostituisce completamente lo storico dei prezzi del simbolo personalizzato entro l'intervallo di tempo specificato con i dati dall'array di tipo MqlTick.

int  CustomTicksReplace(
   const string     symbol,            // nome del simbolo
   long             from_msc,          // data d'inizio
   long             to_msc,            // data di fine
   const MqlTick&   ticks[],           // array per i dati da applicare al periodo personalizzato
   uint             count=WHOLE_ARRAY  // numero degli elementi dell'array tick[] da utilizzare
   );

Parametri

symbol

[in]  Nome simbolo personalizzato.

from_msc

[in] Orario del primo tick nello storico dei prezzi entro l'intervallo specificato da rimuovere. Orario in millisecondi dal 01.01.1970.

to_msc

[in] Orario dell'ultima cifra nello storico dei prezzi entro l'intervallo specificato da rimuovere. Orario in millisecondi dal 01.01.1970.

ticks[]

[in]   Array dati tick di tipo MqlTick ordinato per orario in ordine ascendente.

count=WHOLE_ARRAY

[in] Numero di elementi dell'array ticks[] da utilizzare per la sostituzione nell'intervallo di tempo specificato. WHOLE_ARRAY significa che devono essere usati tutti gli elementi dell'array ticks[] .

Valore di Ritorno

Numero di ticks aggiornati o -1 in caso di errore.

Nota

Poiché diversi ticks spesso possono avere lo stesso orario fino ad un millisecondo in un flusso di quotazioni (l'orario accurato dei tick è memorizzato nel campo time_msc della struttura MqlTick), la funzione CustomTicksReplace non ordina automaticamente gli elementi dell'array ticks[] per orario. Pertanto, l'array di ticks deve essere pre-arrangiato in ordine ascendente di tempo.

I ticks vengono sostituiti consecutivamente, giorno dopo giorno, fino al momento specificato in to_msc o fino all'avvenimento di un errore. Viene elaborato il primo giorno dall'intervallo specificato seguito da quello successivo, ecc. Non appena viene rilevata la mancata corrispondenza tra l'ora del tick e l'ordine ascendente (non-discendente), la sostituzione del tick si arresta sul giorno corrente. Tutti i ticks dei giorni precedenti vengono sostituiti con successo, mentre il giorno corrente (al momento di un tick sbagliato) e tutti i giorni rimanenti nell'intervallo specificato rimangono invariati.

Se l'array ticks[] non contiene dati per qulsiasi giorno (in genere, in qualsiasi intervallo di tempo), un "buco" corrispondente ai dati mancanti viene visualizzato nello storico dei simboli personalizzati dopo che i dati tick da ticks[] vengono applicati. In altre parole, la chiamata di CustomTicksReplace con ticks mancanti equivale a cancellare una parte dello storico dei tick, come se venisse chiamato CustomTicksDelete con l'intervallo "buco".

Se il database tick non dispone di dati per l'intervallo di tempo specificato, CustomTicksReplace aggiungerà al database i ticks dall'array ticks[].

La funzione CustomTicksReplace funziona direttamente con il database dei tick.

 

Guarda anche

CustomRatesDelete, CustomRatesUpdate, CustomTicksDelete, CopyTicks, CopyTicksRange