Seconds Tick and Range Charts MT5

  • Utilidades
  • Quoc Dat Quach
    Quoc Dat Quach
    Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself.
  • Versión: 1.0
  • Activaciones: 10

Barras de segundos (de 1 a 30 segundos), barras de ticks y barras de rango para MetaTrader 5, construidas a partir del historial de ticks reales del bróker como un símbolo personalizado y actualizadas en cada tick. En el gráfico puede funcionar cualquier indicador, plantilla o EA. Una ayuda visual en el gráfico muestra la hora real de cada barra. El EA nunca opera en un gráfico.

Qué hace

Coloque el EA en el gráfico de un símbolo del bróker. El EA:

  • crea un símbolo personalizado, por ejemplo EURUSD_S5, con las especificaciones del símbolo de origen
  • construye su historial a partir de los ticks reales del bróker, por defecto los últimos 3 días, por partes (en las pruebas, 3 días de BTCUSDm, 376.095 ticks, tardaron 2,0 s)
  • abre el gráfico personalizado, con su plantilla si usted indica una
  • añade al gráfico personalizado cada nuevo tick del símbolo de origen en cuanto llega
  • vuelve a leer del terminal cada nueva barra varias veces por segundo (medido en MetaTrader 5 build 6230: las barras que el terminal construye a partir de ticks en vivo pueden desaparecer cuando ningún gráfico ni programa las lee; las lecturas regulares lo evitan)
  • cada 60 segundos comprueba las barras contra el historial de ticks del bróker y cuenta los ticks que el símbolo personalizado contiene para ellas
  • cuando arranca de nuevo sobre un gráfico personalizado existente (por ejemplo, tras reiniciar el terminal), comprueba que todas las barras de la última parte del historial estén presentes antes de continuar
  • si una barra sigue siendo incorrecta, reconstruye todo el símbolo personalizado a partir del historial de ticks, desde el mismo primer tick: la única reparación que fue exacta en todas las pruebas (medido en build 6230: escribir barras sueltas o borrar parte de un símbolo personalizado que recibe ticks en vivo puede hacer que el terminal pierda otras barras o ticks)

Tipos de gráfico

  • Barras de segundos (Seconds bars): 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 o 30 segundos. Una barra contiene los ticks de un intervalo. Un intervalo sin ticks no tiene barra, del mismo modo que un minuto sin ticks no tiene barra en M1.
  • Barras de ticks (Tick bars): una nueva barra cada N ticks.
  • Barras de rango (Range bars): se abre una nueva barra cuando el siguiente precio haría que el rango máximo-mínimo de la barra fuera mayor que N puntos, de modo que ninguna barra es mayor que N puntos. Cuando el precio salta, la nueva barra se abre en el nuevo precio; no se dibujan barras de relleno para el salto.

Las barras se dibujan con el precio Bid. El volumen de ticks de una barra es el número de ticks que contiene.

Pueden funcionar varias copias a la vez, un EA por símbolo personalizado: por ejemplo, barras de 5 segundos de EURUSD en un gráfico y barras de rango de 200 puntos de XAUUSD en otro. Un segundo EA para el mismo símbolo personalizado no arranca e indica el motivo en su panel.

Cada tick en exactamente una barra

El símbolo personalizado recibe los propios ticks del bróker, no una copia de las barras. En las pruebas, las barras se compararon con una reconstrucción independiente a partir del historial de ticks del bróker:

  • la suma de los volúmenes de ticks es igual al número de ticks de origen
  • cada barra (apertura, máximo, mínimo, cierre y volumen de ticks) es igual a la reconstrucción
  • en las barras de segundos, ningún intervalo sin barra tenía ticks de origen

En una prueba de 75 minutos con 10 símbolos personalizados a la vez (barras de 1, 2 y 5 segundos, barras de 20, 50 y 100 ticks, barras de rango de 200 y 1000 puntos; 2.537.558 ticks en total), las tres condiciones se cumplieron para cada símbolo, también para los símbolos reconstruidos después de que el terminal estuviera congelado durante 2 minutos.

