CopyTicks - tem como especificar por período?
Boa tarde!
Preciso das negociações realizadas no período do tempo gráfico, por exemplo, se uma barra abre as 12:00 e tem 5 minutos de duração, preciso obter as negociações entre 12:00 e as 12:05.
Acho que se obteria pela função CopyTicks mais não consegui colocar a data de término.
Existe como especificar ou é melhor alguma outra função alternativa?
Abraços
Daniel
Daniel.
Seu problema acabou: https://www.mql5.com/pt/docs/series/copyticksrange.
Atenciosamente.

- www.mql5.com
Estou tendo problemas com a função CopyTicksRange, não esta retornando flags do tipo TICK_FLAG_BUY e nem TICK_FLAG_SELL. Tentei em conta demonstração e em conta real, ambas me retornam somente TICK_FLAG_BID, TICK_FLAG_ASK, TICK_FLAG_LAST e TICK_FLAG_VOLUME. Alguém poderia me ajudar?
Também estou com esse problema!! Teria alguém já resolvido o problema?
O pior é que se a gente exporta pra CSV, vem mostrando se foi Buy ou Sell...kkkk
Malacarne seria o cara pra responder isso pra gente...
Boa tarde!
Preciso das negociações realizadas no período do tempo gráfico, por exemplo, se uma barra abre as 12:00 e tem 5 minutos de duração, preciso obter as negociações entre 12:00 e as 12:05.
Acho que se obteria pela função CopyTicks mais não consegui colocar a data de término.
Existe como especificar ou é melhor alguma outra função alternativa?
Abraços
Daniel
Eu utilizo isso e funciona muito bem , Tenho uma Classe onde armazeno todos os dados , e sempre que preciso pegar mais ticks do servidor, pego apenas a diferenca fazendo o codigo rodar mais rapidamente, pra cada tick, e testei e a velocidade é melhor.
void CarregaArrayTicks(CVAP* VAP,datetime TDATAHORAINICIAL,datetime TDATAHORAFINAL)
{
lastTime = TimeLocal();
ulong inicio=(ulong)(StringToTime(DATAHORAINICIAL))*1000;
ulong fim=(ulong)(StringToTime(TDATAHORAFINAL))*1000;
ArrayFree(VAP.VapTickArray);
int received=CopyTicksRange(ATIVO,VAP.VapTickArray,COPY_TICKS_ALL,inicio,fim);
VAP.ticks=ArraySize(VAP.VapTickArray);
Print ("Numero de Ticks: "+VAP.ticks+" INI:"+TDATAHORAINICIAL+" "+TDATAHORAFINAL);
if (VAP.ticks > 0 ){
Print (VAP.VapTickArray[0].time+"->"+VAP.VapTickArray[VAP.ticks-1].time);
}
Basta usar o Array que vc quiser, substituindo o que eu utilizei ( VAP.VapTickArray --> vc usa o seu )
Abc
Sandrolho

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Boa tarde!
Preciso das negociações realizadas no período do tempo gráfico, por exemplo, se uma barra abre as 12:00 e tem 5 minutos de duração, preciso obter as negociações entre 12:00 e as 12:05.
Acho que se obteria pela função CopyTicks mais não consegui colocar a data de término.
Existe como especificar ou é melhor alguma outra função alternativa?
Abraços
Daniel