Strategi ini membina sistem dagangan menggunakan penunjuk RSI untuk menentukan tahap overbought dan oversold, bersama-sama dengan stop loss trailing dinamik dan keluar sasaran keuntungan. Ia pergi pendek apabila RSI melintasi di atas tahap overbought dan pergi panjang apabila RSI melintasi di bawah tahap oversold.
Strategi ini menggunakan penunjuk RSI 14 tempoh untuk menilai corak teknikal pasaran. RSI mencerminkan nisbah kuasa naik dan jatuh dalam tempoh masa, untuk mengetahui sama ada pasaran terlalu banyak dibeli atau terlalu banyak dijual. Panjang RSI di sini adalah 14. Apabila RSI melintasi di atas 70, pasaran dianggap terlalu banyak dibeli, dan kita pergi pendek. Apabila RSI melintasi di bawah 30, pasaran dianggap terlalu banyak dijual, dan kita pergi panjang.
Di samping itu, strategi ini menggunakan mekanisme pemantauan stop loss dinamik. Apabila memegang kedudukan panjang, harga penangguhan penangguhan ditetapkan pada 97% daripada harga penutupan. Apabila memegang kedudukan pendek, harga penangguhan penangguhan adalah 103% daripada harga penutupan. Ini mengunci kebanyakan keuntungan sambil mengelakkan berhenti oleh bunyi pasaran.
Akhirnya, strategi ini menggunakan keluar sasaran keuntungan. Apabila keuntungan kedudukan mencapai 20%, ia akan ditutup. Ini mengunci beberapa keuntungan dan mengelakkan retracement keuntungan.
Kelebihan strategi ini termasuk:
Beberapa risiko strategi ini perlu diperhatikan:
Untuk mengatasi risiko ini, mengoptimumkan parameter RSI, menyesuaikan peratusan stop loss, melonggarkan keperluan sasaran keuntungan dengan munasabah dapat membantu.
Beberapa arah untuk mengoptimumkan strategi:
Strategi ini mempunyai logik yang jelas menggunakan RSI untuk menentukan pasaran overbought / oversold, dengan berhenti dinamik dan mengambil keuntungan. Kelebihannya adalah mudah difahami dan dilaksanakan, kawalan risiko yang baik, dan kebolehluasan yang tinggi. Langkah seterusnya adalah untuk meningkatkan kualiti isyarat, parameter auto-tune dll untuk menjadikan strategi lebih pintar.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Modified RSI-Based Trading Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") overboughtLevel = 70 oversoldLevel = 30 // User-defined parameters trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)") profitTargetPercentage = input(20, title="Profit Target Percentage (%)") rsiValue = ta.rsi(close, rsiLength) var float trailingStopLevel = na var float profitTargetLevel = na // Entry criteria enterLong = ta.crossover(rsiValue, oversoldLevel) enterShort = ta.crossunder(rsiValue, overboughtLevel) // Exit criteria exitLong = ta.crossover(rsiValue, overboughtLevel) exitShort = ta.crossunder(rsiValue, oversoldLevel) // Trailing stop calculation if (strategy.position_size > 0) trailingStopLevel := close * (1 - trailingStopPercentage / 100) if (strategy.position_size < 0) trailingStopLevel := close * (1 + trailingStopPercentage / 100) // Execute the strategy if (enterLong) strategy.entry("Buy", strategy.long) if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100) strategy.close("Buy") if (enterShort) strategy.entry("Sell", strategy.short) if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100) strategy.close("Sell") // Plot RSI and overbought/oversold levels plot(rsiValue, title="RSI", color=color.blue) hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed) hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)