Testando 'CopyTicks'. - página 38

 
Snest:

Já se passaram três meses e o bilhete ainda não foi fechado. Problemas.

Escreva-lhes novamente no pedido e peça-lhes que comentem. Geralmente é triste, é claro, mas ocasionalmente também pego carrapatos de direção incerta.

A AMP já fornece reais para o MT5? Eles já abriram on-line?

 

A pergunta não é para nós, mas para o datafeed, que não foi escrito por nós.

 

Sim, abriu um real da AMP no MT5.


Renat, são as citações erradas do CQG?

Eles fornecem a direção comercial errada? Ou eles não o fornecem de forma alguma para o MT5 e têm que determinar o algoritmo de direção?

Faz sentido para mim comparar citações com outro terminal no CQG?

 

Dados descarregados de outro terminal conectado à demonstração do CQG. Combinado com os rítmicos e divergente do MT5:

Preço de Licitação

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 2 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 2 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 2 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 2 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:00 1209.7 1209.6 1209.6 1209.7 1 Comprar

11.07.2017 8:03:01 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:02 1209.7 1209.7 1209.8 3 Venda

11.07.2017 8:03:02 1209.7 1209.7 1209.8 2 Venda

11.07.2017 8:03:02 1209.7 1209.7 1209.8 1 Venda

11.07.2017 8:03:02 1209.7 1209.7 1209.8 1 Venda


 

COPY_TICKS_INFO-tick- histórico contém vizinhos duplicados na mesma sessão de negociação - bug.

#include <TypeToBytes.mqh>

string GetTickFlag( uint tickflag )
{
  string flag = "";

#define  TICKFLAG_MACRO(A) flag += ((bool)(tickflag & TICK_FLAG_##A)) ? " TICK_FLAG_" + #A : "";
  TICKFLAG_MACRO(BID)
  TICKFLAG_MACRO(ASK)
  TICKFLAG_MACRO(LAST)
  TICKFLAG_MACRO(VOLUME)
  TICKFLAG_MACRO(BUY)
  TICKFLAG_MACRO(SELL)
#undef  TICKFLAG_MACRO

  if (flag == "")
    flag = " FLAG_UNKNOWN (" + (string)tickflag + ")";
     
  return(flag);
}

#define  TOSTRING(A) " " + #A + " = " + (string)Tick.A

string TickToString( const MqlTick &Tick )
{
  return(TOSTRING(time) + "." + (string)IntegerToString(Tick.time_msc % 1000, 3, '0') +
         TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume) + GetTickFlag(Tick.flags));
}

void OnStart()
{  
  MqlTick Ticks[];
  MqlTick Ticks2[];
  
  const int Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_INFO, 0, 1 e4);
  
  ArrayCopy(Ticks2, Ticks);

  for (int i = 0; i < Amount; i++)
  {
    Ticks[i].time = 0;
    Ticks[i].time_msc = 0;
  }

  for (int i = 1; i < Amount; i++)
    if (_R(Ticks[i]) == Ticks[i - 1])
    {
      Print(i);
      Print(TickToString(Ticks2[i - 1]));
      Print(TickToString(Ticks2[i]));      
    }
}

Resultado

Test3 (RTS-9.17,M1)     4906
Test3 (RTS-9.17,M1)      time = 2017.08.31 18:44:59.963 bid = 0.0 ask = 0.0 last = 109330.0 volume = 6 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.08.31 18:55:07.805 bid = 0.0 ask = 0.0 last = 109330.0 volume = 6 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     4908
Test3 (RTS-9.17,M1)      time = 2017.08.31 18:55:50.541 bid = 109270.0 ask = 109380.0 last = 109330.0 volume = 6 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.08.31 19:05:00.324 bid = 109270.0 ask = 109380.0 last = 109330.0 volume = 6 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9198
Test3 (RTS-9.17,M1)      time = 2017.08.31 23:09:18.717 bid = 109380.0 ask = 109390.0 last = 109390.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.08.31 23:10:18.767 bid = 109380.0 ask = 109390.0 last = 109390.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9872
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:13:21.106 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:14:21.108 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9877
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:18:22.071 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:19:28.235 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9884
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:25:47.230 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 16:26:51.723 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9930
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:17:01.369 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:18:26.289 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9941
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:29:41.000 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 2 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:30:42.114 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 2 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9942
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:30:42.114 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 2 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:34:59.000 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 2 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9945
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:37:11.121 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:38:15.898 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9954
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:49:00.026 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:50:01.699 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9955
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:50:01.699 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:51:02.404 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9956
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:51:02.404 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:52:15.775 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9959
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:55:08.919 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 17:56:14.099 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9967
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:05:05.165 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:06:07.867 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9968
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:06:07.867 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:07:20.598 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9974
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:15:18.820 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:16:53.501 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9980
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:23:16.970 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 100 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:24:33.299 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 100 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9987
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:31:49.116 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:32:55.510 bid = 112000.0 ask = 112010.0 last = 112010.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9994
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:40:25.187 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:41:25.813 bid = 112000.0 ask = 112010.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)     9999
Test3 (RTS-9.17,M1)      time = 2017.09.21 18:44:45.546 bid = 0.0 ask = 0.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
Test3 (RTS-9.17,M1)      time = 2017.09.22 09:45:00.446 bid = 0.0 ask = 0.0 last = 112000.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK
 
fxsaber:

COPY_TICKS_INFO-tick- histórico contém vizinhos duplicados na mesma sessão de negociação - bug.

Resultado

O resultado apresentado por você não é um bug da função CopyTicks. CopyTicks dá exatamente o que está no banco de dados de carrapatos.

Por que existem tais backups no banco de dados de carrapatos (exatamente backups, não duplicatas, porque o tempo é diferente), estamos tentando descobrir

 
fxsaber:

COPY_TICKS_INFO-tick- histórico contém vizinhos duplicados na mesma sessão de negociação - bug.

Resultado

Servidor Fibo?
 
Andrey Dik:
Servidor Fibo?

Metaquotas.

 

O roteiro mostra que o cache do tick não está funcionando corretamente

// Проверка тикового кеша
void OnStart()
{  
  MqlTick Ticks[];
  
  ArrayResize(Ticks, 0, 1 e5);
  
  // Закачали тики на машину
  const int Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_INFO, 0, 1 e5);
  
  if (Amount > 0)
  {
    const long From = Ticks[0].time_msc;
    const long To = Ticks[Amount - 1].time_msc;
    
    Print(AccountInfoString(ACCOUNT_SERVER) + "\n" + _Symbol);
    Print(Amount);
    
    // Запрашиваем имеющиеся тики
    for (int i = 0; i < 1000; i++)
      if (CopyTicks(_Symbol, Ticks, COPY_TICKS_INFO, From, 1 e5) == -1)
      {
        Print(GetLastError());
        
        break;
      }

    Print("End");
  }
}


Resultado em um servidor

2017.10.17 10:43:00.807 MetaQuotes-Demo
2017.10.17 10:43:00.807 EURUSD
2017.10.17 10:43:00.807 100000
2017.10.17 10:43:02.489 End


E por outro lado

2017.10.17 10:42:16.027 ICMarkets-Demo
2017.10.17 10:42:16.027 EURUSD
2017.10.17 10:42:16.027 100000
2017.10.17 10:42:43.816 End


No primeiro caso 2,5 segundos, no segundo caso 27,5 segundos. Por que existem atrasos tão pesados?

 
fxsaber:

No primeiro caso, 2,5 segundos, no segundo, 27,5 segundos. Por que existem atrasos tão pesados?

E você acha que 1.000 consultas do CopyTicks não devem levar tempo?