Huecos en los gráficos de segundos: en BTCUSDm (alrededor de un tick por segundo un sábado), el gráfico de 1 segundo tenía 81.920 barras para 121.859 ticks. Cada intervalo de 1 segundo sin barra se comprobó contra los ticks del bróker y no tenía ninguno. Un hueco en un gráfico de segundos es un tiempo en el que el bróker no envió ningún tick, no una barra perdida.

La escala de tiempo (lea esto, por favor)

MetaTrader 5 no tiene ningún marco temporal inferior a un minuto, y un gráfico personalizado siempre se dibuja en la escala de tiempo de M1. Por eso cada barra del gráfico personalizado ocupa una franja de un minuto, y las fechas bajo el gráfico cuentan esas franjas desde enero de 1971: no son la hora del reloj. Es la única forma en que pueden existir barras de menos de un minuto en un gráfico de MetaTrader 5.

El EA añade al gráfico personalizado una pequeña ayuda visual que muestra la hora real (en toda esta descripción, hora real significa la hora del servidor del bróker, como en el propio gráfico del símbolo del bróker):

  • Last bar: (última barra) hora de inicio al milisegundo, duración y número de ticks
  • Cursor bar: (barra bajo el cursor) lo mismo para la barra bajo el ratón
  • una segunda escala de tiempo con las horas reales, encima de la propia escala del gráfico
  • si el gráfico se está actualizando: "Live: updated on every tick of EURUSD", "Building history from real ticks: 40.0%", "Waiting for the connection to the trade server", "Checking the bars after the start (up to 60 s)", "Not updating for 12 s: check the EA on the EURUSD chart" o "Not updating: no EA builds EURUSD_S5 now"

Mantenga el gráfico personalizado en M1: una barra de M1 es una barra de segundos, de ticks o de rango. Un marco temporal superior fusiona varias barras.

Velocidad

Medido en una prueba de 75 minutos con 10 EA y 8 gráficos personalizados a la vez en un terminal: el tiempo desde el momento en que un indicador en el gráfico de origen vio un tick hasta el momento en que un indicador en el gráfico personalizado lo vio. BTCUSDm estaba en vivo en una cuenta demo. El oro y el índice Nasdaq estaban cerrados (sábado), así que sus gráficos se alimentaron con los ticks reales del viernes a su ritmo real, hasta 61 ticks por segundo.

Gráfico personalizado Ticks por segundo Mediana 99 % de los ticks dentro de Más lento
BTCUSDm, barras de 5 segundos (en vivo) 1 0,2 ms 30 ms 262 ms
BTCUSDm, barras de 1 segundo (en vivo) 0,9 0,3 ms 35 ms 262 ms
BTCUSDm, barras de 50 ticks (en vivo) 1 0,2 ms 32 ms 281 ms
Oro, barras de 1 segundo (reproducción) 12 0,4 ms 65 ms 173 ms
Oro, barras de 100 ticks (reproducción) 12 0,3 ms 111 ms 140 ms
Nasdaq, barras de 5 segundos (reproducción) 61 0,6 ms 40 ms 1,7 s (*)
Nasdaq, barras de rango de 1000 puntos (reproducción) 61 0,8 ms 41 ms 2,5 s (*)

(*) En los 2 minutos posteriores a que el terminal estuviera congelado durante 2 minutos: los ticks retrasados llegaron todos a la vez y el EA reconstruyó el símbolo. En todos los demás momentos, el tick más lento tardó 142 ms y 156 ms. Durante los 75 minutos, el terminal usó en total alrededor de un núcleo de CPU y de 680 a 703 MB de memoria, sin ralentización entre los primeros y los últimos 10 minutos.

El panel del gráfico de origen muestra, mientras funciona, el tiempo de escritura propio del EA por evento de tick, mediana y percentil 99 (mediana de 0,03 ms en la prueba).

Pérdida de conexión, reinicio y cambios

