Mira cómo descargar robots gratis
¡Búscanos en Twitter!
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
Asesores Expertos

Broker Clock Auditor - Asesor Experto para MetaTrader 5

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.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
14
Ranking:
(1)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Todos los filtros de sesión de un asesor experto se programan en hora del servidor, y la hora del servidor es la que elija el bróker. Algunos servidores funcionan en UTC, otros en UTC+2 en invierno y UTC+3 en verano, y los que cambian de horario no lo hacen todos el mismo fin de semana. Esta herramienta lee la hora a partir del propio historial de precios del símbolo, en lugar de hacerlo a partir de una publicación en un foro: la semana de Forex y de la CME cierra a las 17:00, hora de Nueva York, por lo que la hora del servidor de cada cierre semanal, comparada con ese instante en UTC, proporciona el desfase del servidor para esa semana. En las últimas 60 semanas eso supone unas 60 mediciones, una por cierre, y a partir de su secuencia la herramienta determina si el reloj se ha adelantado o atrasado, cuándo y según qué calendario: horario de verano de EE. UU. o de Europa. A continuación, muestra la hora del servidor a la que abren Londres, Nueva York, Tokio y Sídney en cada una de las próximas semanas.

bca-panel

Servidor de demostración de Exness, cinco símbolos de Market Watch, 60 semanas de barras H1 cada uno, una pasada en 12,3 ms. Ahora se muestra la diferencia horaria del último cierre regular; «Calendario» indica si es fijo, de EE. UU. o de la UE, y si las fechas de cambio de horario de EE. UU. y de la UE se encuentran dentro de la ventana (probado); «Irregular» cuenta los cierres que no coinciden con los cierres adyacentes; en este caso, los cuatro cierres anticipados del oro por festivos estadounidenses; «Días de sol» cuenta los domingos del servidor con al menos una barra. El BTCUSD se negocia las 24 horas del día y no tiene un cierre que medir. Captura con un tamaño de fuente del panel de 4 para ajustarse a la página; el valor predeterminado es 8.

El problema

Un filtro de sesión como «operar de 10:00 a 13:00» es una promesa relativa a Londres o Nueva York, basada en el reloj del servidor. Solo es válido mientras la diferencia horaria entre ambos relojes se mantenga constante, y dos veces al año esto no es así. Europa y Estados Unidos cambian la hora en fines de semana diferentes: en 2026, EE. UU. adelantó la hora el 8 de marzo y Europa el 29 de marzo, y en otoño, Europa atrasa la hora el 25 de octubre y EE. UU. el 1 de noviembre. Durante tres semanas en primavera y una semana en otoño, Londres va cuatro horas por delante de Nueva York en lugar de cinco, y un servidor que siga uno de los dos calendarios queda desincronizado con la otra ciudad.

Que cuál de esas semanas afecte a un EA concreto depende de la propia regla del servidor, y esa regla rara vez está escrita en un lugar donde un programa pueda leerla. TimeTradeServer() − TimeGMT() proporciona la diferencia horaria de hoy, pero se calcula a partir del reloj y la zona horaria del ordenador, y no dice nada sobre el pasado mes de marzo, cuando se realizó la prueba retrospectiva, ni sobre el próximo mes.

Lo que mide

El punto de referencia. La semana interbancaria de divisas, así como la semana de la CME para los metales y los futuros sobre índices estadounidenses, finaliza a las 17:00 (hora de Nueva York). Por cada pausa en el historial H1 del símbolo de al menos InpMinGapHours horas (por defecto, 20), la herramienta toma como «cierre» la hora de apertura de la última barra H1 anterior a la pausa + 1 hora, y U = el instante de las 17:00 de Nueva York más cercano a ella, convertido a UTC según las normas de horario de verano de EE. UU. close − U es la diferencia horaria del servidor en ese cierre. Las pausas por festivos (Nochebuena, Nochevieja) terminan a las mismas 17:00 y también cuentan como puntos de referencia.

  • Cierres irregulares. Un cierre cuyo desfase difiera tanto del último cierre regular anterior como del cierre posterior se marca y se excluye de todo lo que se indica a continuación (el primer y el último cierre nunca se marcan): una fuente de datos que se retrasara una hora un viernes, o un vacío en el historial lo suficientemente largo como para parecer una pausa, se interpretaría de otro modo como dos cambios de hora.
  • Cambios de horario. Dos cierres regulares consecutivos con desfases diferentes marcan un cambio de horario. La herramienta lo fecha entre los dos cierres y compara el intervalo, en UTC, con los cambios horarios de EE. UU. (segundo domingo de marzo, primer domingo de noviembre) y los de Europa (último domingo de marzo, último domingo de octubre), comprobando la dirección: un cambio de primavera debe desplazar el desfase hacia arriba, y uno de otoño, hacia abajo. Cada cambio se etiqueta como EE. UU., UE, EE. UU.+UE (el intervalo contiene ambos, los datos son demasiado escasos) u «otro».
  • Régimen. Sin cambio = desfase fijo; todos los cambios «EE. UU.» = calendario estadounidense; todos «UE» = calendario europeo; cualquier otra combinación = mixto. Un veredicto de «fijo» solo se considera *comprobado* cuando la ventana contiene al menos una fecha de cambio estadounidense y otra europea —cuatro semanas de historial en julio no permiten distinguir un reloj fijo de uno variable, y la herramienta así lo indica—.
  • Barras de domingo. El número de domingos (y sábados) del servidor con al menos una barra H1. Un servidor en UTC abre la semana de divisas el domingo por la tarde, lo que proporciona a cada indicador basado en D1 una sexta vela diaria pequeña.
  • Verificación cruzada en tiempo real. En un gráfico en tiempo real, se muestra TimeTradeServer() − TimeGMT() junto al desfase que indica el historial. Una diferencia apunta al reloj o a la zona horaria del ordenador, no al servidor.
  • Proyección. A partir del último desfase y del calendario detectado, se calculan las horas de apertura de los servidores de Londres, Nueva York, Tokio y Sídney (las horas locales se introducen como datos) para cada día laborable de las próximas InpProjectWeeks semanas. Solo se enumeran los días en los que cambia alguna de ellas.

Cuando hay varios símbolos, se toma como referencia el desfase y el calendario más comunes, y los símbolos que no coinciden se indican en el registro: un CFD sobre acciones que cierra a las 16:00 de Nueva York muestra una hora menos, mientras que un símbolo de criptomonedas disponible las 24 horas del día, los 7 días de la semana, no tiene hora de cierre.

Tres servidores de demostración, tres relojes

Adjunto a un gráfico H1 del EURUSD del 7 de octubre de 2026; 60 semanas de barras H1 hasta la barra más reciente (del 13/08/2025 al 07/10/2026); todos los parámetros en sus valores por defecto, excepto la lista de símbolos (* en Exness; los símbolos indicados en los otros dos).

servidor símbolos cierres desplazamiento actual calendario cambios observados (primer cierre tras) cierres irregulares Domingos con barras
Exness-MT5Trial17 EURUSD, GBPUSD, USDJPY, XAUUSD 62 cada uno UTC+0 ninguna, probado — XAUUSD 4, otros 0 60
ICMarketsSC-Demo EURUSD, GBPUSD, USDJPY 62 cada uno UTC+3 EE. UU. 08/11/2025 −1 h, 14/03/2026 +1 h 0 0
MetaQuotes-Demo EURUSD, GBPUSD, USDJPY, XAUUSD 62 / 40 / 40 / 62 UTC+3 UE en los 4; diferencia: 3 de 4 están de acuerdo 31/10/2025 −1 h, 04/04/2026 +1 h EURUSD 1, XAUUSD 4 0

bca-tres-servidores

Desfase implícito en cada cierre del EURUSD a las 17:00 de Nueva York en tres servidores de demostración, barras H1 del 1 de agosto de 2025 al 7 de octubre de 2026, 64 cierres por servidor, un punto por cierre; las líneas discontinuas corresponden a los cambios horarios de EE. UU. y las líneas punteadas, a los de Europa. Dibujado a partir de las horas de las barras H1 leídas con el paquete Python de MetaTrader 5 y la interfaz MCP de la terminal, no a partir de la propia salida de la herramienta.

