Semua konten berbahasa Inggris
Strategi ini mengidentifikasi sinyal perdagangan dengan menggunakan indikator RSI untuk menentukan kondisi overbought / oversold dan menggabungkan dengan indikator Bollinger Bands untuk menggambarkan kisaran osilasi harga. Ini menghasilkan sinyal beli dan jual ketika RSI menunjukkan tingkat overbought atau oversold, sementara harga mendekati atau menyentuh band atas atau bawah Bollinger Bands. Strategi ini mensintesis analisis tren dan penilaian osilasi untuk mencari peluang secara dinamis.
Strategi ini didasarkan pada dua indikator:
Ini menghitung RSI untuk periode tertentu dan menentukan apakah masuk zona overbought atau oversold sesuai dengan parameter yang telah ditetapkan, seperti ambang overbought pada 40 dan ambang oversold pada 45.
Ini menghitung Bollinger Bands untuk periode dan menggunakan band atas dan bawah untuk membentuk saluran harga, menggambarkan kisaran osilasi harga.
Berdasarkan hal-hal di atas, aturan perdagangan adalah:
Ketika RSI melintasi di atas 45 ke zona oversold, dan harga melintasi di atas Bollinger band bawah, menghasilkan sinyal beli. Ketika RSI melintasi di bawah 40 ke zona overbought, dan harga melintasi di bawah Bollinger band atas, menghasilkan sinyal jual.
Keuntungan dari menggabungkan RSI dan Bollinger Bands meliputi:
RSI mengidentifikasi tingkat overbought / oversold, Bollinger Bands menentukan arah tren harga, saling melengkapi.
Bollinger Bands dapat berfungsi sebagai level stop loss untuk pengendalian risiko.
Parameter sederhana membuatnya mudah untuk menerapkan dan backtest.
Parameter RSI dapat dioptimalkan untuk menentukan kisaran overbought/oversold terbaik.
Input harga yang berbeda dapat digunakan untuk beradaptasi dengan berbagai lingkungan pasar.
Ada juga beberapa risiko dengan strategi ini:
Luas Bollinger Bands yang berlebihan menyebabkan harapan stop loss yang buruk.
Pengaturan parameter RSI yang tidak benar menyebabkan penilaian tingkat overbought/oversold yang salah.
Tidak dapat menentukan dengan akurat titik pembalikan tren, risiko sinyal yang hilang.
Tidak mampu mengendalikan kerugian secara efektif, risiko stop loss terkena perubahan harga yang signifikan.
Beberapa cara untuk mengoptimalkan strategi:
Mengoptimalkan parameter RSI untuk menentukan rentang overbought/oversold yang ideal.
Mengoptimalkan parameter lebar Bollinger Bands untuk mengontrol stop loss range.
Tambahkan indikator lain untuk mengidentifikasi pembalikan tren dan menghindari sinyal yang hilang.
Menerapkan model pembelajaran mesin untuk menentukan waktu perdagangan.
Gunakan set parameter yang berbeda berdasarkan lingkungan pasar yang berbeda.
Tambahkan mekanisme stop loss dinamis.
Mengembangkan program untuk optimasi parameter otomatis.
Secara singkat, dengan menggabungkan RSI dan Bollinger Bands, strategi ini membentuk keputusan perdagangan yang relatif solid. Logika sederhana dan jelas, baik untuk pengendalian risiko, tetapi memiliki ruang untuk optimasi. Meningkatkan strategi lebih lanjut melalui optimasi parameter, optimasi stop loss, penggabungan algoritma dll dapat membuatnya lebih mudah beradaptasi dengan lingkungan pasar yang kompleks. Strategi ini memberikan ide untuk membangun sistem perdagangan dan layak penelitian dan aplikasi lebih lanjut.
/*backtest start: 2023-08-18 00:00:00 end: 2023-09-17 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Mdemoio //@version=4 strategy("Madri", shorttitle="Madri", overlay=true) // Version 1.1 ///////////// RSI RSIlength = input(2,title="A") RSIoverSold = 45 RSIoverBought = 40 price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(150, minval=1,title="B") BBmult = 2// input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) ///////////// Colors //switch1=input(true, title="Enable Bar Color?") //switch2=input(true, title="Enable Background Color?") //TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na //barcolor(switch1?TrendColor:na) //bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="Buy") else strategy.cancel(id="RSI_BB_L") if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="Sell") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)