La Estrategia de captura de tendencia de promedio móvil William Alligator es una estrategia de seguimiento de tendencias que combina el indicador William Alligator con un promedio móvil. La estrategia utiliza las posiciones relativas de las tres líneas (Jaw, Teeth y Lips) del indicador William Alligator para determinar la dirección de la tendencia y utiliza el promedio móvil como una confirmación secundaria de la tendencia. Cuando el precio se rompe por encima del promedio móvil y las tres líneas del indicador William Alligator están en una alineación alcista, la estrategia entra en una posición larga; cuando el precio se rompe por debajo del promedio móvil y las tres líneas del indicador William Alligator están en una alineación bajista, la estrategia entra en una posición corta.
El núcleo de la Estrategia de captura de tendencias de media móvil William Alligator es utilizar el indicador William Alligator y la media móvil para identificar y confirmar tendencias. El indicador William Alligator consta de tres líneas: Jaw, Teeth y Lips, que son promedios móviles suavizados (SMMA) de diferentes períodos. Cuando el mercado está en tendencia alcista, la línea Lips está por encima de la línea Teeth, y la línea Teeth está por encima de la línea Jaw; cuando el mercado está en tendencia bajista, la línea Lips está por debajo de la línea Teeth, y la línea Teeth está por debajo de la línea Jaw. La estrategia introduce un promedio móvil como una confirmación secundaria de la tendencia. Cuando el precio se rompe por encima del promedio móvil, combinado con la alineación alcista del indicador William Alligator, la estrategia entra en una posición larga; cuando el indicador William Alligator se rompe por debajo de la línea promedio, el indicador de precio se combina con un mecanismo de confirmación
La Estrategia de captura de tendencias de media móvil William Alligator combina el indicador William Alligator y la media móvil para formar una estrategia de seguimiento de tendencias simple y efectiva. La estrategia es adecuada para mercados con fuertes características de tendencia y mejora la precisión del reconocimiento de tendencias a través de un mecanismo de confirmación dual. Sin embargo, la estrategia puede tener un rendimiento inferior en mercados de rango y carece de medidas explícitas de gestión de riesgos.
/*backtest start: 2024-05-09 00:00:00 end: 2024-05-16 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tradedots //@version=5 strategy("Alligator + MA Trend Catcher [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01) // william alligator smma(src, length) => smma = 0.0 smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length smma jawLength = input.int(8, minval=1, title="Jaw Length", group = "william alligator settings") teethLength = input.int(5, minval=1, title="Teeth Length", group = "william alligator settings") lipsLength = input.int(3, minval=1, title="Lips Length", group = "william alligator settings") jawOffset = input(8, title="Jaw Offset", group = "william alligator settings") teethOffset = input(5, title="Teeth Offset", group = "william alligator settings") lipsOffset = input(3, title="Lips Offset", group = "william alligator settings") jaw = smma(hl2, jawLength) teeth = smma(hl2, teethLength) lips = smma(hl2, lipsLength) // ma input_trendline_length = input.int(200, "Trendline Length", group = "moving average settings") trendline = ta.ema(close, input_trendline_length) // strategy settings input_long_orders = input.bool(true, "Long", group = "Strategy Settings") input_short_orders = input.bool(true, "Short", group = "Strategy Settings") //long if close > trendline and lips > teeth and teeth > jaw and input_long_orders and strategy.opentrades == 0 strategy.entry("Long", strategy.long) label.new(bar_index, low, text = "🟢 Long", style = label.style_label_up, color = #9cff87) if close < trendline and lips < teeth and teeth < jaw strategy.close("Long") //short if close < trendline and lips < teeth and teeth < jaw and input_short_orders and strategy.opentrades == 0 strategy.entry("Short", strategy.short) label.new(bar_index, high, text = "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white) if close > trendline and lips > teeth and teeth > jaw strategy.close("Short") //ploting plot(trendline, "Trendline", color = #9cff87, linewidth = 3) plot(jaw, "Jaw", offset = jawOffset, color=#b3e9c7) plot(teeth, "Teeth", offset = teethOffset, color=#c2f8cb) plot(lips, "Lips", offset = lipsOffset, color=#f0fff1)