Testando 'CopyTicks'. - página 6

 
Karputov Vladimir:
Eles são diferentes na MetaQuotes-Demo - porque, mais uma vez, o exemplo deve ser o mais simples possível. Minhas bandeiras são as mesmas em MetaQuotes-Demo hoje.

Resultado de seu indicador hoje, demonstração de Meta-Quotes do servidor. As bandeiras via SymbolInfoTick vêm nulas.

 
zimbabve15:

Resultado de seu indicador hoje, demonstração de Meta-Quotes do servidor. Bandeiras através de SymbolInfoTick vêm com nulls.

Já se passaram 10 minutos e ainda não vi nenhum descasamento entre as bandeiras recebidas através de CopyTicks e SymbolInfoTick no EURUSD no MetaQoutes-Demo.
 
Karputov Vladimir:
Já se passaram 10 minutos - mas nunca vi um descasamento entre as bandeiras de carrapatos recebidas através de CopyTicks e SymbolInfoTick no EURUSD no MetaQoutes-Demo.

às 16.53 desencontros terminaram quando o pico de atividade havia passado

 
Karputov Vladimir:
Já se passaram 10 minutos, mas nunca vi no MetaQoutes-Demo, no EURUSD, bandeiras de carrapatos recebidas através de CopyTicks e SymbolInfoTick não coincidem.

A mesma coisa novamente em um forte movimento

 
Karputov Vladimir:
Demorei 10 minutos e não vi nenhum descompasso entre as bandeiras de carrapatos recebidas através de CopyTicks e SymbolInfoTick no EURUSD no MetaQoutes-Demo.

Proponho o seguinte código para testes:

#property copyright "Copyright © 2015, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.44"
#property description "Indicator for comparing the three modes of receiving ticks"
#property description "Индикатор для сравнения трёх режимов получения тиков"
#property indicator_plots 0
#property indicator_chart_window
int count=1; //считаем пришедшие тики в OnCalculate
int depth_save_tick=10; // количество тиков для записи
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию SymbolInfoTick depth_save_tick раз
MqlTick SymbolInfoTick_array_depth_save_tick[10]; 
//с приходом каждого тика в OnCalculate будем получать в массив структуру последнего тика через функцию CopyTicks 
MqlTick CopyTick_array_one_tick[];
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию CopyTicks depth_save_tick раз
MqlTick  CopyTick_array_depth_save_tick[10]; 
//когда придет depth_save_tick тиков  запишем их одним запросом через CopyTicks
MqlTick CopyTick_array[]; 

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   MqlTick last_tick;
   SymbolInfoTick(Symbol(),last_tick);
   if(count%depth_save_tick==0)
     {
      int copied=CopyTicks(_Symbol,CopyTick_array,COPY_TICKS_ALL,0,depth_save_tick);
      Comment("");
     }
   else
     {
      SymbolInfoTick_array_depth_save_tick[count-1]=last_tick;
      CopyTicks(_Symbol,CopyTick_array_one_tick,COPY_TICKS_ALL,0,1);
      CopyTick_array_depth_save_tick[count-1]=CopyTick_array_one_tick[0];
     }
   count++;
   return(rates_total);
  }

A idéia: seu indicador irá comparar os valores recebidos através de SymbolInfoTick e CopyTicks com uma profundidade de 1 tick, ou seja, os últimos valores que vêm do servidor. No indicador, no procedimentoOnCalculate, salvaremos o primeiro e o segundo valor em arrays a cada novo tick. A saída conterá duas matrizes de carrapatos, obtidos por métodos diferentes. Vamos ajustar a profundidade de gravação para 10. Após atingir esta profundidade, vamos fazer um pedidoCopyTicks para os mesmos 10 ticks e comparar estas três arrays, e assim testar o trabalho de sua idéia com o exemplo mais simples, e ver como o CopyTicks funciona com uma profundidade histórica de mais de 1 ticks.

Como parece, sua idéia do "exemplo simples com um arquivo" funciona e o indicador mostra corretamente os valores dos ticks via SymbolInfoTick e CopyTicks com uma profundidade de 1 tick (ainda não considerei os movimentos fortes, como escrevi ontem, onde 0 bandeiras foram recebidas, vamos esperar até a abertura da américa hoje). Mas assim que começamos a comparar estas histórias, a imagem com bandeiras e outros valores na estrutura do carrapato se torna pouco clara. A foto mostra exatamente o que é. Além disso, o tempo em carrapatos obtidos por três métodos coincide, ou seja, os carrapatos são os mesmos, mas têm um enchimento diferente. Metacotações-Demo do Servidor

E não tive que esperar pelos EUA, novamente em um forte movimento:

Consegui escrever os dados do tick no movimento, eles estão no anexo, os zeros vêm através do SymbolInfoTick podem ser vistos claramente, posso dar imagens da tela comparando seu tempo de alarme indicador e os zeros no arquivo. MetaQuotes-Demo server

Arquivos anexados:
 

Como termina este thriller?

Eu li tudo isso e não tem fim.

 
Nemoys:

Como termina este thriller?

Eu li tudo isso e não tem fim.

O Service Desk respondeu:

Boa tarde. Seus pedidos estão em andamento. Responderemos em cada um deles quando o problema tiver sido resolvido.

Uma atualização parece ter sido prometida para o início de março, portanto estamos esperando.

 

O tempo e a seqüência dos ticks são consistentes com os dados de troca ou com os dados do servidor comercial do metatrader?

Por exemplo, poderia ser que uma determinada oferta de troca tenha nascido no 100º milissegundo e morrido no 101º milissegundo, mas na história da Metatrader esta oferta está faltando ou com um tempo de nascimento/morte não igual a 100/101?

 
Anton Zverev:

O tempo e a seqüência dos ticks correspondem aos dados da bolsa de valores ou aos dados do servidor de negociação do metatrader?

Por exemplo, pode ser que uma determinada oferta de troca tenha nascido no 100º milissegundo e morrido no 101º, mas na história da metáfora esta oferta está faltando, ou com um tempo de nascimento/morte não igual a 100/101?

Todos os carrapatos são absolutamente precisos, sem omissões ou outros erros.

A base do tick é a mesma para todos os processos no MetaTrader 5: servidores, terminais, testadores, etc.

 
MetaQuotes Software Corp.:

Todos os carrapatos são absolutamente precisos, sem omissões ou outros erros.

A base de tick é a mesma para todos os processos MetaTrader 5: servidores, terminais, testadores, etc.

Acontece que se eu baixar o histórico de carrapatos do site de intercâmbio e dos cinco, será uma correspondência completa com uma precisão de ms?

Os carrapatos estão no testador para demonstração FORTS ou são reais?

Razão: