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

Any Indicator Alert - alerts, push notifications and multi-timeframe for any custom indicator, no source code needed - indicador para MetaTrader 5

Ayaz
Ayaz
  • MQL5 Developer / Algorithmic Trading en  Freelance
  • Pakistán
  • 841
5 (2)
MQL5 developer working on automated trading systems — Expert Advisors, custom indicators, and TradingView-to-MT5 conversions.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
17
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

Dos de los hilos más largos de este foro son «Indicadores con alertas/señales» e «Indicadores multitimeline». Siguen abiertos después de años porque la respuesta siempre ha sido la misma: consigue el código fuente, edítalo y recompílalo. Eso no sirve de nada si tienes un archivo .ex5 y no tienes el código fuente, y tampoco es viable si utilizas varios indicadores.

Esto resuelve el problema desde fuera. iCustom puede cargar cualquier indicador por su nombre y leer sus búferes sin necesidad del código fuente, por lo que una sola herramienta sirve para todos ellos.

Empieza en el modo EXPLORAR

La razón por la que la gente evita iCustom es que requiere un número de búfer, y nada te indica qué número contiene lo que ves en el gráfico. Por eso, el modo predeterminado responde primero a esa pregunta. Analiza los búferes, cuenta lo que hay en cada uno y lo muestra junto a las últimas barras.

Un búfer con un valor en casi todas las barras es una línea, así que utiliza un cruce de niveles o un cruce con respecto a un segundo búfer. Un búfer que está vacío, salvo donde el indicador ha dibujado algo, es la señal, así que utiliza «aparece un valor». Lee el número de la tabla, cambia al modo OBSERVAR y elige un disparador.

Ejemplo de lo que muestra EXPLORE

Se trata de una ejecución real en un gráfico H1 en tiempo real del XAUUSDm, observando el RSI estándar. Cada búfer del indicador aparece en la lista con el número de barras muestreadas que contienen un valor real, cuántas son exactamente cero y cuántas están en blanco, seguido de los propios valores barra por barra.

Buffers found: 3   (checked up to 16, on XAUUSDm PERIOD_H1)
------------------------------------------------------------------
  buffer  values  zeros  blank  what it looks like                     range of the values
       0      12      0      0  a line - a value on almost every bar   31.47608 .. 55.28984
       1      12      0      0  a line - a value on almost every bar   4.11585 .. 6.11288
       2      12      0      0  a line - a value on almost every bar   3.86003 .. 8.96028
------------------------------------------------------------------
  bar  time               buf0         buf1         buf2
    0  2026.09.04 20:00     45.61107     5.40493     6.44511
    1  2026.09.04 19:00     46.88624     5.82069     6.59381
    2  2026.09.04 18:00     43.33095     5.42967     7.10102
    3  2026.09.04 17:00     40.80179     5.27080     7.64725
------------------------------------------------------------------
Read it like this: the buffer that is empty on most bars and carries a value
only where the indicator drew its signal is the one to watch. Put its number
in 'Buffer to watch', set Mode to WATCH, and pick a trigger.
A buffer that has a value on every bar is a line - use a level or buffer cross.
Modo «EXPLORE» en la pestaña «Expertos»: todos los búferes de Examples\RSI en XAUUSDm H1, y lo que contiene cada uno de ellos

Aquí los tres búferes son líneas, que es lo que es el RSI. En un indicador de flechas o señales, la tabla tiene un aspecto diferente, y esa diferencia es precisamente la clave:

  buffer  values  zeros  blank  what it looks like                     range of the values
       0       0      0      8  nothing here on these bars             -
      11       8      0      0  a line - a value on almost every bar   16.08798 .. 16.25192
      14       7      1      0  sparse - looks like a signal           4166.06000 .. 4166.06000

El búfer 14 es el que hay que tener en cuenta aquí. Está vacío en la mayoría de las barras y solo contiene un precio cuando el indicador ha marcado algo, por lo que «aparece un valor» es el desencadenante. El búfer 11 es una línea interna y el búfer 0 no contiene nada en absoluto en estas barras.

Los valores tardíos y los repintados no son lo mismo, por lo que se contabilizan por separado

El valor de cada barra cerrada se conserva y se vuelve a leer en cada nueva barra. Cuando una barra cerrada ha cambiado, hay dos razones muy diferentes que lo explican.

Un valor tardío. La barra estaba en blanco y ahora contiene un valor. El indicador necesitaba barras posteriores antes de poder marcar esta. Los fractales funcionan así por diseño, al igual que la mayoría de los marcadores de oscilaciones y de estructura. No se trata de un engaño, pero sí significa que la señal nunca fue visible en la barra a la que apunta, y eso es importante si se evalúa una estrategia a simple vista.

