Strategi ini adalah sistem perdagangan yang mengikuti tren yang menggabungkan indikator Supertrend dengan Kaufman Adaptive Moving Average (KAMA). Ini secara dinamis mengidentifikasi perubahan tren pasar, mencari peluang panjang dalam tren naik, dan menggunakan mekanisme stop-loss yang fleksibel untuk pengendalian risiko. Konsep inti bergantung pada kemampuan penentuan arah tren indikator Supertrend, dikombinasikan dengan karakteristik adaptasi volatilitas pasar KAMA, untuk membangun posisi panjang dalam tren pasar naik.
Strategi ini menggunakan sistem konfirmasi indikator teknis ganda. Pertama, indikator Supertrend menghitung arah tren menggunakan ATR dan koefisien kustom, menunjukkan tren naik ketika garis indikator berada di bawah harga. Kedua, indikator KAMA menyesuaikan sensitivitas rata-rata bergerak melalui mekanisme adaptif, lebih mengakomodasi kondisi pasar yang berbeda. Sinyal masuk membutuhkan dua kondisi bersamaan: Supertrend yang menunjukkan tren naik dan harga di atas garis KAMA. Demikian pula, sinyal keluar membutuhkan konfirmasi ganda: Supertrend beralih ke tren turun dan harga jatuh di bawah garis KAMA. Mekanisme konfirmasi ganda ini secara efektif mengurangi sinyal palsu.
Strategi ini membangun sistem perdagangan trend-mengikuti yang kuat dengan menggabungkan indikator teknis Supertrend dan KAMA. Keuntungannya utama terletak pada kemampuan beradaptasi dan pengendalian risiko, dengan peningkatan keandalan sinyal perdagangan melalui konfirmasi ganda. Sementara menghadapi tantangan di pasar yang bergolak, kinerja keseluruhan strategi dapat ditingkatkan lebih lanjut melalui pengaturan parameter yang tepat dan implementasi optimasi. Ini sangat cocok untuk perdagangan tren jangka menengah hingga panjang dan berkinerja baik di pasar dengan tren yang jelas.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Supertrend + KAMA Long Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3) // User-defined inputs for date range startDate = input(timestamp("2018-01-01 00:00:00"), title="Start Date") endDate = input(timestamp("2069-12-31 23:59:59"), title="End Date") inDateRange = true // Inputs for KAMA and Supertrend kamaLength = input.int(21, title="KAMA Length", minval=1) atrPeriod = input.int(10, title="Supertrend ATR Length", minval=1) factor = input.float(3.0, title="Supertrend Factor", minval=0.01, step=0.01) //------------------------- Kaufman Moving Average Adaptive (KAMA) ------------------------- xPrice = close xvnoise = math.abs(xPrice - xPrice[1]) Length = kamaLength nfastend = 0.666 nslowend = 0.0645 nsignal = math.abs(xPrice - xPrice[Length]) float nnoise = 0.0 for i = 0 to Length - 1 nnoise := nnoise + xvnoise[i] nefratio = nnoise != 0.0 ? nsignal / nnoise : 0.0 nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2) var float nAMA = na nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1])) plot(nAMA, color=color.blue, linewidth=2, title="Kaufman KAMA") //------------------------- Supertrend Calculation ------------------------- [stValue, dirValue] = ta.supertrend(factor, atrPeriod) upTrend = dirValue < 0 downTrend = dirValue >= 0 plot(dirValue < 0 ? stValue : na, "Up Trend", color=color.green, style=plot.style_linebr) plot(dirValue >= 0 ? stValue : na, "Down Trend", color=color.red, style=plot.style_linebr) //------------------------- Strategy Logic ------------------------- // Entry condition: Supertrend is in uptrend AND price is above KAMA canLong = inDateRange and upTrend and close > nAMA // Exit condition (Take Profit): Supertrend switches to downtrend AND price is below KAMA stopLoss = inDateRange and downTrend and close < nAMA if canLong strategy.entry("Long", strategy.long) label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.normal) if stopLoss strategy.close("Long", comment="Stop Loss") label.new(bar_index, high, "STOP LOSS", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.normal) //------------------------- Alerts ------------------------- alertcondition(canLong, title="Long Entry", message="Supertrend + KAMA Long Signal") alertcondition(stopLoss, title="Stop Loss", message="Supertrend switched to Downtrend and Price below KAMA")