La stratégie d'attraction de tendance de la moyenne mobile William Alligator est une stratégie de suivi de tendance qui combine l'indicateur William Alligator avec une moyenne mobile. La stratégie utilise les positions relatives des trois lignes (Jaw, Teeth et Lips) de l'indicateur William Alligator pour déterminer la direction de la tendance et utilise la moyenne mobile comme confirmation secondaire de la tendance. Lorsque le prix dépasse la moyenne mobile et que les trois lignes de l'indicateur William Alligator sont en alignement haussier, la stratégie entre en position longue; lorsque le prix dépasse la moyenne mobile et que les trois lignes de l'indicateur William Alligator sont en alignement baissier, la stratégie entre en position courte.
L'indicateur William Alligator se compose de trois lignes: Jaw, Teeth et Lips, qui sont des moyennes mobiles lisses (SMMA) de différentes périodes. Lorsque le marché est en tendance haussière, la ligne Lips est au-dessus de la ligne Teeth, et la ligne Teeth est au-dessus de la ligne Jaw; lorsque le marché est en tendance baissière, la ligne Lips est en dessous de la ligne Teeth, et la ligne Teeth est en dessous de la ligne Jaw. La stratégie introduit une moyenne mobile en tant que confirmation secondaire de la tendance. Lorsque le prix dépasse la moyenne mobile, combiné à l'alignement haussier de l'indicateur William Alligator, la stratégie entre en position longue; lorsque l'indicateur William est en dessous de la ligne moyenne, l'indicateur Alligator, combiné à un filtre de confirmation de la tendance, peut améliorer efficacement la précision de la reconnaissance du bruit et de la stratégie.
La stratégie William Alligator Moving Average Trend Catcher combine l'indicateur William Alligator et la moyenne mobile pour former une stratégie de suivi de tendance simple et efficace. La stratégie convient aux marchés présentant de fortes caractéristiques de tendance et améliore la précision de la reconnaissance de tendance grâce à un mécanisme de confirmation double. Cependant, la stratégie peut sous-performer sur les marchés à fourchette et manque de mesures explicites de gestion des risques.
/*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)