
Strategi pelacakan dinamis multi ruang adalah strategi yang menggunakan nilai rata-rata dinamis untuk melacak tren harga. Ini menentukan tren saat ini dengan menghitung rata-rata bergerak dari harga tertinggi dan terendah dalam periode tertentu, dan digabungkan dengan ATR untuk mencapai stop loss dinamis.
Strategi ini pertama-tama menghitung rata-rata bergerak dari harga tertinggi dan terendah dalam periode tertentu (default 200 hari) dan mencari titik tengah keduanya sebagai garis dasar. Kemudian menghitung seberapa jauh harga dari garis dasar, dianggap dalam tren naik ketika harga lebih tinggi dari garis dasar satu ATR (default 10 hari ATR 0,5 kali) dan dianggap dalam tren turun ketika harga lebih rendah dari garis dasar satu ATR.
Sinyal Exit dihasilkan ketika harga kembali ke garis acuan. Selain itu, perubahan dinamika ATR dapat membuat stop loss berlanjut dengan tren besar, sehingga mengurangi terlalu sering perdagangan yang disebabkan oleh fluktuasi non-trend.
Anda dapat mengurangi sensitivitas stop loss dengan menyesuaikan parameter ATR, atau menambahkan indikator lain untuk memfilter waktu perdagangan yang sangat pasti. Anda juga dapat mengevaluasi selera risiko dengan mengkombinasikan pergerakan saham besar, dan memilih untuk melakukan lebih banyak hanya dalam situasi saham besar.
Strategi pelacakan dinamis multi-udara secara keseluruhan adalah strategi pelacakan tren yang sederhana dan praktis. Ini menentukan arah tren melalui rata-rata dinamis dan menggunakan ATR untuk melakukan stop loss dinamis, yang dapat secara efektif mengendalikan risiko. Strategi ini cocok untuk lingkungan pasar yang jelas tren, dengan menangkap perubahan tren tepat waktu dapat memperoleh keuntungan tambahan yang telah lama dipegang.
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trend Following Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(0.5, type=input.float, minval=0.5, title="ATR Multiplier")
vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)
l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = ema(price > upper ? 1 : (price < lower ? -1 : 0), 3)
c = trend < 0 ? upper : lower
pcenter = plot(center, transp=100)
pclose = plot(close, transp=100)
pc = plot(c, transp=100)
buy_signal = crossover(trend, 0.0)
sell_signal = crossunder(trend, 0.0)
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.close("Buy", when=sell_signal)
bgcolor(trend >= 0 ? color.green : color.red, transp=95)
fill(pc, pclose, color=trend >= 0 ? color.green : color.red)