William Alligator Moving Average Trend Catcher Strategy adalah strategi trend-following yang menggabungkan indikator William Alligator dengan moving average. Strategi ini menggunakan posisi relatif dari tiga garis (Jaw, Teeth, dan Lips) dari indikator William Alligator untuk menentukan arah tren dan menggunakan moving average sebagai konfirmasi sekunder dari tren. Ketika harga pecah di atas rata-rata bergerak dan tiga garis indikator William Alligator berada dalam keselarasan bullish, strategi memasuki posisi panjang; ketika harga pecah di bawah rata-rata bergerak dan tiga garis indikator William Alligator berada dalam keselarasan bearish, strategi memasuki posisi pendek. Strategi ini cocok untuk pasar dengan karakteristik tren yang jelas, seperti aset yang sangat volatile seperti Bitcoin dan Ethereum.
Inti dari strategi William Alligator Moving Average Trend Catcher adalah menggunakan indikator William Alligator dan moving average untuk mengidentifikasi dan mengkonfirmasi tren. Indikator William Alligator terdiri dari tiga garis: Jaw, Teeth, dan Lips, yang merupakan rata-rata bergerak halus (SMMA) dari periode yang berbeda. Ketika pasar berada dalam tren naik, garis Lips berada di atas garis Teeth, dan garis Teeth berada di atas garis Jaw; ketika pasar berada dalam tren menurun, garis Lips berada di bawah garis Teeth, dan garis Teeth berada di bawah garis Jaw. Strategi ini memperkenalkan rata-rata bergerak ganda sebagai konfirmasi sekunder tren. Ketika harga pecah di atas rata-rata bergerak, dikombinasikan dengan keselarasan bullish dari indikator William Alligator, strategi memasuki posisi panjang; ketika indikator William bergerak di bawah garis Teeth, garis Teeth berada di atas garis Jaw; ketika pasar berada dalam tren menurun, garis Lips berada di bawah garis Teeth, dan garis Teeth berada di bawah garis Jaw.
William Alligator Moving Average Trend Catcher Strategy menggabungkan indikator William Alligator dan moving average untuk membentuk strategi trend-following yang sederhana dan efektif. Strategi ini cocok untuk pasar dengan karakteristik tren yang kuat dan meningkatkan keakuratan pengenalan tren melalui mekanisme konfirmasi ganda. Namun, strategi ini dapat berkinerja buruk di pasar yang terikat rentang dan tidak memiliki langkah-langkah manajemen risiko yang eksplisit.
/*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)