Un repintado. Un valor que estaba ahí se ha desplazado o ha desaparecido. Algo sobre lo que podrías haber actuado ya no está.

Ambos se indican con la hora de la barra, el valor anterior y el nuevo, y el comentario del gráfico lleva un recuento actualizado de cada uno. No se deduce nada de la barra en formación, ya que es normal que esta cambie.

Esa distinción se comprobó en la práctica, en lugar de afirmarse a priori. En el gráfico XAUUSD H1, 299 barras, del 1 al 20 de agosto de 2026, observando el búfer 0 de cada indicador:

Indicador observado Valores retrasados Repintados
Ejemplos\Fractales: marca una barra dos barras después de su cierre 40 0
Ejemplos\ZigZag, vuelve a trazar su último tramo según su diseño 0 83, cada uno de ellos un valor que ha desaparecido
Ejemplos\RSI, se calcula una vez que se cierra una barra 0 0

Así pues, se dice «tardío» de un indicador que va con retraso, «repaint» de uno que se actualiza, y nada de uno que no hace ninguna de las dos cosas. En la misma ejecución, el nivel de activación se disparó dos veces cuando el RSI cruzó por debajo de 30, en 28,38 y 29,21; la línea principal del MACD cruzó por encima de su línea de señal nueve veces y por debajo de ella otras nueve; y la lectura del RSI del H4 en un gráfico H1 generó una alerta por cada barra H4, 77 en total, cada una de ellas etiquetada como PERIOD_H4. También se comparó con un indicador de terceros de Smart Money Concepts de 157 KB, en el que se encontraron 16 búferes y se separaron tres líneas internas de dos búferes de señal dispersos.

Desencadenantes

Aparece un valor en una barra, ya sea en la barra que acaba de cerrarse o, en el caso de un indicador rezagado, en una barra anterior que acaba de marcar; un cruce por encima o por debajo de un nivel; el cruce de un búfer con otro en cualquier dirección; o simplemente un cambio en el valor. Las alertas se envían a una ventana emergente, un sonido, una notificación push o un correo electrónico, una por barra. Por defecto, solo se evalúan las barras cerradas. Si se desactiva esta opción, la barra en formación se evalúa en cada tick, lo que permite alertar antes y puede revertirse, aunque en cualquier caso sigue habiendo una alerta por barra.

Un marco temporal superior

Selecciona «Leer en este marco temporal» y el indicador supervisado se cargará en ese marco temporal en lugar del del gráfico. Las barras, los desencadenantes y la opción de repintado se ajustarán a él.

Dos ejemplos prácticos

Ejemplo 1: avísame cuando el RSI supere el nivel 70. Ya conoces este indicador, así que la opción «EXPLORAR» solo sirve para comprobarlo.

Datos de entrada Valor
Archivo del indicador Ejemplos\RSI
Sus entradas 14
Leerlo en este intervalo de tiempo Marco temporal actual
Modo VER
Búfer para ver 0
Desencadenante El búfer cruza por encima del nivel
Nivel 70
Alerta emergente verdadero

En los datos de prueba que generaron cuatro alertas, en 75,04, 76,31, 70,38 y 74,83. Para obtener el mismo resultado en el gráfico de cuatro horas mientras te centras en el de una hora, configura «Leer en este intervalo de tiempo» en H4 y no cambies nada más.

Ejemplo 2: un indicador de flechas que has descargado y del que no tienes la fuente. Aquí es EXPLORE quien hace el trabajo de verdad.

  1. Adjúntalo con el modo en EXPLORE y el «Archivo del indicador» configurado con el nombre de ese indicador. Deja «Sus entradas» en blanco para utilizar sus propios valores predeterminados.
  2. Abre la Caja de herramientas, la pestaña «Expertos», y busca el búfer que esté disperso —vacío en la mayoría de las barras, con un valor en el que se vea una flecha en el gráfico—. Supongamos que es el búfer 2.
  3. Vuelve a añadirlo con el «Modo» en «WATCH», el «Buffer» a vigilar en 2, el «Desencadenador» en «aparece un valor» y la «Notificación push» activada.
  4. Si EXPLORE ha mostrado una nota indicando que un búfer contiene en su mayor parte ceros exactos, activa «Este indicador escribe 0 cuando no significa nada» y vuelve a leer la tabla antes de elegir.

Qué hace cada parámetro

