Strategi ini menggunakan dua penunjuk teknikal, Bollinger Bands dan Indeks Kekuatan Relatif (RSI), untuk perdagangan swing bullish dalam trend menaik. Logik strategi adalah mudah tetapi berkesan: buka kedudukan panjang apabila harga memecahkan di bawah Bollinger Band yang lebih rendah dan RSI di bawah 35, dan tutup kedudukan apabila RSI melintasi di atas 69.
Mengira RSI: Gunakan Purata Bergerak Relatif (RMA) untuk mengira saiz purata kenaikan harga dan penurunan secara berasingan, kemudian membahagikan saiz kenaikan dengan jumlah keseluruhan untuk mendapatkan RSI. RSI mencerminkan kekuatan pergerakan harga dalam tempoh masa.
Mengira Bollinger Bands: Gunakan Purata Bergerak Sederhana (SMA) untuk mengira garisan pertengahan harga, kemudian tambah dan tolak penyimpangan standard untuk mendapatkan band atas dan bawah. Bollinger Bands dapat mencerminkan julat turun naik harga secara dinamik.
Buka panjang: Apabila harga pecah di bawah Bollinger Band yang lebih rendah dan RSI kurang daripada 35, ia dianggap oversold, dan kedudukan panjang dibuka.
Tutup panjang: Apabila RSI melintasi di atas 69, ia dianggap terlalu banyak dibeli, dan kedudukan panjang ditutup untuk mengunci keuntungan.
Ambil keuntungan dan hentikan kerugian: Selepas membuka kedudukan, harga mengambil keuntungan dan hentikan kerugian dikira berdasarkan peratusan yang ditakrifkan oleh pengguna. Kedudukan ditutup apabila harga mengambil keuntungan atau hentikan kerugian dicapai. Ini membantu mengawal risiko dan pulangan setiap perdagangan.
Bollinger Bands boleh mencerminkan secara objektif julat pergerakan harga dan menyesuaikan secara selaras dengan trend harga tanpa terhad oleh ambang tetap.
RSI secara intuitif boleh mencerminkan keseimbangan antara kekuatan bullish dan bearish dan juga agak objektif. Ia sering digunakan untuk menentukan keadaan overbought dan oversold.
Apabila digunakan dalam trend menaik, ia lebih sesuai untuk perdagangan ayunan. Dengan menangkap kenaikan harga dengan Bollinger Band yang lebih rendah dan RSI yang rendah, dan menutup kedudukan tepat pada masanya dengan RSI yang tinggi, ia dapat menangkap pergerakan pasaran jangka pendek dengan berkesan.
Tetapan mengambil keuntungan dan menghentikan kerugian menjadikan risiko strategi terkawal. Pelabur boleh menetapkan parameter dengan fleksibel mengikut pilihan risiko mereka.
Logik strategi dan kod agak mudah, mudah difahami dan dilaksanakan, dan hasil backtest agak stabil.
Dalam pasaran yang bergolak, Bollinger Bands dan RSI mungkin menghasilkan terlalu banyak isyarat perdagangan, yang membawa kepada kekerapan perdagangan yang tinggi dan peningkatan kos transaksi.
Satu penunjuk tunggal seperti RSI mudah dipengaruhi oleh turun naik harga jangka pendek dan boleh menghasilkan isyarat yang mengelirukan. Oleh itu, isyarat RSI paling baik dianalisis bersama-sama dengan trend harga.
Pemilihan Bollinger Band dan parameter RSI mempunyai kesan yang signifikan terhadap prestasi strategi, dan pasaran dan instrumen yang berbeza mungkin memerlukan parameter yang berbeza.
Sekiranya berlaku peristiwa yang tidak dijangka atau keadaan pasaran yang tidak normal, Bollinger Bands dan RSI mungkin tidak berkesan.
Pertimbangkan untuk memperkenalkan penunjuk teknikal lain seperti purata bergerak untuk penapisan. Sebagai contoh, hanya buka kedudukan apabila purata bergerak berada dalam penyelarasan menaik untuk meningkatkan kebolehpercayaan isyarat.
Mengoptimumkan ambang atas dan bawah RSI, parameter Bollinger Bands, dan lain-lain, untuk mencari kombinasi parameter yang terbaik untuk setiap instrumen dan jangka masa.
Berdasarkan backtesting, menjalankan ujian ke hadapan dan perdagangan simulasi yang betul untuk mengesahkan sepenuhnya keberkesanan dan kestabilan strategi sebelum perdagangan langsung.
Mengendali strategi pengeluaran lebih lanjut dan meningkatkan pulangan yang diselaraskan risiko melalui ukuran kedudukan, mengambil keuntungan dinamik dan menghentikan kerugian, dan kaedah lain.
Menggabungkan strategi ke dalam portfolio pelaburan dan menggunakannya bersama dengan strategi lain untuk lindung nilai, dan bukannya menggunakannya secara berasingan, untuk meningkatkan kestabilan portfolio.
Artikel ini memperkenalkan strategi perdagangan swing bullish berdasarkan dua penunjuk teknikal, Bollinger Bands dan RSI. Strategi ini sesuai untuk menangkap pergerakan pasaran jangka pendek dalam trend menaik, dan logik dan pelaksanaannya agak mudah. Ia membuka kedudukan panjang apabila harga pecah di bawah Bollinger Band dan RSI yang lebih rendah, menutup kedudukan apabila RSI tinggi, dan menetapkan tahap keuntungan dan stop loss. Kelebihan strategi ini adalah bahawa ia dapat mencerminkan secara objektif julat turun naik harga dan keseimbangan kekuatan bullish dan bearish, dan risikonya agak terkawal. Walau bagaimanapun, apabila menggunakannya dalam amalan, seseorang perlu memberi perhatian untuk mengawal kekerapan perdagangan, menggabungkan lebih banyak penunjuk untuk menapis parameter, mengoptimumkan indikator, dan menguruskan kedudukan. Di samping itu, strategi ini mungkin gagal dalam keadaan pasaran dan langkah-langkah kawalan risiko lain yang tidak normal. Dengan memperkenalkan penapis indikator lain, strategi ini perlu digunakan sebagai pelengkap untuk meningkatkan kestabilan dan keuntungan keseluruhan, tetapi menurut ciri-ciri lain, pelabur boleh mengambil langkah-langkah lain yang berguna untuk menapis keuntungan dan kehilangan.
/*backtest start: 2023-03-05 00:00:00 end: 2024-03-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI") len = input(14, minval=1, title="Length") src = input(close, "Source", type = input.source) up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) plot(rsi, "RSI", color=#8E1599) band1 = hline(69, "Upper Band", color=#C0C0C0) band0 = hline(31, "Lower Band", color=#C0C0C0) fill(band1, band0, color=#9915FF, transp=90, title="Background") length_bb = input(20,title="BB Length", minval=1) mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev") basis = sma(src, length_bb) dev = mult * stdev(src, length_bb) upper = basis + dev lower = basis - dev offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500) Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false) Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false) long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100 long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100 // Take profit/stop loss long_take_level = strategy.position_avg_price * (1 + long_tp_inp) long_stop_level = strategy.position_avg_price * (1 - long_sl_inp) entry_long = rsi < 35.58 and src < lower exit_long = rsi > 69 plotshape(entry_long, style=shape.labelup, color=color.green, location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER") plotshape(exit_long, style=shape.labeldown, color=color.red, location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER") strategy.entry("Long",true,when=entry_long) strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level) strategy.close("Long", when=exit_long, comment="Exit") plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red) plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)