Testando 'CopyTicks'. - página 46

 
Igorz2006:
Obrigado, vou investigar

Veja também esta resposta à sua pergunta:

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Consultor Especialista Universal para Cryptoexchange para mais de um par!

Vladimir Karputov, 2020.05.18 14:29

Você precisa se conectar a um servidor comercial que emite cotações de moedas criptográficas e depois executar

Baixar histórico de preços#


 
instalado mt4, facilita
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

MT5 e Velocidade em Ação

fxsaber, 2020.06.01 11:43

Qual é a razão para este EA não alertar?
const MqlTick GetMarketWatchTick( void )
{
  MqlTick Tick = {0};
  
  ::SymbolInfoTick(_Symbol, Tick);
  
  return(Tick);
}

const MqlTick GetLastHistoryTick()
{
  MqlTick Tick[1];
  
  ::CopyTicks(_Symbol, Tick, COPY_TICKS_ALL, 0, 1);
  
  return(Tick[0]);
}

void OnTick()
{
  if (GetMarketWatchTick().time_msc > GetLastHistoryTick().time_msc) // Тик из Обзора рынка свежее, чем последний тик из истории.
    Alert("Hello!");
}


Ao mesmo tempo, o mesmo teste, costurado na EA comercial ao vivo no mesmo Terminal, Alertit. Qual poderia ser a razão?

 

Em episódios anteriores.

À esquerda está um pedido no Terminal de Combate para um intervalo de 10 segundos do dia atual. Combate - correndo por vários dias, em cada carrapato chama o CopyTicks* para receber carrapatos frescos.

À direita - acaba de iniciar o Terminal, solicitando o mesmo intervalo de 10 segundos.

Você pode ver que há mais cinco carrapatos à direita. Isso significa que o DB de carrapatos é formado com erros no Terminal.

Esteja vigilante! MT5 pula seus próprios carrapatos históricos, que vieram (eu verifiquei) para OnTick via SymbolInfoTick.

 
fxsaber:

Em episódios anteriores.


Esteja vigilante! O MT5 perde seus próprios carrapatos históricos, que vieram (verificados) para a OnTick via SymbolInfoTick.

É triste, estou usando intensamente o fluxo de dados de carrapatos no meu trabalho. Não está claro se é um erro terminal ou se está destinado a ser.

 
fxsaber:

Em episódios anteriores.

À esquerda está um pedido no Terminal de Combate para um intervalo de 10 segundos do dia atual. Combate - correndo por vários dias, em cada carrapato chama o CopyTicks* para receber carrapatos frescos.

À direita - acaba de iniciar o Terminal, solicitando o mesmo intervalo de 10 segundos.

Você pode ver que há mais cinco carrapatos à direita. Isso significa que o DB de carrapatos é formado com erros no Terminal.

Esteja vigilante! MT5 pula seus próprios carrapatos históricos, que vieram (eu verifiquei) para OnTick via SymbolInfoTick.

À primeira vista, parece mais um bug do que uma filtragem consciente por alguma razão (carrapatos ausentes não parecem se destacar). Ou eu estou errado?

 
Maksim Emeliashin:

Infelizmente, estou usando intensivamente o fluxo de dados do tick no meu trabalho. Não está claro se é um bug terminal ou se está destinado a ser.

Aleksey Nikolayev:

À primeira vista, parece mais um bug do que uma filtragem deliberada para algum propósito (carrapatos ausentes parecem não se destacar muito). Ou eu estou errado?

O terminal gera um banco de dados de carrapatos para o dia atual, se não houver falhas de conexão. É muito mais rápido e mais econômico.

Mas há um erro neste algoritmo de formação do banco de dados de carrapatos.

 
fxsaber:

O terminal gera um banco de dados de carrapatos para o dia atual, se não houver interrupções de conexão. Isto é muito mais rápido e mais econômico.

Mas há um erro neste algoritmo de geração de banco de dados de tick.

E se ao final do dia o solicitarmos, já existe uma lacuna?

Tese duvidosa sobre a ausência de falhas de conexão, as ressonâncias/switching acontecem regularmente.

Se os carrapatos corretos estivessem na memória, não seria difícil escrevê-los sem erro. Mais provavelmente, há uma verificação de integridade ou erro de montagem em algum lugar.

 
Andrey Khatimlianskii:

E se você perguntar no final do dia, o passe já está lá?

Parece que a primeira solicitação das últimas 24 horas atualiza o banco de dados de tick via sincronização com o servidor.

Tese questionável sobre a ausência de falhas de conexão, as ressonâncias/switching acontecem regularmente.

Se os carrapatos corretos estivessem na memória, não seria difícil escrevê-los sem erros. Mais provavelmente, há uma verificação de integridade ou erro de montagem em algum lugar.

SymbolInfoTick pegou pelo menos um tick que não estava no banco de dados.

 
fxsaber:

Parece que a primeira consulta das últimas 24 horas atualiza o banco de dados de tick via sincronização com o servidor.

SymbolInfoTick pegou pelo menos um tick que não está no banco de dados.

Somente @renat pode responder aqui. Ou @Slava