Entrada Qué hace
Archivo del indicador Ruta en MQL5\Indicators, sin la extensión. Una barra invertida, por ejemplo, Examples\RSI o MyFolder\MyArrows. Se inicia vacío a propósito —no hay ningún indicador que todas las terminales tengan necesariamente— y no ocurre nada hasta que lo rellenes.
Sus entradas Las propias entradas del indicador supervisado, separadas por comas, en el orden en que se declaran. Si se deja en blanco, se utilizan los valores por defecto. Los números enteros se pasan como int, los números con punto decimal como double, true y false como bool, y todo lo demás como texto. El registro muestra lo que se ha decidido para que puedas comprobarlo.
Leerlo en este marco temporal Carga el indicador supervisado en este marco temporal en lugar del del gráfico. El marco temporal actual se refiere al del propio gráfico.
Este indicador escribe un 0 cuando significa «nada» Considera un 0 exacto como vacío. Es necesario para indicadores como ZigZag. EXPLORE te indica cuándo merece la pena activarlo.
Modo EXPLORE muestra la lista de búferes y no emite ninguna alerta. WATCH emite alertas sobre el búfer que hayas elegido.
Cuántos búferes sondear EXPLORE se detiene aquí. Aumenta este valor si la nota indica que se ha alcanzado el límite.
Cuántos compases recientes mostrar Cuántos compases muestra y cuenta EXPLORE.
Búfer a vigilar El número de búfer que has leído en la tabla de EXPLORE.
Segundo búfer Solo lo utilizan los dos disparadores de cruce de búferes.
Desencadenante Aparece un valor, se produce un cruce por encima o por debajo del nivel, el búfer A cruza al búfer B en cualquier sentido, o simplemente cambia el valor.
Nivel Solo lo utilizan los dos disparadores de cruce de nivel.
Evaluar solo las barras cerradas Activado por defecto: se realiza una evaluación cuando se cierra una barra, y no se puede revertir. Desactivado significa que la barra en formación se evalúa en cada tick, lo que alerta antes pero puede anularse.
Ventana emergente, sonido, notificación push, correo electrónico Forma de notificación. Cualquier combinación. La notificación por push requiere que tengas configurado tu ID de MetaQuotes en Herramientas, Opciones, Notificaciones.
Volver a leer las barras cerradas e informar de los cambios Activa los informes de valores tardíos y de repintado.
Cuántas barras cerradas seguir supervisando Hasta qué punto se remonta la comprobación. No se detectarán los cambios que se produzcan más atrás en el tiempo.
Ignorar cambios menores que este Déjalo en 0 para detectar todos los cambios. Aumenta este valor si un indicador presenta fluctuaciones en el último decimal.

Tres aspectos que suelen pasar desapercibidos y que se tienen en cuenta

Algunos indicadores escriben un simple 0 cuando quieren decir «aquí no hay nada», en lugar de EMPTY_VALUE. ZigZag es uno de ellos. Si se lee sin más, ese búfer parece una línea continua de ceros. Hay una opción de configuración para ello, y EXPLORE muestra un aviso cuando un búfer contiene principalmente ceros exactos con algunos valores reales, para que puedas decidir. Se evita adivinar deliberadamente: un oscilador que realmente se sitúa en cero parece idéntico desde fuera.

Una barra que el indicador aún no ha registrado se lee como exactamente 0,0. Eso es lo que el terminal introduce en un búfer recién creado, y un indicador con retraso deja sus barras más recientes así a propósito hasta que dispone de las barras posteriores que necesita. Fractals nunca modifica sus tres últimas barras. Si se lee de forma ingenua, cada una de esas barras «cambia» posteriormente, y la primera versión de esta herramienta informaba de trescientos repintados en un indicador que no tiene ninguno. Una barra que pasa de ese 0,0 a estar en blanco se trata ahora como una inicialización, y de 0,0 a un valor, como una llegada tardía.

El grupo de entradas ocupa una ranura de parámetro posicional. Si llamas a este indicador desde tu propio código con iCustom o IndicatorCreate, las seis etiquetas de grupo deben contarse junto con las entradas reales, como cadenas, o el identificador fallará con el error 4002. Esto se ha comprobado, no es una suposición. El búfer 0 contiene el valor del búfer supervisado, por lo que tu EA puede leerlo en lugar de repetir la conexión; se ha comprobado con el RSI supervisado en 299 de 299 barras.

Si el indicador que has nombrado no se puede cargar —por un error tipográfico o porque el archivo aún no se ha compilado—, este no se desconecta. Se indica en el gráfico y en el registro de expertos, y sigue intentándolo cada pocos segundos, por lo que basta con corregir el nombre.