Medido en la misma prueba de 75 minutos, en los reinicios del terminal posteriores a ella y en una prueba aparte de cambios de parámetros:

  • Terminal congelado durante 2 minutos: al volver, informó de que la conexión con el servidor de operaciones se había perdido y restablecido. En 15 segundos, los EA encontraron 4 símbolos personalizados con barras o ticks faltantes y los reconstruyeron (de 0,2 a 2,4 s cada uno). Después, los 10 símbolos superaron la comprobación descrita arriba. No se probó un corte de red de varios minutos.
  • Cambio del marco temporal del gráfico de origen (de M1 a M5 y vuelta): el EA continuó desde la última barra, sin reconstrucción.
  • Cambio de parámetros mediante una plantilla con otros parámetros: el EA continuó desde la última barra.
  • Cambio del tipo de gráfico en un EA en funcionamiento (de barras de 5 segundos a barras de 50 ticks y vuelta): construyó el nuevo símbolo personalizado y dejó el gráfico anterior en su sitio; al volver a barras de 5 segundos tras 91 s, continuó el símbolo anterior y añadió los ticks de esos 91 s. Ambos símbolos superaron la comprobación descrita arriba.
  • Gráfico de origen cerrado durante 3 minutos: la ayuda visual mostró "Not updating: no EA builds BTCUSDm_S1 now". Cuando se volvió a abrir el gráfico con el EA, este continuó desde la última barra y los ticks de esos 3 minutos aparecieron en el gráfico 0,34 s después.
  • Terminal cerrado y reiniciado 7 veces (cerrado entre 3 segundos y alrededor de 1,5 minutos): 40 de los 51 arranques del EA continuaron desde sus últimas barras. 11 encontraron barras faltantes (descartadas por el terminal, vea las limitaciones), esperaron los 60 segundos (con la versión final, la ayuda visual muestra mientras tanto "Checking the bars after the start") y reconstruyeron sus símbolos (de 0,2 a 1,3 s cada uno). Después de 5 de los 7 arranques, el terminal descartó unos minutos más tarde barras del símbolo sin gráfico abierto; el EA lo detectó en su siguiente comprobación y reconstruyó el símbolo (en 2 pruebas, la prueba terminó antes de esa comprobación).
  • Un segundo EA para el mismo símbolo personalizado no arrancó, tampoco en 7 arranques del terminal, cuando todos los EA del terminal arrancan a la vez.

Al quitar el EA, el símbolo personalizado y su gráfico permanecen. Vuelva a colocarlo con la misma configuración y continuará desde la última barra, tras comprobar que todas las barras anteriores están presentes (si no lo están, reconstruye el historial por sí mismo).

Parámetros de entrada

Parámetro Valor por defecto Significado
Chart type Seconds bars Seconds bars, Tick bars, Range bars
Seconds bars: seconds per bar 5 seconds 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 o 30
Tick bars: ticks per bar 100 De 1 a 100.000
Range bars: range of a bar in points 100 Puntos del símbolo de origen
Source symbol vacío Vacío = el símbolo del gráfico en el que está colocado el EA
Days of real tick history to build 3 De 0,01 a 60; se usa al construir el símbolo personalizado. El historial de ticks del bróker puede ser más corto. Un valor nuevo no reconstruye un símbolo personalizado existente: para ello, ponga una vez el siguiente parámetro en true
Build the history again at start false En caso contrario, continúa desde la última barra si el tipo de gráfico, su ajuste y el símbolo de origen son los mismos
Custom symbol name vacío Vacío = automático, por ejemplo EURUSD_S5, EURUSD_T100, EURUSD_R100
Open the custom chart true
Template for the custom chart vacío Una plantilla de MQL5\Profiles\Templates, aplicada al abrirse el gráfico
Show the real time of the bars on the custom chart true La ayuda visual descrita arriba
Close the custom chart when the EA is removed false
Tester only: open and close sample positions true Vea más abajo

Probador de estrategias

MetaTrader 5 no permite símbolos personalizados ni gráficos nuevos en el Probador de estrategias (medido: ambos se rechazan con el error 4014). Por eso, en el probador el EA construye las mismas barras en memoria, con el mismo código, a partir de los ticks que le suministra el probador, y en modo visual las dibuja en una subventana bajo el gráfico del probador. Al final de una ejecución escribe cuántas barras construyó y que cada tick está en exactamente una barra. Use "Every tick based on real ticks" para ver las barras construidas a partir de los ticks reales del bróker.

