CopyIndicatorBuffer
Ottiene i dati del buffer dell'indicatore specificato nella quantità specificata in un vettore.
I dati saranno copiati nel vettore posizionando l'elemento più vecchio all'inizio della memoria fisica allocata per il vettore. Ci sono tre opzioni di funzione.
Accesso tramite posizione iniziale e numero di elementi richiesti
bool vector::CopyIndicatorBuffer(
|
Accesso tramite data d'inizio e numero di elementi richiesti
bool vector::CopyIndicatorBuffer(
|
Accesso tramite le date iniziale e finale dell'intervallo di tempo richiesto
bool vector::CopyIndicatorBuffer(
|
Parametri
indicator_handle
[in] L' handle dell'indicatore ottenuto dalla relativa funzione dell'indicatore.
buffer_index
[in] Il numero del buffer dell'indicatore.
start_pos
[in] Il numero dell'indice del primo elemento copiato.
count
[in] Il numero di elementi copiati.
start_time
[in] Ora della barra corrispondente al primo elemento.
stop_time
[in] Ora della barra corrispondente all'ultimo elemento.
Valore Restituito
La funzione restituisce 'true' in caso di successo o 'false' se si verifica un errore.
Note
Gli elementi dei dati copiati (il buffer dell'indicatore con indice buffer_index) sono contati dal presente al passato, e quindi la posizione di partenza uguale a 0 significa la barra corrente (il valore dell'indicatore per la barra corrente).
Quando si copia una quantità di dati sconosciuta, è necessario dichiarare un vettore senza specificare una dimensione (senza allocazione di memoria per i dati), poiché la funzione CopyBuffer() prova a ripartire la dimensione del vettore ricevente alla dimensione dei dati copiati.
Quando è necessaria la copia parziale dei valori dell'indicatore, è necessario utilizzare un vettore intermedio in cui viene copiata la quantità richiesta. Da questo vettore intermedio, è possibile copiare il numero richiesto di valori, membro per membro, ai posti richiesti del vettore ricevente.
Se si sta copiando una quantità predeterminata di dati, si consiglia di pre-dichiarare un vettore e specificare le sue dimensioni per evitare riallocazioni inutili della memoria.
Quando si richiedono dati da un indicatore, la funzione ritorna immediatamente false se le timeseries richieste non sono ancora state costruite o devono essere scaricate dal server, mentre il caricamento/ costruzione viene avviato.
Quando si richiedono dati da un'EA o da uno script, viene avviato il download dal server se il terminale non dispone dei dati appropriati localmente, o la costruzione delle timeseries necessarie inizia se i dati possono essere costruiti dalla storia locale, ma i timeframe richiesti non sono ancora pronti. La funzione restituisce la quantità che sarà pronta entro la scadenza del timeout.
Vedere anche