
Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan Bollinger Bands Breakout dan Trend Line. Strategi ini menangkap peluang pasar secara otomatis dengan memantau hubungan harga dan tren Bollinger Bands, dengan 100 Hari Average sebagai konfirmasi tren. Sistem ini menggunakan manajemen skala posisi yang dinamis, secara otomatis menyesuaikan jumlah perdagangan sesuai dengan kepentingan akun, untuk mengontrol risiko secara dinamis.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Strategi ini, dengan menggabungkan Brin Belt dan Uniform Line, membangun sistem perdagangan kuantitatif yang lengkap. Sistem ini mewujudkan fungsi inti seperti generasi sinyal, manajemen kepemilikan, dan kontrol risiko sambil menjaga logika yang ringkas. Meskipun ada beberapa tempat yang perlu dioptimalkan, desain keseluruhan masuk akal dan memiliki nilai aplikasi praktis.
/*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")