
Strategi revisi pusat tertinggi-rendah adalah strategi pelacakan tren. Gagasan utamanya adalah menghitung harga tengah dari harga tertinggi dan terendah dalam periode tertentu yang lalu sebagai harga acuan, dan kemudian berdasarkan harga acuan ini kemudian digabungkan dengan tingkat fluktuasi untuk menghitung zona posisi tinggi dan zona posisi rendah. Ketika harga memasuki zona posisi tinggi, lakukan lebih banyak; ketika harga memasuki zona posisi rendah, posisi rendah.
Strategi ini diimplementasikan melalui beberapa langkah:
Dengan cara ini, Anda dapat melacak tren tepat waktu ketika harga memasuki kondisi tren; Anda juga dapat mengendalikan risiko dengan volatilitas.
Strategi ini memiliki beberapa keuntungan:
Strategi ini juga memiliki beberapa risiko:
Untuk mengendalikan risiko ini, ada beberapa cara untuk mengoptimalkannya:
Strategi ini juga memiliki ruang untuk optimalisasi lebih lanjut:
Dengan optimasi ini, diharapkan stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
Strategi penarikan kembali pusat tertinggi dan terendah adalah strategi pelacakan tren yang sederhana dan praktis. Ini dapat menangkap perubahan harga dan mengikuti tren, tetapi juga dapat mengendalikan risiko melalui volatilitas. Strategi ini mudah diterapkan dan cocok untuk belajar dan berlatih bagi pemula dalam perdagangan kuantitatif.
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Highest/Lowest Center Lookback Strategy", overlay=true)
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(1.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 = price > upper ? true : (price < lower ? false : na)
bull_cross = crossover(price, upper)
bear_cross = crossunder(price, lower)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)
plot(h, title="High", color=color.red, transp=75, linewidth=2)
plot(l, title="Low", color=color.green, transp=75, linewidth=2)
pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2)
pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2)
pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2)
fill(pu, pc, color=color.green, transp=85)
fill(pl, pc, color=color.red, transp=85)
bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)