Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 17
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Stormbreaker ADX es un asesor experto de MetaTrader 5 que combina la dirección de Supertrend con la fuerza del ADX y la relación direccional entre +DI y −DI. Evalúa las señales en las velas cerradas, determina el tamaño de las posiciones a partir de un presupuesto fijo de riesgo sobre el capital y establece un stop de protección basado en el ATR.
El código fuente descargable está destinado al estudio, las pruebas y la modificación. El EA no garantiza beneficios; pruébalo con los datos y las especificaciones de los contratos de tu bróker antes de plantearte utilizarlo en condiciones reales.

Figura 1. Los filtros de entrada se evalúan de forma secuencial al inicio de una nueva vela en el marco temporal de la señal.
1. Resumen de la estrategia
El marco temporal predeterminado de la señal es H4. En cada nueva barra H4, el EA lee la barra anterior completada (desplazamiento 1), calcula un Supertrend personalizado a partir del ATR y lee los valores de ADX, +DI, −DI y ATR. Solo se considera una operación cuando la dirección del Supertrend y el movimiento direccional coinciden y el ADX alcanza el umbral de entrada.
| Componentes | Predeterminado | Finalidad |
|---|---|---|
| Marco temporal de la señal | H4 | Marco temporal de evaluación de la señal; las entradas se comprueban una vez por cada nueva barra. |
| Supertrend | ATR 10, factor 3,0 | Define la dirección actual de la tendencia. |
| ADX / DMI | ADX 14; umbral de entrada 23 | Filtra la fuerza de la tendencia y confirma la dirección utilizando +DI y −DI. |
| Umbral de fuerza de salida | ADX por debajo de 18 | Cierra una posición gestionada cuando la fuerza de la tendencia se debilita por debajo del nivel de salida. |
| Stop inicial | 2 × ATR(10) | Coloca el stop a partir del cierre de la barra de señal completada y, a continuación, lo ajusta a las normas de precios del bróker. |
| Presupuesto de riesgo | 0,5 % del capital actual | Calcula el volumen a partir de la pérdida estimada entre la cotización de entrada actual y el stop. |
| Take profit | Ninguno | No hay un objetivo fijo de toma de beneficios; las salidas se basan en señales o en la fuerza de la tendencia, o bien se realizan mediante el stop loss. |
2. Reglas de entrada y salida
| Acción | Condiciones |
|---|---|
| Abrir una posición de compra | Entradas de compra habilitadas; Supertrend alcista; ADX ≥ 23; +DI > −DI. |
| Abrir una posición de venta | Entradas de venta activadas; Supertrend es bajista; ADX ≥ 23; −DI > +DI. |
| Cerrar una posición existente | ADX < 18, o la dirección de Supertrend se invierte en contra de la posición. Una señal de calificación opuesta también cierra o invierte la posición gestionada. |
El EA no aumenta una posición en la misma dirección cuando encuentra una posición existente con el símbolo y el número mágico configurados. Un stop-loss permanece activo independientemente de la salida de la señal.
3. Cálculo del volumen basado en el riesgo
Antes de enviar una orden, Stormbreaker calcula la pérdida por un lote a partir de la cotización de entrada actual (Ask/Bid) hasta el stop propuesto utilizando OrderCalcProfit . Divide el presupuesto de riesgo del 0,5 % del capital por esa pérdida estimada por un lote, redondea el volumen a la baja hasta el paso de volumen permitido por el bróker y aplica el límite máximo de volumen. También comprueba el margen disponible. Si el lote mínimo permitido superara el presupuesto de riesgo, o si el margen fuera insuficiente, el EA omite la operación.
double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);
Extracto simplificado a efectos explicativos. El código fuente completo incluye comprobaciones de precios no válidos, alineación de ticks y volumen, distancias de stop del bróker y margen. Dado que el stop se calcula a partir del cierre de la vela anterior, mientras que el tamaño de la posición se basa en la cotización de entrada actual, el deslizamiento, las brechas y los costes de ejecución pueden hacer que la pérdida real difiera del 0,5 %. Se trata de un objetivo de riesgo, no de una pérdida máxima garantizada.

