Probando 'CopyTicks' - página 38

 
Snest:

Han pasado tres meses y el billete aún no se ha cerrado. Problemas.

Vuelve a escribirles en la solicitud y pídeles que comenten. Generalmente triste, por supuesto, pero también de vez en cuando capto tics de dirección incierta.

¿Proporciona ya AMP reales para MT5? ¿Han abierto en línea?

 

La pregunta no es para nosotros, sino para datafeed, que no fue escrito por nosotros.

 

Sí, abrió un real de AMP en MT5.


Renat, ¿son las citas equivocadas de CQG?

¿Proporcionan la dirección comercial equivocada? ¿O no lo proporcionan en absoluto para MT5 y tienen que determinar la dirección algorítmicamente?

¿Tiene sentido que compare las cotizaciones con otro terminal en CQG?

 

Datos descargados de otro terminal conectado a la demo CQG. Coinciden con la rítmica y divergen de la MT5:

Precio de oferta y demanda

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 2 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 2 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 2 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 2 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:00 1209,7 1209,6 1209,7 1 Comprar

11.07.2017 8:03:01 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:02 1209,7 1209,7 1209,8 3 Venta

11.07.2017 8:03:02 1209,7 1209,7 1209,8 2 Venta

11.07.2017 8:03:02 1209,7 1209,7 1209,8 1 Venta

11.07.2017 8:03:02 1209,7 1209,7 1209,8 1 Venta


 

El historial de COPY_TICKS_INFO contiene vecinos duplicados en la misma sesión de negociación - error.

#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:

El historial de COPY_TICKS_INFO contiene vecinos duplicados en la misma sesión de negociación - error.

Resultado

El resultado presentado por usted no es un error de la función CopyTicks. CopyTicks da exactamente lo que hay en la base de datos de ticks.

Por qué en la base de datos de garrapatas tales duplicidades (exactamente duplicidades, no duplicados, porque el tiempo es diferente), ahora estamos analizando

 
fxsaber:

El historial de COPY_TICKS_INFO contiene vecinos duplicados en la misma sesión de negociación - error.

Resultado

¿Servidor Fibo?
 
Andrey Dik:
¿Servidor Fibo?

Metacotizaciones.

 

La secuencia de comandos muestra que el caché de garrapatas no funciona correctamente

// Проверка тикового кеша
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 en un 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


Y por el otro

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


En el primer caso 2,5 segundos, en el segundo 27,5 segundos. ¿Por qué hay retrasos tan importantes?

 
fxsaber:

En el primer caso, 2,5 segundos, en el segundo, 27,5 segundos. ¿Por qué hay retrasos tan importantes?

¿Y crees que 1.000 consultas de CopyTicks no deberían llevar tiempo?