
Strategi ini adalah sistem dagangan kuantitatif yang menggabungkan trend Bollinger Bands dan trend rata-rata. Strategi ini menangkap peluang pasaran secara automatik dengan memantau hubungan harga dan tren Bollinger Bands, dengan 100 hari rata-rata sebagai pengesahan trend. Sistem ini menggunakan pengurusan skala pegangan yang dinamik, menyesuaikan jumlah dagangan secara automatik mengikut hak dan kepentingan akaun, untuk mencapai kawalan dinamik risiko.
Logik teras strategi adalah berdasarkan elemen utama berikut:
Strategi ini membina satu sistem perdagangan kuantitatif yang lengkap dengan menggabungkan Brin Belt dan Equilibrium. Sistem ini mewujudkan fungsi teras seperti penjanaan isyarat, pengurusan pegangan, dan kawalan risiko sambil mengekalkan kelancaran logik. Walaupun terdapat beberapa tempat yang perlu dioptimumkan, reka bentuk keseluruhan adalah masuk akal dan mempunyai nilai aplikasi praktikal.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Breakout with MA 100 Strategy", overlay=true)
// Parameter Bollinger Bands
length = input(20, title="BB Length")
stdDev = input(2.0, title="BB Standard Deviation")
// Hitung Bollinger Bands
basis = ta.sma(close, length)
dev = stdDev * ta.stdev(close, length)
upperBB = basis + dev
lowerBB = basis - dev
// Hitung Moving Average 100
ma100 = ta.sma(close, 100)
// Logika untuk sinyal beli dan jual
longCondition = close > upperBB and close[1] <= upperBB[1]
shortCondition = close < lowerBB and close[1] >= lowerBB[1]
// Menentukan ukuran posisi (jumlah lot)
size = strategy.equity / close // Menentukan ukuran posisi berdasarkan ekuitas saat ini
// Eksekusi order
if (longCondition)
strategy.entry("Long", strategy.long, qty=size)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=size)
// Menutup posisi ketika kondisi terbalik
if (longCondition and strategy.position_size < 0)
strategy.close("Short")
if (shortCondition and strategy.position_size > 0)
strategy.close("Long")
// Plotting
plot(upperBB, color=color.red, title="Upper BB")
plot(lowerBB, color=color.green, title="Lower BB")
plot(basis, color=color.blue, title="Basis BB")
plot(ma100, color=color.orange, title="MA 100")
// Menambahkan informasi ke grafik
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Buy Signal Background")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Sell Signal Background")