
Strategi perdagangan pulangan rata-rata Bollinger Bands adalah kaedah perdagangan kuantitatif yang berdasarkan pada prinsip turun naik harga dan pulangan rata-rata. Strategi ini menggunakan indikator Bollinger Bands untuk mengenal pasti kawasan pasaran yang oversold dan mengambil lebih banyak ketika harga mula kembali ke nilai rata-rata.
Prinsip asas strategi ini adalah berdasarkan teori regresi nilai rata-rata dan penggunaan indikator Brin. Brin terdiri daripada tiga garis: garis tengah ((rata-rata bergerak sederhana 20 kitaran), garis atas ((rata-rata pertengahan ditambah dua kali perbezaan standard) dan garis bawah ((rata-rata pertengahan tolak dua kali perbezaan standard). Logik pelaksanaan strategi adalah seperti berikut:
Syarat penyertaan:
Tetapan penangguhan:
Tetapan Stop Loss:
Isyarat masuk strategi ini menandakan bahawa pasaran mungkin berada dalam keadaan oversold dan mula berpatah balik, manakala penutupan yang ditetapkan di tengah-tengah mencerminkan konsep pulangan nilai rata-rata.
Syarat kemasukan dan keluar yang jelas: Strategi menyediakan syarat kemasukan yang tepat (performance specific of two lines) dan sasaran keuntungan yang jelas (periodic average of 20), mengurangkan pertimbangan subjektif dalam proses dagangan.
Berdasarkan prinsip statistik: Beringkas berdasarkan pengiraan perbezaan piawai, mempunyai asas statistik, apabila harga menyimpang terlalu jauh dari nilai purata, terdapat kebarangkalian yang lebih besar untuk kembali ke nilai purata.
Kawalan risiko yang munasabah: Stop loss ditetapkan pada titik terendah pada saluran isyarat masuk, mengehadkan kerugian maksimum dalam satu perdagangan.
Pengurusan wang jelas: Strategi menggunakan peratusan daripada jumlah aset akaun ((100%) untuk pengurusan kedudukan, memudahkan penilaian risiko.
Sokongan visual: Kod ini merangkumi visualisasi pita Brin dan isyarat masuk untuk memudahkan peniaga memahami keadaan pasaran dan titik pemicu isyarat.
Mengelakkan perdagangan buruk berturut-turut: Strategi menetapkan sekatan, dan isyarat masuk baru hanya akan dipertimbangkan jika tidak ada kedudukan terbuka.
Risiko pasaran goyah: Dalam pasaran goyah berpanjangan, harga mungkin bergelombang berulang kali di antara tren bawah dan tengah Brin, menyebabkan perdagangan yang kerap dan tidak berkesan.
Risiko Pasaran Trend: Dalam trend turun yang kuat, harga mungkin terus turun selepas rebound singkat, memecahkan titik rendah sebelum ini, menyebabkan stop loss dicetuskan.
Terlalu tinggi penggunaan dana: Strategi menggunakan 100% dana akaun untuk berdagang, operasi leverage tinggi ini boleh menyebabkan dana akaun berkurangan dengan cepat jika kerugian berturut-turut.
Risiko penembusan palsu: Kadang-kadang harga mungkin hanya untuk seketika menembusi Bollinger Bands dan kemudian turun dengan cepat, menyebabkan isyarat masuk yang salah.
Kurangnya penapisan keadaan pasaran: strategi tidak mempertimbangkan keadaan pasaran keseluruhan (seperti arah trend, kadar turun naik) untuk menapis isyarat, yang mungkin menghasilkan isyarat perdagangan dalam keadaan pasaran yang tidak sesuai.
Memperkenalkan penapis trend: anda boleh menambah purata bergerak jangka panjang atau penunjuk trend lain, melakukan beberapa isyarat hanya dalam keadaan trend naik atau trend neutral, dan mengelakkan perdagangan dalam trend menurun.
Pengurusan wang yang dioptimumkan: menyesuaikan jumlah dagangan dari 100% tetap ke peratusan dinamik, saiz kedudukan boleh disesuaikan berdasarkan turun naik pasaran atau keadaan penarikan balik akaun, mengurangkan risiko.
Menambah analisis pelbagai jangka masa: mengesahkan arah pasaran pada jangka masa yang lebih besar, kemudian melaksanakan isyarat perdagangan pada jangka masa yang lebih kecil, meningkatkan kadar kemenangan.
Penambahan syarat penapisan dagangan: syarat tambahan seperti pengesahan jumlah dagangan, pengesahan kawasan jual beli RSI, untuk mengurangkan isyarat palsu.
Memperkenalkan mekanisme keuntungan separa: anda boleh menetapkan lebih banyak sasaran keuntungan, misalnya, apabila anda mencapai garis tengah Burin, hanya kosongkan sebahagian daripada kedudukan anda, dan biarkan kedudukan yang tersisa terus mendapat keuntungan.
Penyesuaian Hentian Bergerak: memperkenalkan fungsi pengesanan hentian yang dikesan, menyesuaikan kedudukan hentian secara automatik apabila harga bergerak ke arah yang menguntungkan, melindungi keuntungan yang telah ada.
Tetapan parameter yang dioptimumkan: Mencari kombinasi parameter yang lebih sesuai untuk pasaran tertentu dengan mengkaji semula tempoh Brin yang berbeza (tidak terhad kepada 20) dan kelipatan perbezaan piawai (tidak terhad kepada 2.0).
Strategi perdagangan pulangan rata-rata Bollinger Bands adalah kaedah perdagangan kuantitatif yang mudah dan berkesan yang memanfaatkan sifat pulangan rata-rata pasaran untuk menangkap proses harga yang kembali dari kawasan oversold ke nilai rata-rata. Strategi ini mempunyai syarat masuk, berhenti dan berhenti yang jelas, mudah dilaksanakan dan diukur semula.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Bollinger Reversal | 100% Take at 20 MA", overlay=true,
default_qty_type=strategy.percent_of_equity, default_qty_value=100,
initial_capital=1000, currency=currency.EUR)
// === PARAMETERS ===
bb_length = 20
bb_mult = 2.0
// === BOLLINGER BANDS ===
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// === DETECTION OF 2 CANDLES ===
candle1 = close[1] < lower[1]
candle2 = close > lower
valid_entry = candle1 and candle2
entry_price = high
stop_price = math.min(low, low[1])
final_target = basis // Final take profit is the 20-period moving average
// === ENTRY SIGNAL ===
entry_condition = valid_entry and strategy.opentrades == 0
if entry_condition
strategy.entry("Bollinger Entry", strategy.long, stop=entry_price)
// === FULL EXIT AT 20 MA ===
if strategy.position_size > 0 and close >= final_target
strategy.close("Bollinger Entry", comment="🎯 Take at 20 MA")
// === STOP LOSS ===
if strategy.position_size > 0 and low <= stop_price
strategy.close("Bollinger Entry", comment="🛑 Initial Stop")
// === VISUALIZATION ===
plot(upper, title="Upper Band", color=color.red)
plot(lower, title="Lower Band", color=color.green)
plot(basis, title="20 MA", color=color.gray)
plotshape(valid_entry, location=location.belowbar, style=shape.arrowup, color=color.green, title="Bollinger Signal")