Exness: UTC durante todo el año. Cada uno de los 62 cierres indica +0:00, incluidas las pausas de Nochebuena y Nochevieja. Lo que varía es el propio cierre: la última barra H1 de la semana termina a las 21:00, hora del servidor, mientras Nueva York está en horario de verano (desde mediados de marzo hasta principios de noviembre) y a las 22:00 el resto del año. Todos los domingos tienen barras a partir de las 21:00 o las 22:00, por lo que los gráficos diarios muestran una sexta vela corta. El oro presenta el mismo desfase y añade cuatro cierres irregulares, todos ellos cierres anticipados por festivos en EE. UU.: Viernes Negro, 28 de noviembre de 2025 (−2 h), Nochebuena (−3 h), 19 de junio de 2026 y viernes 3 de julio de 2026 (−4 h cada uno).

IC Markets: UTC+2 en invierno, UTC+3 en verano, según el calendario estadounidense. El desfase varía entre los cierres del 1 y el 8 de noviembre de 2025 y del 7 y el 14 de marzo de 2026, los fines de semana en los que EE. UU. cambió la hora. La semana del mercado de divisas va desde las 00:00 del lunes hasta las 24:00 del viernes, hora del servidor, durante todo el año, sin barras los domingos.

MetaQuotes-Demo: UTC+2 / UTC+3 según el calendario europeo. Los cambios se producen entre los cierres del 25 al 31 de octubre de 2025 y del 27 de marzo al 4 de abril de 2026. Hay un cierre del EURUSD que es irregular: el viernes 13 de marzo de 2026, entre el cambio horario de EE. UU. y el de Europa, la última barra terminó a las 00:00, hora del servidor, una hora después de las 17:00 de Nueva York, mientras que los cierres anteriores y posteriores se produjeron a la hora habitual. El GBPUSD y el USDJPY solo tienen historial en H1 a partir de enero de 2026 en esta terminal, por lo que solo muestran el cambio de primavera. El oro no sigue el mismo patrón que los tres pares y se menciona en el diario: desde el cambio horario europeo de la primavera de 2026, su cierre semanal se mantiene a las 23:00, hora del servidor, una hora antes de las 17:00 de Nueva York, por lo que, por sí solo, ahora se lee como UTC+2:00.

Qué significa esto para las próximas semanas. Las tres previsiones a partir del 7 de octubre de 2026: en Exness, Londres abre a las 07:00, hora del servidor, hasta el 23 de octubre y a las 08:00 a partir del 26 de octubre; Nueva York, a las 12:00 hasta el 30 de octubre y a las 13:00 a partir del 2 de noviembre. En IC Markets, Londres abre a las 10:00, excepto en la semana del 26 de octubre, cuando lo hace a las 11:00. En MetaQuotes-Demo, Nueva York abre a las 15:00, excepto en esa misma semana, en la que lo hace a las 14:00. Un filtro escrito como «Londres 10:00» o «Nueva York 15:00» es correcto en los servidores UTC+2/+3 durante 48 de las 52 semanas de 2026 y erróneo en las otras cuatro —tres en primavera y una en otoño—, cada filtro en un servidor diferente; en 2027 y 2028, la diferencia en primavera es de dos semanas.

En las tres conexiones activas, la verificación cruzada coincidió con el historial: TimeTradeServer() − TimeGMT() dio +3:00 en IC Markets y en MetaQuotes-Demo, y +0:00 en Exness. Mientras se preparaba esta página, se inició una terminal sin iniciar sesión; sin conexión, la misma diferencia indicaba +0:00 en el servidor de +3:00. Por lo tanto, la herramienta omite la comprobación, con una sola línea en el registro, cuando la terminal no está conectada.

Verificación independiente del informe

