Strategi perdagangan breakout Alpha RSI adalah strategi perdagangan breakout berdasarkan penunjuk RSI. Strategi ini menggunakan penunjuk RSI untuk mengenal pasti keadaan overbought dan oversold dan digabungkan dengan purata bergerak untuk menentukan arah trend. Ia memasuki perdagangan kontra-trend apabila penunjuk RSI mencapai tahap overbought atau oversold, bertujuan untuk menangkap perubahan trend selepas pembalikan harga.
Strategi ini terutamanya berdasarkan logik berikut:
Apabila RSI melebihi ambang overbought (default 70), aset dianggap overbought dan perdagangan pendek dibuka.
Apabila RSI melintasi bawah ambang oversold (default 30), aset dianggap oversold dan perdagangan panjang dibuka.
Purata bergerak SMA digunakan untuk menentukan trend utama. Perdagangan hanya diambil apabila trend bersetuju dengan isyarat RSI.
Secara khusus, strategi ini merangkumi:
Input untuk tempoh SMA (default 200), tempoh RSI (default 14), tahap kemasukan RSI (default 34), tahap stop loss (default 30), mengambil tahap keuntungan (default 50).
Pengiraan nilai SMA dan RSI.
Posisi panjang dimasukkan apabila RSI melintasi di atas tahap kemasukan dan menutup di atas SMA.
Selepas membuka panjang, stop loss dikemas kini kepada yang lebih rendah daripada penutupan sebelumnya.
Posisi panjang ditutup apabila: a) RSI jatuh di bawah stop loss; b) RSI mencapai mengambil keuntungan; c) Close jatuh di bawah stop loss.
Hanya perdagangan panjang, tidak pendek.
Strategi ini mengenal pasti titik pembalikan oleh tahap overbought/oversold RSI dan memasuki pada masa-masa kontra-trend yang sesuai selepas pengesahan arah trend utama.
Berbanding dengan strategi purata bergerak yang mudah, strategi ini mempunyai kelebihan berikut:
RSI lebih baik dalam mengenal pasti titik pembalikan melalui tahap overbought / oversold.
Perdagangan dilakukan hanya apabila trend bersetuju dengan isyarat RSI, mengurangkan isyarat palsu.
Stop loss dan mengambil keuntungan mekanisme secara aktif menguruskan risiko dan pulangan.
Hentian penghantaran mengunci lebih banyak keuntungan apabila harga bergerak dengan baik.
Peraturan mudah dan jelas, mudah difahami untuk pemula.
Strategi ini juga mempunyai beberapa risiko untuk diperhatikan:
RSI masih boleh memberikan isyarat palsu. penapis lain seperti kelantangan boleh ditambah.
Parameter kemasukan tetap, hentikan kerugian, ambil keuntungan mungkin tidak sesuai dengan semua aset dan keadaan pasaran.
Kos dagangan tidak dipertimbangkan. Spread dan komisen mempengaruhi keuntungan.
Melewatkan peluang pendek. boleh mencari untuk menambah peraturan pendek.
Pertimbangkan peraturan pengurusan modal yang betul, contohnya risiko maksimum setiap perdagangan.
Beberapa cara strategi boleh ditingkatkan:
Tambah penapis lain seperti anomali kelantangan.
Mengoptimumkan parameter secara dinamik melalui kaedah pembelajaran mesin.
Tambahkan peraturan pendek untuk menangkap trend menurun.
Pertimbangkan kos dagangan, mengoptimumkan parameter mengikut spesifikasi aset.
Tambah modul pengurusan modal, contohnya had risiko setiap perdagangan.
Pengoptimuman ujian belakang untuk kombinasi parameter untuk kecekapan yang lebih baik.
RSI Breakout Strategy menggabungkan strategi trend dan pembalikan. Ia mengenal pasti pembalikan sambil mengawal risiko. Walaupun dapat diperbaiki untuk pasaran yang kompleks, ia menyediakan model rujukan yang mudah untuk pembelajaran strategi kuant. Dengan pengoptimuman yang betul, ia boleh menjadi strategi mekanikal yang menguntungkan.
/*backtest start: 2022-09-30 00:00:00 end: 2023-10-06 00:00:00 period: 1d basePeriod: 1h 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/ // © abdllhatn //@version=5 // strategy("Alpha RSI Breakout Strategy", overlay=true, initial_capital=10000, default_qty_value=100) // Inputs sma_length = input(200, title="SMA Length") rsi_length = input(14, title="RSI Length") rsi_entry = input(34, title="RSI Entry Level") rsi_stop_loss = input(30, title="RSI Stop Loss Level") rsi_take_profit = input(50, title="RSI Take Profit Level") // Indicators sma_value = ta.sma(close, sma_length) rsi_value = ta.rsi(close, rsi_length) var bool trailing_stop_activate = false var float trailingStop = na var float lastClose = na // Conditions longCondition = ta.crossover(rsi_value, rsi_entry) and close > sma_value if (longCondition) strategy.entry("Buy", strategy.long) trailingStop := na lastClose := na trailing_stop_activate := false if (strategy.position_size > 0) if (na(lastClose) or close < lastClose) lastClose := close trailingStop := close if (rsi_value >= rsi_take_profit) trailing_stop_activate := true if (trailing_stop_activate and not na(trailingStop) and close < trailingStop) strategy.close("Buy") if (rsi_value <= rsi_stop_loss) strategy.close("Buy") if (not trailing_stop_activate and rsi_value >= rsi_take_profit) strategy.close("Buy") if (trailing_stop_activate and rsi_value >= rsi_take_profit) strategy.close("Buy") // Plot plot(sma_value, color=color.red, linewidth=2) plot(rsi_value, color=color.blue, linewidth=2)