História do Tick - página 19

 
Karputov Vladimir:

O campo das bandeiras da estrutura MqlTicks muitas vezes contém valores de "24" (modo de exibição "todos os ticks"):

- o que significa este valor?

Todos os parâmetros de cada carrapato são sempre preenchidos, independentemente de os dados terem mudado desde o carrapato anterior. Isto permite que você tenha sempre o status de preço atual em qualquer momento sem olhar para os valores anteriores no histórico do tick. Por exemplo, com um tique só o preço de compra pode ter mudado, mas a estrutura conterá outros parâmetros além do novo preço: preço de compra anterior, volume, etc. Para descobrir quais dados mudaram com o tique atual, analise suas bandeiras:

  • TICK_FLAG_BID - o tick alterou o preço do lance
  • TICK_FLAG_ASK - o tick mudou o preço de pedido
  • TICK_FLAG_LAST - o tick alterou o preço do último negócio
  • TICK_FLAG_VOLUME - O volume do tic mudou
  • TICK_FLAG_BUY - Ocorreu um carrapato como resultado de um negócio de compra
  • TICK_FLAG_SELL - um tique ocorreu como resultado de um negócio de venda
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
Andrey Khatimlianskii:

Anexei uma EA que imprime estes códigos no OnInit():

   Print(TICK_FLAG_BID," - тик изменил цену бид");
   Print(TICK_FLAG_ASK,"  - тик изменил цену аск");
   Print(TICK_FLAG_LAST," - тик изменил цену последней сделки");
   Print(TICK_FLAG_VOLUME," - тик изменил объем");
   Print(TICK_FLAG_BUY," - тик возник в результате сделки на покупку");
   Print(TICK_FLAG_SELL," - тик возник в результате сделки на продажу")

e o resultado:

2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     2 - тик изменил цену бид
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     4  - тик изменил цену аск
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     8 - тик изменил цену последней сделки
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     16 - тик изменил объем
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     32 - тик возник в результате сделки на покупку
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     64 - тик возник в результате сделки на продажу

Não há nenhum valor de "24" entre os resultados.

 
Karputov Vladimir:

Não há nenhum valor de "24" entre os resultados.

8 || 16 = 24

 
Karputov Vladimir:

Anexei uma EA que imprime estes códigos no OnInit():

e o resultado:

Não há nenhum valor "24" entre os resultados.

Operação Bitwise OR

Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
  • www.mql5.com
Основы языка / Операции и выражения / Побитовые операции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Claro - os parâmetros podem se somar, dependendo de quais parâmetros da estrutura do MqlTick foram alterados com a chegada do tick.
 

Qualquer outra pessoa pode testar o indicador do posto sobre a metodologia:

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

História do Tick

Karputov Vladimir, 2015.10.22 15:07

É compreensível. Mas quanto tempo leva para trocar? No exemplo acima, o pedido é de 50 carrapatos e se os carrapatos não forem carregados imediatamente, leva 30 segundos.

E fica pior. Eu faço um pedido de 500 carrapatos - os carrapatos são carregados quase instantaneamente (acho que é apenas porque solicitei esta quantidade mais cedo), e depois faço um pedido de 5000 - já se passaram quatro minutos, e tenho pouco menos de 2000 carrapatos de 5000 carregados e este número não está crescendo.


 
Renat Fatkhullin:

...

No testador, os ticks não são baixados até completarmos a integração total dos ticks no Testador de Estratégia no próximo lançamento.

A construção 1200 está fora. No testador os carrapatos não são baixados, mas no testador no Market Watch, os carrapatos parecem carrapatos reais:

Testador. Revisão do mercado.

 

Descobriu como obter carrapatos a partir de uma determinada data. É simples: você tem que especificar o tempo em milissegundos.

//+------------------------------------------------------------------+
//|                                                CopyTicks_1_03.mq5|
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.03"
#property description "Получение тиков с определённой даты"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200;  // количество запрашиваемых тиков
input datetime start=D'2015.10.16 23:59'; // с какой даты запрашивать тики
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики, время должно быть в миллисекундах!
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,(ulong)start*1000,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Из заказанных ",ticks," самый старый тик: ",ExTicks[0].time," bid: ",
            ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Из заказанных ",ticks," самый молодой тик: ",ExTicks[copied-1].time," bid: ",
            ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20," Mb");
  }
//+------------------------------------------------------------------+
Arquivos anexados:
 

Bild 1200. Há um indicador anexo ao gráfico que chama o CopyTicks. Tudo funciona. Mas depois de romper a conexão:

2015.10.26 09:58:06.721 Network '1783501': connection to MetaQuotes-Demo lost

e depois, quando a conexão é restaurada, CopyTicks teimosamente se recusa a dar carrapatos de volta. E ou são 50 carrapatos ou 500.

 
Karputov Vladimir:

Bild 1200. Há um indicador anexo ao gráfico que chama o CopyTicks. Tudo funciona. Mas depois de romper a conexão:

e depois, quando a conexão é restaurada, CopyTicks teimosamente se recusa a dar carrapatos de volta. E ou são 50 carrapatos ou 500.

E se você então se conectar a outro servidor? Ou a rede é novamente digitalizada e conectada à mesma? O erro permanece?