El informe se puede volver a calcular fuera de MetaTrader. El script utilizado para esta página lee únicamente la ventana del archivo de resumen, extrae los mismos tiempos de las barras H1 —a través de la interfaz MCP de la terminal en Exness y mediante el paquete Python de MetaTrader 5 en los otros dos servidores— y vuelve a calcular todo lo descrito anteriormente utilizando la base de datos de zonas horarias de Python en lugar de las propias reglas de horario de verano de la herramienta: cada fila de anclaje, cada fila de cambio y su calendario, cada contador de resumen, el desfase y el calendario del veredicto, y cada fila de proyección. En las tres ejecuciones que se muestran aquí, coincide en 328, 250 y 284 valores sin una sola diferencia. Sus propias definiciones se comprobaron primero en diez casos procesados manualmente —ocho series de barras sintéticas (fijas, estadounidenses, europeas, cambios invertidos, pausas por festivos, un hueco en los datos, dos cierres anticipados con una semana de diferencia) y dos proyecciones— y se detectaron los diez errores introducidos a propósito.

Cómo utilizarlo

Adjunta el Asesor Experto a cualquier gráfico. Si InpSymbols está vacío, audita el símbolo del gráfico; * audita todos los símbolos de la Ventana de Mercado; una lista separada por comas audita esos símbolos. Elige símbolos que cierren el fin de semana —divisas principales, oro, futuros sobre índices—; un símbolo de criptomoneda no tiene cierre que medir. La auditoría se ejecuta una vez (o cada InpRefreshMinutes), imprime una línea por símbolo, sus cierres irregulares, los cambios, el veredicto y la proyección en el diario de los Asesores, dibuja la tabla en el gráfico y escribe los archivos CSV. Solo lee el historial: no hay ninguna función de negociación en el código, ni DLL ni acceso a la red. Con * solo lee los símbolos que ya están en el Market Watch. La herramienta nunca selecciona un símbolo, pero cuando un símbolo de la lista no se encuentra en el «Market Watch» y es necesario descargar primero su historial, la terminal lo añade allí por sí misma (comprobado: el EURCHF y el AUDNZD se añadieron en su primera lectura, mientras que el AUDUSD, leído por segunda vez, no); el diario nombra dichos símbolos antes de la primera lectura.

Lee primero el diario. En IC Markets, la línea del EURUSD es

EURUSD 62 anclajes (60 de fin de semana, 2 de festivo) | ahora UTC+3:00 | visto +2:00 +3:00 | 2 cambios: 08/11/2025 EE. UU. -60, 14/03/2026 EE. UU. +60 | régimen EE. UU., dst_tested 1 | irregular 0 | barras de domingo 0 días

Indica que el EURUSD cerró 62 veces en esa ventana; el servidor está ahora tres horas por delante de UTC y también lo ha estado dos, y el reloj se ha ajustado dos veces: se atrasó una hora la semana anterior al 8 de noviembre de 2025 y se adelantó la semana anterior al 14 de marzo de 2026, ambas fechas correspondientes a EE. UU. Las líneas de proyección que siguen indican la hora del servidor de cada apertura en los días en que cambia; por ejemplo

proyección 26/10/2026, lunes, desfase +3:00, Londres 11:00, Nueva York 15:00, Tokio 03:00, Sídney domingo 23:00 (Londres)

Utiliza varios símbolos que se detienen el fin de semana: el veredicto es el de la mayoría, y se indica el símbolo que discrepa.

Datos de entrada

entrada por defecto significado
InpSymbols "" Símbolos: vacío = símbolo del gráfico, * = Market Watch, en caso contrario, lista CSV
InpWeeks 60 Semanas de historial de H1 que se van a leer (60 abarca ambas temporadas de horario de verano)
InpMinGapHours 20 Una pausa en las cotizaciones de esta duración indica un cierre del mercado (fin de semana/día festivo)
InpProjectWeeks 8 Semanas de apertura de sesión que se deben proyectar en hora del servidor
InpLondonOpen 08:00 Apertura de Londres, hora local de Londres
InpNewYorkOpen 08:00 Apertura de Nueva York, hora local de Nueva York
InpTokyoOpen 09:00 Apertura de Tokio, hora local de Tokio
InpSydneyOpen 07:00 Apertura de Sídney, hora local de Sídney
InpMaxExamples 5 Diario: anclajes irregulares impresos por símbolo
InpWriteCsv true Escribir archivos CSV de anclajes, conmutadores, resumen, proyección y veredicto
InpShowPanel true Dibuja la tabla de resultados en el gráfico
InpPanelCorner CORNER_LEFT_UPPER Esquina del panel
InpPanelFontSize 8 Tamaño de fuente del panel
InpPanelX 10 Desplazamiento X del panel, px
InpPanelY 18 Desplazamiento del panel Y, px
InpRefreshMinutes 0 Reauditar cada N minutos (0 = auditar una vez)

