História do Tick - página 5

 

Também. Tentando obter a história desde o início dos dias de hoje, obtive um resultado estranho. Aqui está o roteiro:

         MqlTick array[];
         MqlDateTime sTime;
         TimeToStruct( TimeCurrent(), sTime );
         sTime.hour = 0;
         sTime.min = 0;
         sTime.sec = 0;
         datetime start = StructToTime( sTime );
         Print( "Начало текущего дня: ",start );
         int num = CopyTicks( _Symbol, array, COPY_TICKS_ALL, start, 1000000 );
         
         int size = ArraySize( array );
         Print( __FUNCTION__,": num = ",num,", arraySize = ",size );
         for( int i = 0; i < size; i++ )
                {
                 if( i == 0 )
                        {
                         Print( __FUNCTION__,": Время прихода первого доступного тика: ",array[ i ].time );
                        }
                 else if( i == size-1 )
                        {
                         Print( __FUNCTION__,": Время прихода последнего доступного тика: ",array[ i ].time );
                        }
                }

Aqui está o resultado:

HQ 0 18:38:20.974 test_CopyTicks_1178 (EURUSD,M1) Início do dia atual: 2015.10.15 00:00:00

JM 0 18:38:22.202 test_CopyTicks_1178 (EURUSD,M1) OnStart: num = 1000000, arraySize = 1000000

CF 0 18:38:22.202 test_CopyTicks_1178 (EURUSD,M1) OnStart: Primeiro tick disponível hora de chegada: 2011.12.19 00:00:08

RD 0 18:38:22.204 test_CopyTicks_1178 (EURUSD,M1) OnStart: Última data de chegada disponível: 2012.01.06 18:41:26

Aparentemente, não pode ser escrito assim:CopyTicks( _Symbol, array, COPY_TICKS_ALL, start, 1000000 );

 
Tapochun:

Provavelmente, fui eu que escrevi. Um, como você liberta a memória anteriormente ocupada aqui?

A própria matriz MqlTick com 20.000.000 de elementos leva cerca de 800 mb de memória. Além disso, armazenando a mesma matriz original no terminal, onde as informações são acumuladas e produzidas.

Portanto, se você quiser trabalhar com dados em massa, só há uma saída - versões de 64 bits e 8 GB de memória. Felizmente, hoje em dia, isso custa dinheiro ridículo.

 
Karputov Vladimir:
Não há necessidade de coletores de carrapatos agora - o histórico de carrapatos está disponível no terminal.

Sua disponibilidade dependerá da boa vontade do CD ou está economizando carrapatos conectados ao lado do servidor?

 
Renat Fatkhullin:

A própria matriz MqlTick com 20 000 000 de elementos leva cerca de 800 mb de memória. Além do armazenamento da mesma matriz inicial no terminal, onde as informações são acumuladas e produzidas.

Portanto, se você quiser trabalhar com dados em massa, só há uma saída - versões de 64 bits e 8 GB de memória. Felizmente, hoje em dia, isso custa dinheiro ridículo.

E se você o solicitar em pequenos lotes? Digamos 1 milhão de carrapatos cada? Não deveria ser um problema, certo? Quero dizer, consulta - processamento - próxima consulta.

Ou os dados se acumularão e ficarão sem RAM?

 
Alexey Volchanskiy:

Sua disponibilidade dependerá da boa vontade das corretoras ou o histórico de armazenamento do tick está ligado ao lado do servidor?

Os servidores MT5 sempre acumularam e armazenaram o histórico do tick desde o início.

Não pode ser desativado em terminais de clientes.

 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

História do Tick

Tapochun, 2015.10.15 15:08

Sim, seria bom adicionar CopyTicks() sobrecarga como outras funções Copy... Para poder ir de data em data. Agora, por exemplo, você não pode receber os carrapatos desde o início do dia atual até o momento atual.
Pode ser implementado?
 
Tapochun:
Isto pode ser implementado?
Podemos fazer isso?
 
Renat Fatkhullin:
Você pode
Obrigado, muito útil. É um pouco difícil "navegar" recebendo carrapatos no momento.
 

As carteiras são empilhadas em arquivos mês a mês, certo? Aqui está uma captura de tela:

Marcar arquivos

E como você lê esses arquivos? Ou apenas através de um testador de estratégia?

 
Karputov Vladimir:

As carteiras são empilhadas em arquivos mês a mês, certo? Aqui está uma captura de tela:

E como você lê esses arquivos? Ou apenas através de um testador de estratégia?

Eu não conseguia lê-los com bloco de notas.