
Strategi ini adalah sistem perdagangan regresi rata-rata berbasis Bollinger Bands yang mengoptimalkan efek perdagangan dengan menggabungkan filter tren dan stop loss dinamis. Strategi ini menggunakan prinsip statistik untuk melakukan perdagangan ketika harga menyimpang dari rata-rata, sekaligus meningkatkan tingkat kemenangan dan mengelola risiko melalui indikator teknis.
Strategi ini didasarkan pada beberapa komponen utama:
Ini adalah strategi yang menggabungkan analisis teknis klasik dengan metode kuantitatif modern. Strategi ini memiliki kepraktisan yang baik melalui pengakuan multi-indikator dan pengendalian risiko yang ketat.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Optimized Bollinger Mean Reversion", overlay=true)
// Bollinger Band Settings
length = input.int(20, title="BB Length")
src = input(close, title="Source")
mult = input.float(2.0, title="BB Multiplier")
// Bollinger Bands Calculation
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot the Bollinger Bands
plot(basis, color=color.blue)
p1 = plot(upper, color=color.red)
p2 = plot(lower, color=color.red)
fill(p1, p2, color=color.rgb(41, 98, 255, 90))
// Trend Filter - 50 EMA
ema_filter = ta.ema(close, 50)
// ATR for Dynamic Stop Loss/Take Profit
atr_value = ta.atr(14)
// Buy condition - price touches lower band and above 50 EMA
buy_condition = ta.crossover(close, lower) and close > ema_filter
// Sell condition - price touches upper band and below 50 EMA
sell_condition = ta.crossunder(close, upper) and close < ema_filter
// Strategy Execution
if (buy_condition)
strategy.entry("Buy", strategy.long)
if (sell_condition)
strategy.entry("Sell", strategy.short)
// Exit with dynamic ATR-based stop loss and take profit
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=2*atr_value, stop=1*atr_value)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=2*atr_value, stop=1*atr_value)