Los valores fuera de rango (semanas fuera del intervalo de 2 a 520, una pausa fuera del intervalo de 6 a 60 horas, una proyección fuera del intervalo de 1 a 52 semanas, un tiempo de apertura que no sea HH:MM) se limitan o se restablecen al valor por defecto con una línea de registro cada uno; el Asesor Experto nunca se niega a iniciarse.

Archivos de salida

Todos los archivos se guardan en MQL5\Files\BrokerClockAuditor\, separados por punto y coma y con una fila de encabezado, con el nombre <símbolos>_<semanas>w_<id del gráfico>_…, de modo que dos gráficos nunca se sobrescriban entre sí.

  • …_<símbolo>_anchors.csv — una fila por cierre: hora del servidor, el instante de las 17:00 de Nueva York en UTC, desfase en minutos, fin de semana o festivo, duración de la pausa, hora de reapertura, regular o irregular.
  • …_<símbolo>_switches.csv — una fila por cada cambio de horario: los dos cierres que lo rodean, las diferencias horarias antes y después, el calendario.
  • …_summary.csv — una fila por símbolo con todos los contadores anteriores.
  • …_projection.csv — las aperturas de sesión previstas, una fila por cada día en el que cambie alguna de ellas.
  • …_verdict.csv — el desfase global y el calendario, cuántos símbolos coinciden y el desfase en tiempo real.

Límites, explicados con claridad

  • El punto de referencia es el cierre de Nueva York a las 17:00. Un símbolo que cierre a otra hora (los CFD sobre acciones a las 16:00, algunos índices) se lee desplazado por la diferencia; si se mezcla con los principales, el diario lo califica como discrepante.
  • La resolución es la barra H1: los desfases se expresan en horas enteras. Un servidor con un desfase de media hora se leería redondeado a la hora de sus barras.
  • Un bróker que cambie su reloj en una fecha no relacionada con el horario de verano de EE. UU. o Europa obtendrá datos diferentes, y su proyección asumirá que el último desfase se mantiene tal cual.
  • La proyección amplía el calendario que muestra el historial. No puede saber que un bróker trasladará sus servidores a otra zona horaria el mes que viene.
  • En la primera lectura de un símbolo cuyo historial aún no tiene el terminal, es posible que solo haya unas pocas semanas disponibles (medido: el EURCHF aparecía con 2,8 semanas). El diario indica «ventana acortada» y el calendario muestra «sin probar»; vuelve a ejecutarlo una vez que se haya introducido el historial.
  • Las semanas sin cierre habitual a ambos lados de un cambio amplían el intervalo; cuando el intervalo abarca tanto una fecha estadounidense como una europea, el cambio se etiqueta como «EE. UU. + UE» en lugar de estimarse.
  • Las cifras anteriores describen tres servidores de demostración en las fechas indicadas. No dicen nada sobre los servidores con dinero real de los mismos brókers, que pueden funcionar con otros relojes.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/78123

Advanced Prop-firm Trade Panel based on S-R Advanced Prop-firm Trade Panel based on S-R

Un panel de trading manual con un sistema de protección contra riesgos integrado, propio de una empresa de trading por cuenta propia, y un buscador oculto de niveles de soporte y resistencia para MetaTrader 5.

CajasTF – Panel lateral integrado con múltiples marcos temporales para MT5 CajasTF – Panel lateral integrado con múltiples marcos temporales para MT5

Minigráfico en el panel lateral en tiempo real con múltiples marcos temporales, combinación inteligente de colores, escala de precios independiente y temporizador de cuenta atrás de las velas.

Prop Daily Loss Meter Prop Daily Loss Meter

Muestra qué parte del límite de pérdidas diario de una cuenta de una empresa de inversión ya se ha utilizado y cuánto queda. Indicador de solo lectura.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.