Probando 'CopyTicks' - página 47

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.10
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

Nadie va a mirarlo y desmontarlo. Hasta que no haya un análisis comparativo de los ticks de bolsa y de MT5, la conversación está vacía. Porque siempre se puede decir que es la bolsa la que emite datos torcidos al broker.

 
fxsaber #:

Nadie va a mirarlo y desmontarlo. Hasta que no haya un análisis comparativo de los ticks de la bolsa y de MT5, la conversación está vacía. Porque siempre se puede decir que es la bolsa la que emite datos torcidos al broker.

Hay cosas que no requieren confirmación externa si se miran de cerca...


 
prostotrader #:

Hay algunas cosas que no requieren una validación externa si se miran de cerca...

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Probando 'CopyTicks'

fxsaber, 2021.11.12 08:05

Siempre se puede decir que es la bolsa la que emite datos torcidos al broker.

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.17
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

¿He entendido bien que averiguar la garrapata real en un momento determinado es una tarea difícil?


Por ejemplo, necesita averiguar qué tic fue el actual 2022.04.29 23:00:00.000. En la captura de pantalla aparece resaltado.


La única solución que se me ocurrió.

bool GetActualTick( const string Symb, const ulong time, MqlTick &Tick, int Amount = 20 )
{
  MqlTick Ticks[];
  
  int Offset = 500;
  int Res = 0;
  
  while (!::IsStopped() && (Res <= 0) && (bool)Amount--)
    Res = ::CopyTicksRange(Symb, Ticks, COPY_TICKS_INFO, time - (Offset <<= 1), time);
    
  if (Res > 0)
    Tick = Ticks[Res - 1];
  
  return(Res > 0);
}

void OnStart()
{
  MqlTick Tick[1];
  
  if (GetActualTick(_Symbol, D'2022.04.29 23:00' * 1000, Tick[0]))
    ArrayPrint(Tick);
}
 
fxsaber #:

¿He entendido bien que averiguar la garrapata real en un momento determinado es una tarea difícil?


Por ejemplo, necesita averiguar qué tic fue el actual 2022.04.29 23:00:00.000. En la captura de pantalla aparece resaltado.


La única solución que se me ocurrió.

Muy bien hecho, nunca se me había ocurrido que se pudiera hacer así.

Yo lo hubiera corregido de tal manera, el significado es el mismo, solo que en 1 tiempo.

 bool GetActualTick( const string Symb, const ulong time, MqlTick &Tick, int Sec = 30 )
{
  MqlTick Ticks[];
   
  int Res = ::CopyTicksRange(Symb, Ticks, COPY_TICKS_INFO, time - Sec*1000, time);
    
  if (Res > 0)
    Tick = Ticks[Res - 1];
  
  return(Res > 0);
}

void OnStart()
{
  MqlTick Tick[1];
  
  if (GetActualTick(_Symbol, D'2022.04.29 18:00' * 1000, Tick[0]))
    ArrayPrint(Tick);
}  

Me he enfrentado a esta tarea sólo al sincronizar arrays de >=2 ticks y aquí. Pero en ambos casos, la sincronización se realiza utilizando las matrices listas descargadas a la vez. Tanto allí como allí, he sincronizado desplazando los índices uno a uno. Veo qué hora (en el futuro) es la más cercana y cambio el índice por esta herramienta ++.

 
Andrey Miguzov #:

Yo lo corregiría así - el significado es el mismo, sólo que en 1 tiempo.

Desgraciadamente, es imposible adivinar el intervalo entre ticks adyacentes. A veces más de medio minuto.

Razón de la queja: