Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan penembusan Bollinger Bands dengan trend purata bergerak. Sistem ini secara automatik menangkap peluang pasaran dengan memantau hubungan harga dengan Bollinger Bands sambil menggunakan purata bergerak 100 hari untuk pengesahan trend. Ia melaksanakan ukuran kedudukan dinamik berdasarkan ekuiti akaun untuk pengurusan risiko automatik.
Logik teras adalah berdasarkan elemen utama berikut:
Strategi ini membina sistem perdagangan kuantitatif yang lengkap dengan menggabungkan Bollinger Bands dan purata bergerak. Walaupun mengekalkan logika yang mudah, ia melaksanakan fungsi teras termasuk penjanaan isyarat, pengurusan kedudukan, dan kawalan risiko. Walaupun terdapat kawasan untuk pengoptimuman, reka bentuk keseluruhan adalah bunyi 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")