A Estratégia de Captura de Tendência de William Alligator é uma estratégia de tendência que combina o indicador William Alligator com uma média móvel. A estratégia usa as posições relativas das três linhas (Maxa, Dentes e Lábios) do indicador William Alligator para determinar a direção da tendência e usa a média móvel como uma confirmação secundária da tendência. Quando o preço quebra acima da média móvel e as três linhas do indicador William Alligator estão em alinhamento de alta, a estratégia entra em uma posição longa; quando o preço quebra abaixo da média móvel e as três linhas do indicador William Alligator estão em alinhamento de baixa, a estratégia entra em uma posição curta. Esta estratégia é adequada para mercados com características de tendência claras, como ativos altamente voláteis como Bitcoin e Ethereum.
O núcleo da Estratégia de Captação de Tendência da Média Móvel William Alligator é usar o indicador William Alligator e a média móvel para identificar e confirmar tendências. O indicador William Alligator consiste em três linhas: Jaw, Teeth e Lips, que são médias móveis suaves (SMMA) de diferentes períodos. Quando o mercado está em uma tendência de alta, a linha Lips está acima da linha Teeth e a linha Teeth está acima da linha Jaw; quando o mercado está em uma tendência de queda, a linha Lips está abaixo da linha Teeth e a linha Teeth está abaixo da linha Jaw. A estratégia introduz uma média móvel como uma confirmação secundária da tendência. Quando o preço quebra acima da média móvel, combinado com o alinhamento de alta do indicador William Alligator, a estratégia entra em uma posição longa; quando o indicador William Alligator entra abaixo da linha média, o indicador de preço pode combinar com um mecanismo de confirmação de ruído e melhorar efetivamente a precisão da estratégia.
A Estratégia William Alligator Moving Average Trend Catcher combina o indicador William Alligator e a média móvel para formar uma estratégia de tendência simples e eficaz. A estratégia é adequada para mercados com fortes características de tendência e melhora a precisão do reconhecimento de tendência por meio de um mecanismo de confirmação dupla. No entanto, a estratégia pode ter um desempenho inferior em mercados de faixa e não possui medidas explícitas de gerenciamento de risco. No futuro, a estratégia pode ser otimizada em termos de filtragem de força de tendência, otimização do mecanismo de saída, ajuste dinâmico de parâmetros e gerenciamento de riscos para melhorar a robustez e lucratividade da estratégia.
/*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)