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
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) - indicador para MetaTrader 5
- Visualizaciones:
- 13
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Laboratorio de salidas tras rupturas: rupturas del canal de Donchian con tres salidas comparadas en paralelo
Identifica las rupturas del canal de Donchian al estilo «Turtle» y las sigue con tres salidas simultáneas: un stop dinámico ATR, el canal de salida «Turtle» y un objetivo fijo. Un panel muestra qué salida ha generado más beneficios en tu valor, en R, incluido el spread. Sin repintado, con búferes para un asesor experto.
¿Por qué tres salidas?
Los sistemas de ruptura de canales se ganan o se pierden en la salida. La entrada es sencilla y todo el mundo está de acuerdo en ella: si el precio cierra por encima del máximo más alto de las últimas 20 barras, se compra. A partir de ahí empiezan las discusiones. ¿Seguirlo con un stop dinámico ATR? ¿Utilizar el canal de salida de 10 barras de las Tortugas? ¿Tomar un objetivo fijo de 2R y salir?
Todos los indicadores de ruptura que he encontrado eligen una salida y la trazan. Yo quería ver las tres en las mismas entradas, en mi propio valor, antes de decidirme. Así que este indicador toma cada ruptura y la analiza con tres salidas en paralelo, para luego mostrar los resultados uno al lado del otro.
Cómo se define una ruptura
- El canal de entrada está formado por el máximo más alto y el mínimo más bajo de las barras anteriores de InpEntryBars (20 por defecto, Sistema Turtle 1).
- Una señal de compra es una barra cerrada que cierra por encima del máximo del canal, mientras que la barra anterior no lo hizo. Una señal de venta es la imagen especular. Solo cuenta el primer cierre más allá del canal, por lo que una tendencia fuerte no genera una flecha en cada barra.
- La operación comienza en la apertura de la barra siguiente. El stop inicial se sitúa a una distancia igual a InpStopATR multiplicado por el ATR (2,0 × ATR(20), el «2N» de los Turtles).
- Un filtro de tendencia opcional mantiene únicamente las rupturas en el lado de una media móvil exponencial (EMA) de 200. Está desactivado por defecto.
Las tres salidas
- A. Trail de ATR. El stop sigue el mejor precio desde la entrada a una distancia igual a InpTrailATR multiplicado por el ATR (3,0 por defecto) y nunca retrocede.
- B. Canal de salida de las Tortugas. El stop sigue el mínimo más bajo de las últimas InpExitBars barras para una posición larga (10 por defecto, Sistema 1) y el máximo más alto para una posición corta.
- C. Objetivo fijo. Un take profit igual a InpTargetR multiplicado por el riesgo inicial (2R por defecto), con el stop inicial.
Cada resultado se mide en R, donde 1R es la distancia desde la entrada hasta el stop inicial. El spread de la barra de señal se resta como coste. Un stop que el precio supera de forma discontinua (gap) se ejecuta al precio de apertura de la barra, no al precio del stop. Cuando tanto el stop como el objetivo se encuentran dentro de una misma barra, se cuenta el stop, ya que una barra no permite determinar cuál se produjo primero.
Cada ruptura se puntúa por separado, por lo que las operaciones pueden solaparse. El panel muestra una comparación de las salidas en relación con el mismo conjunto de entradas. No se trata de una simulación de cuenta con dimensionamiento de posiciones.
Lo que muestra el panel
- El número de rupturas, divididas en largas y cortas, y cuántas siguen abiertas.
- Para cada salida: operaciones cerradas, tasa de acierto, factor de beneficio, R medio y la suma en R.
- Para la salida que elijas trazar (InpDrawExit): las sumas de las posiciones largas y cortas por separado, para que puedas ver si un lado determina el resultado.
La salida elegida también se traza en el gráfico. Cada operación tiene una línea de entrada y su resultado en R, y el stop de la última operación se traza como una línea punteada.
Resultados obtenidos con el oro
XAUUSD, datos de MetaQuotes-Demo, parámetros predeterminados. La simulación de 2025 abarca los 360 días hasta el 31 de diciembre de 2025. La simulación de 2026 abarca los 260 días hasta el 18 de septiembre de 2026.
| XAUUSD | Operaciones | Porcentaje de operaciones ganadoras | PF | Suma |
|---|---|---|---|---|
| H4 2025, salida A (ATR trail) | 129 | 43,4 % | 1,45 | +23,08R |
| H4 2025, salida B (canal de 10 barras) | 129 | 41,1 % | 2,34 | +66,20R |
| H4 2025, salida C (objetivo de 2R) | 129 | 45,7 % | 1,68 | +47,83R |
| H4 2026, salida A | 76 | 35,5 % | 1,10 | +3,46R |
| H4 2026, salida B | 76 | 35,5 % | 1,70 | +22,35R |
| H4 2026, salida C | 75 | 38,7 % | 1,26 | +11,99R |
| H1 2025, salida A | 465 | 37,6 % | 1,32 | +70,32 R |
| Primer semestre de 2025, salida B | 465 | 37,8 % | 1,23 | +51,18R |
| Primer semestre de 2025, salida C | 465 | 37,8 % | 1,21 | +60,32R |
| Primer semestre de 2026, salida A | 270 | 39,6 % | 1,21 | +25,14R |
| 1.º semestre de 2026, salida B | 270 | 40,4 % | 1,29 | +35,15R |
| Primer semestre de 2026, salida C | 269 | 38,3 % | 1,23 | +39,06R |
Las doce son positivas. En el H4, el canal de salida de las Tortugas fue la mejor salida en ambos años, y el seguimiento del ATR fue el más débil. En el H1 no hubo un ganador claro: el seguimiento lideró en 2025 y el objetivo fijo lideró en 2026. Esa es la razón por la que existe el panel. La «mejor salida» variaba según el marco temporal y el año, incluso en un mismo valor.
Ahora viene la parte importante, antes de que nadie se emocione. El oro subió mucho en 2025, y eso se refleja en el desglose. Con la salida B en H4, las 99 posiciones largas obtuvieron +79,4 R y las 30 posiciones cortas perdieron -13,2 R. En 2026, el oro osciló en ambos sentidos y ambas posiciones fueron positivas: 42 posiciones largas obtuvieron +14,9 R y 34 posiciones cortas obtuvieron +7,5 R.
Para ver en qué medida esto se debe a la tendencia del oro, apliqué los mismos parámetros predeterminados a tres pares de divisas en el gráfico H4 durante el mismo periodo de 2026:
| H4 2026 | Suma de salidas A (PF) | Suma de salida B (PF) | Suma de salida C (PF) |
|---|---|---|---|
| EURUSD | -11,74R (0,68) | -3,86R (0,89) | -5,97R (0,88) |
| GBPUSD | -9,21R (0,77) | -3,15R (0,91) | +6,90R (1,13) |
| USDJPY | +1,30R (1,03) | +0,73R (1,02) | +3,03R (1,06) |
Entre plano y negativo. Las rupturas requieren un mercado con tendencia, y en este periodo el oro la tuvo, mientras que estos pares, en su mayoría, no. Por lo tanto, interpreto las cifras del oro como que «las rupturas funcionaron mientras el oro tenía tendencia», no como una prueba de que siempre vaya a ser así.
Fig. 1. XAUUSD H4, desde finales de julio hastamediados de septiembre de 2026: flechas de ruptura, el canal de entrada y el resultado de cada operación en la salida B
Fig. 2. El panel del XAUUSD H4 en 2025 y 2026, con la salida B marcada
Datos de entrada
| Datos de entrada | Por defecto | Qué hace |
|---|---|---|
| InpEntryBars | 20 | Longitud del canal de entrada en barras |
| InpExitBars | 10 | Longitud del canal de salida para la salida B |
| InpATRPeriod | 20 | Período ATR |
| InpStopATR | 2,0 | Stop inicial, múltiplos de ATR |
| InpTrailATR | 3,0 | Distancia de salida del trail, múltiplos de ATR |
| InpTargetR | 2,0 | Salida C: toma de beneficios, múltiplos de R |
| InpUseTrend | false | Mantener solo las rupturas en el sentido de la tendencia EMA |
| InpTrendEMA | 200 | Período de la EMA de tendencia, marco temporal del gráfico |
| InpDrawExit | A. Rastreo ATR | Salida trazada en el gráfico y enviada a los búferes del 6 al 9 |
| InpDaysBack | 365 | Días de historial en el cuadro de mando |
| InpDrawDays | 60 | Días con líneas de operaciones trazadas |
| InpShowPanel | true | Mostrar el panel |
| InpPanelCorner | esquina superior izquierda | Esquina del panel |
| InpAlertPopup | true | Alerta emergente ante una nueva ruptura |
| InpAlertPush | false | Notificación push ante una nueva ruptura |
Para el sistema clásico Turtle 2, configura InpEntryBars en 55 e InpExitBars en 20.
Uso desde un asesor experto
Una ruptura se registra en la barra que ha cerrado más allá del canal, por lo que un asesor experto (EA) la lee en el shift 1 una vez que dicha barra ha cerrado. Las flechas se conservan en todo el historial cargado, no solo dentro de la ventana de puntuación. He comprobado en el probador de estrategias que las señales que un EA detectaba en tiempo real eran exactamente las mismas que las que había en los búferes al final de la ejecución: 473 de 473 en H1 y 131 de 131 en H4 para el oro en 2025.
| Búfer | Contenido |
|---|---|
| 0 | Compra en ruptura; el valor es la entrada prevista (apertura de la siguiente barra); EMPTY_VALUE en caso contrario |
| 1 | Vender en la ruptura, mismo formato |
| 2, 3 | Máximo y mínimo del canal de entrada |
| 4 | Stop de la última operación por debajo de la salida trazada |
| 5 | Stop inicial en la barra de ruptura |
| 6 a 9 | Cuadro de resultados de la salida trazada en la última barra cerrada: operaciones cerradas, ganancias, suma en R, suma de las pérdidas en R |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H4, "BreakoutExitLab"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- Las rupturas se confirman en las barras cerradas, así que compruébalas una vez por cada nueva barra datetime bar = iTime(_Symbol, PERIOD_H4, 0); if(bar == lastBar) return; lastBar = bar; double buy[1], sell[1], stop[1]; if(CopyBuffer(handle, 0, 1, 1, buy) < 1 || CopyBuffer(handle, 1, 1, 1, sell) < 1 || CopyBuffer(handle, 5, 1, 1, stop) < 1) return; if(buy[0] != EMPTY_VALUE) Print("Breakout buy, initial stop ", stop[0]); if(sell[0] != EMPTY_VALUE) Print("Breakout sell, initial stop ", stop[0]); }
El indicador no tiene grupos de entrada a propósito. MQL5 cuenta cada «grupo de entrada» como un parámetro de iCustom(), y cada valor posterior se desplaza una posición.
Una pequeña cosa que aprendí al crear el panel: la etiqueta de un gráfico admite un máximo de 63 caracteres. Las primeras filas de mi panel eran más largas y MetaTrader las cortaba por la mitad de un número, así que ahora las mantengo cortas.
Limitaciones
Los resultados proceden de datos de barras, por lo que se desconoce el orden de los eventos dentro de una misma barra. Solo se cobra el spread, sin comisiones ni deslizamientos más allá de las brechas a través del stop. Las operaciones se contabilizan una a una y pueden solaparse, por lo que las sumas no constituyen una curva de capital. Todas las cifras anteriores proceden de los datos de un bróker correspondientes a dos periodos en los que el oro experimentó una fuerte tendencia.
Ali Rajput
Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/77687
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.
ATR Trailing Stop (Pine Script Port)
Adaptación a MQL5 de un indicador de stop dinámico ATR en Pine Script: nLoss = múltiplo de ATR; el stop se desplaza por debajo del precio en una tendencia alcista y por encima del precio en una tendencia bajista, y cambia de sentido (con una flecha de compra/venta) cuando el precio cierra atravesándolo. Incluye una adaptación de referencia en Python y una prueba de paridad que comprueba que ambas coinciden con una transcripción literal, barra a barra, de la semántica de Pine (na/nz/historial de la serie).
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)
El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.
