
Strategi ini berdasarkan indeks yang agak kuat (RSI), dengan melihat keadaan RSI yang terlalu banyak dan terlalu banyak, membeli dan menjual apabila RSI mencapai paras yang ditetapkan. Strategi ini juga menggunakan cara membina kedudukan piramida, meningkatkan kedudukan secara beransur-ansur apabila memenuhi syarat-syarat tertentu, dengan harapan mendapat keuntungan yang lebih tinggi.
Inti strategi ini adalah RSI, yang mengukur kenaikan dan penurunan harga dalam jangka masa tertentu, untuk mencerminkan kekuatan pergerakan harga dengan mengira purata kenaikan dan penurunan harga dalam jangka masa tertentu. Apabila RSI mencapai paras overbought yang ditetapkan (seperti 75), ia dianggap telah terlalu tinggi dan kemungkinan besar akan berubah, dan strategi ini akan melakukan operasi jual. Apabila RSI mencapai paras oversold yang ditetapkan (seperti 35), ia dianggap telah terlalu rendah dan kemungkinan besar akan bangkit, dan ia akan membeli.
Strategi ini berdasarkan petunjuk RSI klasik, membuat keputusan perdagangan melalui isyarat overbought dan oversold, dan mengikuti trend dengan cara membina kedudukan piramid, mempunyai kelebihan yang mudah difahami dan luas. Tetapi dalam aplikasi praktikal, perlu memperhatikan risiko seperti parameter, pasaran goyah dan trend berterusan, dan melakukan pengoptimuman dan penambahbaikan yang sesuai mengikut ciri-ciri pasaran, seperti pengoptimuman parameter, digabungkan dengan petunjuk lain, dinamika stop loss, pengoptimuman kedudukan piramid, dan sebagainya, untuk mendapatkan prestasi strategi yang lebih stabil.
/*backtest
start: 2023-04-06 00:00:00
end: 2024-04-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Strategy", overlay=true)
// Définition des paramètres
rsi_length = input(14, title="RSI Length")
buy_level = input(35, title="Buy Level")
sell_level = input(75, title="Sell Level")
pyramiding = input(5, title="Pyramiding")
// Calcul du RSI
rsi = ta.rsi(close, rsi_length)
// Règles d'entrée
buy_signal = ta.crossover(rsi, buy_level)
sell_signal = ta.crossunder(rsi, sell_level)
// Gestion des positions
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Pyramiding
if (strategy.opentrades < pyramiding)
strategy.entry("Buy", strategy.long)
else if (strategy.opentrades > pyramiding)
strategy.entry("Sell", strategy.short)
// Tracé du RSI
plot(rsi, title="RSI", color=color.blue)
hline(buy_level, "Buy Level", color=color.green)
hline(sell_level, "Sell Level", color=color.red)