Strategi ini adalah sistem perdagangan komprehensif berdasarkan isyarat silang Bollinger Band yang menggabungkan pertimbangan seluncur dan kesan harga. Ia menggunakan jalur atas dan bawah Bollinger Band untuk mengenal pasti kawasan overbought dan oversold yang berpotensi, sambil memperhitungkan faktor seluncur dan kesan harga semasa menjalankan perdagangan untuk mensimulasikan keadaan pasaran sebenar dengan lebih baik. Pendekatan ini bertujuan untuk meningkatkan kebolehpercayaan dan kepraktisan strategi perdagangan, terutama sesuai untuk pasaran dengan turun naik yang tinggi.
Pengiraan Bollinger Bands:
Penyesuaian Kesan Harga:
Syarat Penutupan Posisi:
Penyesuaian Volatiliti Pasaran: Bollinger Bands menyesuaikan diri secara automatik dengan turun naik pasaran, memastikan keberkesanan strategi di pelbagai persekitaran pasaran.
Mengikuti trend dan gabungan pembalikan: Melalui isyarat silang Bollinger Band, strategi dapat menangkap kedua-dua kesinambungan trend dan peluang pembalikan yang berpotensi.
Pertimbangan Kos Dagangan Amalan: Menggabungkan faktor-faktor pergerakan dan kesan harga menjadikan strategi lebih sejajar dengan persekitaran perdagangan sebenar, meningkatkan kredibiliti hasil backtesting.
Pengurusan Risiko: Menggunakan Bollinger Band sebagai tahap sokongan dan rintangan dinamik membantu mengawal risiko.
Fleksibiliti: Reka bentuk parameter membolehkan pengoptimuman dan penyesuaian mengikut pasaran dan instrumen perdagangan yang berbeza.
Overtrading: Dalam pasaran yang berbeza, harga sering melintasi Bollinger Bands, yang membawa kepada perdagangan yang berlebihan dan tidak perlu.
Lag: Sebagai penunjuk lag, Bollinger Bands mungkin tidak bertindak balas tepat pada masanya terhadap perubahan trend yang cepat.
Pergeseran tinggi dan kesan harga: Tetapan 40% pergeseran dan kesan harga mungkin terlalu tinggi, menjadikan perdagangan sebenar sukar untuk dilaksanakan atau berpotensi menyebabkan kerugian yang ketara.
Risiko Pecahkan Palsu: Harga yang secara ringkas menembusi Bollinger Bands sebelum kembali boleh mencetuskan isyarat perdagangan palsu.
Kekurangan Pengesahan Tambahan: Bergantung semata-mata pada isyarat Bollinger Band tanpa pengesahan daripada penunjuk teknikal atau analisis asas yang lain.
Memperkenalkan Penunjuk Volume: Menggabungkan analisis jumlah dapat membantu mengesahkan kesahihan pecah, mengurangkan risiko pecah palsu.
Tambah Penapis Trend: Seperti menggunakan purata bergerak jangka panjang atau penunjuk ADX untuk memastikan perdagangan dalam arah trend utama.
Mengoptimumkan Parameter Penembusan dan Kesan Harga: Sesuaikan peratusan penembusan dan kesan harga berdasarkan data pasaran sebenar untuk mencerminkan keadaan perdagangan sebenar dengan lebih baik.
Melaksanakan Stop-Loss Dinamik: Pertimbangkan untuk menggunakan penunjuk ATR untuk menetapkan stop-loss dinamik, menyesuaikan diri dengan perubahan turun naik pasaran.
Masukkan Penapis Masa: Elakkan perdagangan semasa sesi turun naik yang rendah (contohnya, sesi Asia) untuk mengurangkan isyarat bunyi bising.
Mengoptimumkan Parameter Bollinger Band: Bereksperimen dengan panjang Bollinger Band dan pengganda yang berbeza untuk mencari tetapan yang paling sesuai untuk pasaran sasaran.
Memperkenalkan Algoritma Pembelajaran Mesin: Menggunakan teknik pembelajaran mesin untuk mengoptimumkan masa masuk dan keluar, meningkatkan prestasi strategi keseluruhan.
Strategi Bollinger Band Crossover dengan Slippage dan Price Impact Combined adalah sistem perdagangan komprehensif yang menggabungkan analisis teknikal dengan pertimbangan perdagangan praktikal. Dengan menangkap dinamik pasaran melalui penunjuk Bollinger Bands dan memperhitungkan slippage dan kesan harga, strategi ini bertujuan untuk menyediakan pendekatan perdagangan yang lebih realistik. Walau bagaimanapun, strategi ini masih menghadapi risiko berpotensi seperti overtrading dan pecah palsu. Dengan memperkenalkan penunjuk pengesahan tambahan, mengoptimumkan tetapan parameter, dan menguatkan pengurusan risiko, strategi ini berpotensi menjadi sistem perdagangan yang lebih mantap dan boleh dipercayai. Pengoptimuman masa depan harus memberi tumpuan kepada meningkatkan kualiti isyarat, mengurangkan pecah palsu, dan menyesuaikan diri dengan keadaan pasaran yang lebih baik. Secara keseluruhan, strategi ini memberikan titik permulaan yang menarik bagi peniaga kuantitatif untuk menjalankan penyelidikan dan penambahbaikan lanjut.
/*backtest start: 2023-07-25 00:00:00 end: 2024-07-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined Strategy", overlay=true) // Input parameters for Bollinger Band Strategy bb_length = input.int(20, title="BB Length") bb_mult = input.float(2.0, title="BB Mult") // Input parameters for Slippage and Price Impact slippage_percent = input.float(40.0, title="Slippage (%)") / 100 // 40% slippage price_impact_percent = input.float(40.0, title="Price Impact (%)") / 100 // 40% price impact // Calculating Bollinger Bands basis_bb = ta.sma(close, bb_length) deviation = bb_mult * ta.stdev(close, bb_length) upper = basis_bb + deviation lower = basis_bb - deviation // Entry and exit conditions for Bollinger Band Strategy longCondition = ta.crossover(close, upper) shortCondition = ta.crossunder(close, lower) closeLongCondition = shortCondition closeShortCondition = longCondition // Adjust entry price for slippage and price impact slippage_adjustment = close * slippage_percent price_impact_adjustment = close * price_impact_percent slippage_price_impact_adjusted_long_price = close + slippage_adjustment + price_impact_adjustment slippage_price_impact_adjusted_short_price = close - slippage_adjustment - price_impact_adjustment // Strategy logic for Bollinger Band Strategy if (longCondition) strategy.entry("Long", strategy.long, limit=slippage_price_impact_adjusted_long_price) if (shortCondition) strategy.entry("Short", strategy.short, limit=slippage_price_impact_adjusted_short_price) if (closeLongCondition) strategy.close("Long") if (closeShortCondition) strategy.close("Short") // Plotting Bollinger Bands plot(upper, color=color.blue) plot(lower, color=color.red)