Figura 2. Los niveles de stop se basan en el ATR; el EA no tiene un objetivo de beneficio fijo.
4. Parámetros y valores por defecto
| Parámetros | Valor por defecto | Significado |
|---|---|---|
| SignalTimeframe | PERIOD_H4 | Marco temporal utilizado para las señales. |
| Factor de Supertrend | 3,0 | Multiplicador del ATR utilizado por Supertrend. |
| SupertrendATRPeriod | 10 | Período ATR para Supertrend y el stop inicial. |
| ADXPeriod | 14 | Período de cálculo del ADX/DMI. |
| ADX de entrada | 23,0 | ADX mínimo para una nueva entrada. |
| Salida ADX | 18,0 | Nivel de ADX por debajo del cual se cierra una posición abierta. |
| Múltiplo de ATR de stop | 2,0 | Múltiplo del ATR utilizado para el stop inicial. |
| Volumen máximo | 100,0 | Límite superior de lotes; se siguen aplicando los límites reales del símbolo. |
| Puntos de desviación | 20 | Desviación máxima de precio que se pasa a la solicitud de operación, en puntos. |
| HabilitarCompra / HabilitarVenta | true / true | Activa o desactiva cada dirección. |
| Número mágico | 51003 | Identificador utilizado para localizar la posición gestionada por el EA. |
El porcentaje de riesgo del 0,5 % es actualmente una constante fija en el código fuente, no un valor introducido por el usuario.
5. Ejemplo de código de señal en MQL5
El siguiente fragmento muestra las condiciones de entrada con barra cerrada que utiliza el EA:bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);
En el EA completo, estas condiciones se ejecutan únicamente tras detectar una nueva barra del marco temporal de la señal y recuperar correctamente la barra cerrada anterior y los valores del indicador.
6. Instantánea de la prueba retrospectiva del bróker
Las siguientes figuras proceden de los informes del Probador de Estrategias de MetaTrader 5 proporcionados para el XAGUSD en el timeframe H4. Los depósitos iniciales difieren, por lo que se muestra la rentabilidad neta junto con el beneficio neto. La calidad del historial de ticks también varía y es especialmente limitada en el caso de Fusion Markets.| Bróker | Fin del periodo | Depósito inicial | Beneficio neto | Rentabilidad neta | Capital máximo DD | Factor de rentabilidad | Índice de Sharpe | Operaciones | Ticks reales |
|---|---|---|---|---|---|---|---|---|---|
| IC Markets | 23 de septiembre de 2026 | 1 000 000 USD | 154 482,51 USD | 15,45 % | 19,40 % | 1,12 | 0,50 | 520 | 32 % |
| BlackBull Markets | 24 de septiembre de 2026 | 1 000 000 USD | 225 766,54 USD | 22,58 % | 5,00 % | 1,45 | 1,00 | 196 | 41 % |
| Fusion Markets | 23 de septiembre de 2026 | 100 000 USD | 26 680,57 USD | 26,68 % | 8,97 % | 1,26 | 2,22 | 374 | 4 % |

7. Compatibilidad y uso práctico
- Plataforma: MetaTrader 5; lenguaje de programación: MQL5.
- Adjunta el EA al gráfico del símbolo con el que desees operar; el marco temporal de la señal se selecciona mediante SignalTimeframe.
- No se requieren archivos de indicadores personalizados externos. El código fuente utiliza la biblioteca estándar Trade\Trade.mqh y los datos ATR/ADX integrados.
- Utilice un número mágico único para cada instancia del EA. Evite ejecutar otras estrategias u operaciones manuales sobre el mismo símbolo en cuentas de compensación, en las que se agregan las posiciones.
- Comprueba primero en el Strategy Tester y en una cuenta demo los requisitos específicos del bróker en cuanto a volumen mínimo, tamaño del tick, distancia del stop y margen.
Aviso de riesgo: El trading automatizado conlleva un riesgo considerable. Un stop loss no puede garantizar el precio de salida en caso de brechas de cotización o en mercados volátiles. Los resultados de las pruebas retrospectivas, de la cuenta demo y los datos históricos no garantizan resultados futuros. Eres responsable de evaluar el EA y su configuración antes de utilizarlo.
Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/77718
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70)
Rupturas de Donchian al estilo «Turtle» en el oro, seguidas de tres salidas simultáneas: un stop dinámico basado en el ATR, el canal de salida «Turtle» y un objetivo fijo. Se ha realizado un backtest en el XAUUSD en los gráficos H1 y H4 de 2025 y 2026, donde las doce combinaciones resultaron rentables. Sin repintado, con buffers para un asesor experto.
ATS Confirmed Swings - non-repainting swing highs and lows
Marca los máximos y mínimos de oscilación solo después de que las barras cerradas N los hayan confirmado, por lo que una oscilación trazada nunca se desplaza ni desaparece.
ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation
Marca las velas de impulso: cuerpo de al menos ATR × multiplicador, cuerpo de al menos un porcentaje establecido del rango de la vela, cierre cerca del extremo, confirmación opcional del volumen de ticks. Flecha verde debajo de un impulso alcista, roja encima de uno bajista. Solo barras cerradas, sin repintado. Las señales se encuentran en los dos búferes para que un asesor experto pueda leerlas con iCustom.
PropGuard 1.02 - account risk manager for prop firm accounts
Sistema de protección a nivel de cuenta para cuentas de empresas de gestión de carteras. Supervisa todas las posiciones de la cuenta, cierra todas las operaciones al alcanzar el límite de pérdida diario o máximo, limita el capital en riesgo por posición, cierra las operaciones que no tengan un stop y puede liquidar posiciones ante noticias de gran impacto.