Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Librerías

AccurateTimer - librería para MetaTrader 5

Visualizaciones:
704
Ranking:
(25)
Publicado:
2018.03.06 11:37
\MQL5\Experts\fxsaber\AccurateTimer\ \MQL5\Include\
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

El temporizador estándar de MetaTrader 4/5 se basa en la llamada al temporizador de sistema, y por eso puede trabajar con un cierto error. Para asegurarse de ello, basta con iniciar un simple EA:

input int Timer = 1000; // Número de millisegundos para la activación del temporizador

#define TOSTRING(A) #A + " = " + (string)(A) + " ms.\n"

const bool Init = EventSetMillisecondTimer(Timer);

// Muestra en los comentarios del gráfico el error medio del temporizador y su valor medio
void OnTimer()
{
  static ulong StartTime = 0;
  static int Count = 0;
  static int Sum = 0;

  if (StartTime)
  {
    const int RunTime = (int)(GetMicrosecondCount() - StartTime) / 1000;
    const int Error = RunTime - Timer * Count;

    Sum += Error;

    Comment(TOSTRING(Timer) + TimeToString(RunTime / 1000, TIME_SECONDS) + "\n" +
            TOSTRING(Error) + TOSTRING((double)Sum / Count));
  }
  else
    StartTime = GetMicrosecondCount();

  Count++;
}

Muestra como crece el retardo del temporizador en los comentarios del gráfico (esquina superior izquierda):

En la captura de pantalla se puede observar que apenas en un minuto el temporizador de segundos crea un retardo más de un segundo. ¡Y con el tiempo sólo va creciendo!

Esta librería permite aumentar la precisión del temporizador de cualquier EA/indicador. Para eso, hay que insertar sólo una línea al principio del código:

#include <AccurateTimer.mqh> // Aumento de la precisión del temporizador estándar

Después de eso, podemos observar la siguiente imagen en el EA arriba mencionado:

Después de 10 minutos de trabajo, la desviación media del temporizador ideal (teórico) es de ~1 millisegundo, el error no va a crecer.

Desde luego, siempre es bueno disponer de un temporizador preciso. Pero existen tareas cuando es imprescindible. Por ejemplo, el temporizador de segundos sincronizado con la hora del Servidor comercial.

Esta librería multiplataforma es compatible con todos los EAs/indicadores dosnde se usa el temporizador estándar (OnTimer). Eso no influye en la velocidad de la ejecución en el Probador de Estrategias.

¡Suba la precisión de los programas nuevos y ya desarrollados usando sólo una línea!

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/19859

Chandes Quick Stick (Qstick) Chandes Quick Stick (Qstick)

El indicador fue diseñado por el científico, inventor, autor y el trader, Tushar Chandle, con el fin de identificar las tendencias de mercado a través de los gráficos de velas.

Relative Momentum Index Relative Momentum Index

Relative Momentum Index (RMI) es una variación del indicador RSI. RMI, a diferencia de RSI, compara el precio de cierre de la barra anterior (como RSI), pero también a un determinado número de días hacia atrás.

Rsi(var) Rsi(var)

Variación al tema de RSI.

Custom Moving Average Input Color Custom Moving Average Input Color

Modificación del indicador "Custom Moving Average": ahora, se puede indicar el color de la línea en los parámetros de entrada.