CopyTicksRange
Obtém em uma matriz ou vetor os ticks a partir da estrutura MqlTick na faixa de datas indicada. Os elementos da posição inicial são contados do passado para o presente, ou seja, o tick com índice 0 é o mais antigo. Para analisar um tick é necessário verificar o campo flags, que notifica exatamente o que foi alterado no tick em questão.
bool matrix::CopyTicksRange(
|
Método vetorial
bool vector::CopyTicksRange(
|
Parâmetros
symbol
[in] Símbolo.
flags
[in] Combinação de sinalizadores a partir da enumeração ENUM_COPY_TICKS, que indica a composição dos dados solicitados. Ao copiar em um vetor, apenas um valor da enumeração pode ser especificado a partir da enumeração ENUM_COPY_TICKS, caso contrário, haverá um erro.
from_msc
[in] momento a partir do qual os ticks são solicitados. Indicado em milissegundos a partir de 01.01.1970. Se o parâmetro from_msc não for especificado, os ticks serão fornecidos desde o início do histórico. São entregados ticks com a data >= from_msc.
to_msc
[in] Momento a partir do qual são solicitados os ticks. Indicado em milissegundos a partir de 01.01.1970. São entregados ticks com a data <= to_msc. Se o parâmetro to_msc não é especificado, então todos os ticks são dados até o final do histórico.
Valor retornado
Retorna true se bem sucedido, caso contrário false. GetLastError() pode retornar os seguintes erros:
- ERR_HISTORY_TIMEOUT o tempo de espera para a sincronização dos ticks expirou, a função entregou tudo o que tinha.
- ERR_HISTORY_SMALL_BUFFER o buffer estático é muito pequeno, apenas entregou o que cabia na matriz.
- ERR_NOT_ENOUGH_MEMORY memória insuficiente para obter o histórico do intervalo especificado em uma matriz dinâmica de ticks. Falha ao alocar a quantidade necessária de memória para a matriz de ticks.
Para saber exatamente quais dados foram alterados com o tick atual, analise seus sinalizadores:
- TICK_FLAG_BID tick mudou o preço Bid
- TICK_FLAG_ASK tick mudou o preço Ask
- TICK_FLAG_LAST tick mudou o preço da última negociação
- TICK_FLAG_VOLUME tick modou o volume
- TICK_FLAG_BUY tick surgiu como resultado de uma negociação de compra
- TICK_FLAG_SELL tick surgiu como resultado de uma negociação de venda
Observação
O método CopyTicksRange() é projetado para solicitar ticks de uma faixa estritamente especificada, por exemplo, para um dia em particular do histórico. Enquanto CopyTicks() permite especificar apenas uma data de início, como por exemplo receber todos os ticks desde o início do mês até a hora atual.
Ver também