Solo en el Probador de estrategias, el EA también abre y cierra una breve serie de posiciones de muestra, porque la tienda Market comprueba que un Asesor Experto opera:

  • volumen mínimo, una posición a la vez, hasta 30 posiciones
  • el margen libre se comprueba antes de cada nueva posición; si no hay dinero suficiente, escribe una nota y no envía nada

Las posiciones de muestra no son una estrategia de trading y sus resultados no dicen nada sobre el beneficio. En un gráfico real o demo, el EA nunca envía, modifica ni cierra una orden.

Limitaciones (léalas antes de comprar)

  • La escala de tiempo cuenta franjas, no la hora del reloj. Vea "La escala de tiempo" arriba. Los indicadores que usan la hora de una barra (sesiones, pivotes diarios, filtros horarios) ven en el gráfico personalizado las horas de las franjas, no las horas reales.
  • La cotización del símbolo personalizado va un tick por detrás. Medido: cuando un indicador o EA del gráfico personalizado es llamado por un nuevo tick, las barras y el historial de ticks del símbolo personalizado ya lo contienen, pero la cotización del símbolo personalizado (Observación del Mercado, SymbolInfoTick, la línea Bid del gráfico) muestra el tick anterior hasta que se añade el siguiente. Se probaron siete maneras de evitarlo en MetaTrader 5 build 6230 y ninguna funcionó. Un indicador o EA del gráfico personalizado debe leer los precios de las barras (el cierre de la última barra es el tick más reciente).
  • Los símbolos personalizados no se pueden operar. Un EA que funciona en el gráfico personalizado tiene que enviar sus órdenes para el símbolo del bróker.
  • Solo gráficos Bid. Los símbolos que el bróker dibuja por el precio Last (acciones y futuros de bolsa) se rechazan con un mensaje en el panel.
  • La profundidad del historial es la del bróker. La primera construcción descarga el historial de ticks del bróker; los brókers lo conservan durante un tiempo limitado. Un historial largo de barras cortas puede superar el ajuste "Max bars in chart" del terminal (Herramientas, Opciones, Gráficos); entonces el gráfico muestra solo las barras más recientes. Las comprobaciones propias del EA vuelven a leer como máximo la mitad de ese ajuste, así que un valor bajo solo hace que revisen menos barras (probado con 5.000 y un gráfico de 1 segundo de unas 80.000 barras: ninguna reconstrucción adicional en 8 minutos).
  • Las barras de segundos tienen espacio durante un tiempo limitado. Las franjas deben quedar en el pasado: un gráfico de 1 segundo tiene espacio para unos 339 días de barras desde su inicio, un gráfico de 5 segundos para unos 4,6 años. Cuando se agota el espacio, el EA reconstruye el historial por sí mismo.
  • Mantenga el EA en funcionamiento mientras usa el gráfico personalizado. Medido en build 6230: cuando se quitaba el EA o se reiniciaba el terminal, el terminal a veces descartaba las barras de la parte más reciente de un símbolo personalizado (hasta un día de franjas, 1.440 barras) mientras conservaba los ticks. Un gráfico que queda abierto sin el EA muestra entonces un hueco. Cuando el EA vuelve a arrancar, lo detecta y reconstruye el símbolo. Tras un reinicio, el gráfico puede mostrar un hueco así durante hasta un minuto aproximadamente: el EA espera hasta 60 segundos a que el terminal cargue las barras (la ayuda visual muestra entonces "Checking the bars after the start") y, si aún faltan barras, reconstruye el símbolo (de 0,2 a 1,3 s en las pruebas). En las pruebas, el terminal también descartó barras unos minutos después de un reinicio, con el EA en funcionamiento: el EA lo detectó con sus comprobaciones (cada 60 segundos; en tres pruebas la reparación llegó 74 segundos después de que el propio verificador de la prueba viera el hueco) y reconstruyó el símbolo; un símbolo sin gráfico abierto puede conservar el hueco hasta esa comprobación o hasta el siguiente arranque. Ocurrió sobre todo en un símbolo personalizado sin gráfico abierto.
  • Una reparación vacía y vuelve a llenar todo el símbolo personalizado. Cuando una comprobación encuentra una barra incorrecta o faltante, el EA borra los ticks y las barras del símbolo personalizado y los vuelve a escribir desde el mismo primer tick (de 0,2 a 2,4 s en las pruebas). Durante ese tiempo, los indicadores y EA del gráfico personalizado ven desaparecer el historial y volver a aparecer.
  • Un EA por símbolo personalizado, y ocupa el espacio para EA de su gráfico: colóquelo en un gráfico libre del símbolo de origen, no en el gráfico de un EA de trading.
  • Sin Probador de estrategias en el símbolo personalizado. Medido en build 6230: el probador suministra los ticks del símbolo personalizado pero construye solo parte de sus barras o ninguna (1.324 y 0 de 4.316 barras M1 en dos pruebas), así que un EA que necesita las barras no se puede probar en él. Pruebe un EA así en el símbolo del bróker.
  • Entorno probado:
    • solo MetaTrader 5 build 6230, Windows 10, una pantalla de 3840 x 2160 a 288 dpi
    • una cuenta demo en un bróker minorista de CFD: BTCUSDm y ETHUSDm en vivo, ticks del viernes de XAUUSDm y USTECm reproducidos a su ritmo real (pruebas del sábado); historial de EURUSDm, XAUUSDm y USTECm para las capturas de pantalla
    • Probador de estrategias: cuentas demo de compensación (netting) y de cobertura (hedging) del servidor demo de la plataforma, EURUSD, GBPUSD, XAUUSD
    • prueba más larga: 75 minutos; no probado con otros brókers, cuentas de dinero real ni MQL5 VPS
  • Pruébelo primero con la demo gratuita en el Probador de estrategias. La demo muestra las barras solo en una subventana del probador (vea "Probador de estrategias" arriba); el gráfico personalizado en una cuenta real o demo necesita la versión completa.