Lo que no hace

Lee los búferes de los indicadores. Un indicador que solo dibuja con objetos del gráfico no expone ningún búfer, por lo que esta herramienta no tiene nada que leer. Nada ajeno al indicador puede cambiar eso.

«No se ha observado ningún repintado en más de 200 barras» es una observación sobre esas barras, no una garantía sobre todas las barras que se formarán en el futuro. Es una indicación, y mejor que la afirmación con la que suelen venir la mayoría de los indicadores, pero no es una prueba. La comprobación abarca el número de barras cerradas que hayas establecido en «Cuántas barras cerradas seguir observando»; no se detecta ningún cambio anterior a ese punto.

No puede indicarte qué significa un «buffer». Te mostrará que el «buffer 3» mantiene un valor de 1,0 en catorce barras; que eso sea una señal de compra o no, lo decides tú.

Un indicador que emita una señal con un valor exactamente igual a 0,0 no activará «aparece un valor», ya que esa es la lectura de una barra no registrada. Los búferes de señales contienen un precio o un indicador, nunca 0,0, por lo que, en la práctica, esto no supone ningún coste, pero es una regla y debes conocerla.

El búfer 0 refleja el búfer observado solo cuando el marco temporal observado es el propio del gráfico. Asignar un marco temporal superior a cada barra del gráfico es una tarea diferente y no se lleva a cabo.

Los propios canales de alerta —ventana emergente, sonido, notificación push y correo electrónico— suponen una llamada cada uno y no se ejecutaron en el Probador de estrategias, que no los envía. Todo lo que la herramienta decide antes de esa llamada sí se ejecutó.

Cómo instalarlo

  1. Copia el archivo AnyIndicatorAlert.mq5 en la carpeta MQL5\Indicators de la carpeta de datos de tu terminal. En MetaTrader, ve a «Archivo» y selecciona «Abrir carpeta de datos» para acceder a ella.
  2. Ábrelo en MetaEditor y pulsa F7. Debería indicar 0 errores y 0 advertencias.
  3. De vuelta en la terminal, pulsa Ctrl+N para abrir el Navegador, abre «Indicadores» y arrastra AnyIndicatorAlert a un gráfico. Si no aparece en la lista, haz clic con el botón derecho en el Navegador y selecciona «Actualizar».
  4. Rellena el campo «Archivo del indicador» —que estará vacío al principio—, deja el Modo en EXPLORE y pulsa Aceptar. Empieza probando con Examples\RSI.
  5. Pulsa Ctrl+T para abrir la Caja de herramientas y abre la pestaña Expertos. Allí encontrarás la tabla de búfer.

Escrito y verificado en MetaTrader 5, versión 6140. No realiza órdenes ni cambia nada.

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

SuperTrend TV EA SuperTrend TV EA

Un asesor experto que opera con el indicador SuperTrend TV a través de iCustom únicamente en barras cerradas, y que incluye un informe de auditoría que demuestra que cada operación se corresponde con una señal y que no se ha pasado por alto ninguna señal.

GridCapitalCalculator GridCapitalCalculator

Todo el que utiliza una estrategia de grid se pregunta: ¿es mi cuenta lo suficientemente grande? La respuesta habitual —la pérdida en el último nivel del grid— es una cifra errónea. Lo que acaba con la cuenta es que el nivel de margen alcance el stop-out del bróker, mientras la cadena sigue abierta y aún parece recuperable. Este EA calcula la cifra real y, a continuación, cuenta cuántas veces se ha producido ya un movimiento de esa magnitud en el historial M1 del propio símbolo. Corrige tres errores, todos ellos por exceso de precaución: una cadena de N tramos flota en el paso x N(N-1)/2, no en el paso x N (con 10 tramos, 45 pasos de pérdida, no 10); las posiciones abiertas también inmovilizan el margen mientras están en fluctuación; y el stop-out es un porcentaje, no cero: al 50 %, basta con perder la mitad del capital. «Necesitas 86 dólares de margen» es una abstracción. ««Un movimiento de ese tamaño se produjo 71 veces en 100 días, uno cada 1,4» es una decisión. Establece InpEquity en una cantidad que aún no tengas para ver qué necesitaría realmente la configuración. Estrictamente de solo lectura: nunca abre, cierra ni modifica una posición.

Accumulation/Distribution Accumulation/Distribution

El indicador Accumulation/Distribution (Acumulación/Distribución) queda determinado por los cambios que se producen en el precio y en el volumen.

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.