CopyTicksRange

A função recebe, na matriz ticks_array, ticks em formato MqlTick, no intervalo de datas especificado. Além disso, a indexação é realizada do passado para o presente, ou seja, o tick com índice 0 é o mais antigo na matriz. Para analisar o tick, é necessário verificar o campo flags, ele notifica sobre as alterações levadas a cabo.

int  CopyTicksRange(
   const string     symbol_name,           // nome do símbolo
   MqlTick&         ticks_array[],         // matriz para recebimento de ticks
   uint             flags=COPY_TICKS_ALL,  // sinalizador que define o tipo de ticks obtidos
   ulong            from_msc=0,            // data a partir da qual são solicitados os ticks
   ulong            to_msc=0               // data em que são solicitados os ticks
   );

Parâmetros

symbol_name

[in]  Símbolo.

ticks_array

[out] Matriz estática ou dinâmica MqlTick para recebimento de ticks. Se na matriz estática não caberem todos os ticks do intervalo solicitado, serão obtidos tantos ticks quanto caberem na matriz. Além disso, a função gerará o erro ERR_HISTORY_SMALL_BUFFER (4407) .

flags

[in]  sinalizador que especifica o tipo de ticks solicitados. COPY_TICKS_INFO — ticks chamados pelas alterações do Bid e/ou Ask, COPY_TICKS_TRADE — ticks com alterações em Last e Volume, COPY_TICKS_ALL — todos os ticks. Em qualquer tipo de solicitação, nos restantes campos da estrutura MqlTick são acrescentados os valores do tick anterior.

from_msc

[in]  Data a partir da qual são solicitados os ticks. É especificada em milissegundos desde 01.01.1970. Se o parâmetro from_msc não estiver especificado, são enviados os ticks a partir do início do histórico. São enviados os ticks com tempo >= from_msc.

to_msc

[in]   Data na qual são solicitados os ticks. Especificado em milissegundos desde 01.01.1970. Se o parâmetro to_msc não estiver especificado, são enviados todos os ticks do histórico.  Número de ticks solicitados. São enviados os ticks com tempo <= to_msc.

Valor de retorno

Número de ticks copiados ou -1 em caso de erro. GetLastError() pode retornar os seguintes erros:

  • ERR_HISTORY_TIMEOUT — esgotado o tempo de espera de sincronização, a função enviou todo o que havia.
  • ERR_HISTORY_SMALL_BUFFER — o buffer estático é muito pequeno, enviado tanto, quanto cabia na matriz.
  • ERR_NOT_ENOUGH_MEMORY — não há memória suficiente para obter o histórico a partir do intervalo especificado na matriz dinâmica de ticks. Falha ao selecionar a quantidade certa de memória para uma matriz de ticks.

Observação

A função CopyTicksRange() é usada para solicitar ticks a partir de um intervalo antigo, por exemplo, os ticks de um dia determinado no histórico. Enquanto a CopyTicks() permite definir apenas a data de início, por exemplo, obter todos os ticks desde o início do mês até o momento atual.

Veja também

SymbolInfoTick, Estrutura para recebimento de preços atuais, OnTick, CopyTicks