Otros productos de este autor
Repaint Inspector mide si un indicador repinta, en lugar de dar por buena la afirmación. Se adjunta a un gráfico, se indica cualquier indicador personalizado y su lista de parámetros, y la herramienta vuelve a leer los búferes de ese indicador en barras que ya se han cerrado, contando cada valor que se mueve, cada valor que aparece y cada valor que desaparece, junto con la profundidad del historial hasta la que eso sigue ocurriendo. Es una herramienta de medición. En un gráfico nunca envía una o
FREE
Symbol Spec Auditor reúne en un panel sobre el gráfico la parte de la especificación del contrato de un símbolo que decide el tamaño de la posición y el coste de operar: valor del punto, coste del spread, margen, swap, reglas de ejecución y sesiones de trading. Los valores en bruto de la especificación se convierten en dinero por 1,00 lote en la divisa de la cuenta, y los ajustes del bróker que rompen silenciosamente el código de cálculo del lote se listan como advertencias. Un botón exporta la
FREE
Spread Profile by Hour construye la distribución del spread de un símbolo para cada hora del día del servidor a partir del propio historial de ticks de su bróker, y la dibuja como 24 barras. La parte sólida de una barra es el spread mediano de esa hora; la franja superior más clara llega hasta el percentil 90. Introduzca el tamaño de stop que usa habitualmente y cada barra se etiqueta con su spread mediano como proporción de ese stop, de modo que el coste queda en la misma unidad que su riesgo.
FREE
Un copiador de operaciones local para MetaTrader 5. Copia posiciones entre terminales MT5 en el mismo PC Windows o VPS y calcula el tamaño de cada copia a partir de las especificaciones de contrato de ambos brókeres (tamaño del contrato, valor del tick, divisa de la cuenta), de modo que una copia lleva la misma exposición aunque los dos brókeres definan un lote de forma diferente. Nunca abre una segunda copia de la misma posición del maestro. Qué hace Adjunte el mismo EA a un gráfico en cada ter
Un registro contable de la cuenta para MetaTrader 5 que desglosa sus resultados por número mágico, símbolo, día de la semana y hora, muestra el P/L de precio, la comisión, el swap y las tarifas en columnas separadas, y mide el spread pagado en cada ejecución y el deslizamiento respecto al precio que usted solicitó. Los totales se comprueban contra el balance de la cuenta en cada actualización. Nunca opera en un gráfico. Qué hace Adjúntelo a un solo gráfico. Lee el historial de transacciones de l
Filtro:
No hay comentarios
Respuesta al comentario