
Strategi ini membina strategi perdagangan dengan mengira indikator RSI dan menetapkan overbought oversold, menggabungkan stop loss dinamik dan keuntungan sasaran untuk keluar. Apabila penembusan kawasan oversold di indikator RSI, buat kosong, apabila penembusan kawasan oversold, buat lebih banyak, sambil menetapkan trek stop loss dan keuntungan sasaran untuk keluar dari kedudukan.
Strategi ini menggunakan RSI 14 hari untuk menilai bentuk teknikal pasaran. RSI mencerminkan peratusan pergerakan naik turun dalam jangka masa yang digunakan untuk menentukan apakah pasaran adalah overbought atau oversold. Panjang RSI dalam strategi ini adalah 14.
Selain itu, strategi ini juga menggunakan mekanisme hentian pengesanan yang dinamik. Apabila memegang kedudukan berbilang, hentian pengesanan adalah 97 peratus daripada harga penutupan; Apabila memegang kedudukan kosong, hentian pengesanan adalah 103 peratus daripada harga penutupan.
Akhirnya, strategi ini juga menggunakan mekanisme keuntungan sasaran. Apabila keuntungan memegang kedudukan mencapai 20%, ia akan keluar dari kedudukan. Ini dapat mengunci sebahagian keuntungan dan mengelakkan pembalikan keuntungan.
Strategi ini mempunyai beberapa kelebihan:
Terdapat beberapa risiko yang perlu diperhatikan dalam strategi ini:
Untuk risiko di atas, ia boleh diselesaikan dengan mengoptimumkan parameter RSI, menyesuaikan stop loss, dan melonggarkan keperluan keuntungan sasaran.
Strategi ini boleh dioptimumkan dengan cara berikut:
Strategi ini mempunyai pemikiran keseluruhan yang jelas, menggunakan indikator RSI untuk menilai overbought dan oversold, dengan stop loss dinamik dan target keuntungan untuk keluar. Kelebihannya adalah mudah difahami, risiko terkawal, dan dapat diperluas. Langkah seterusnya dapat dioptimumkan dari arah meningkatkan kualiti isyarat, parameter penyesuaian dinamik, dan sebagainya, untuk menjadikan strategi lebih cerdas.
/*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)