
Strategi ini mengenal pasti peluang membeli dan menjual yang berpotensi di pasaran dengan mengira indeks kekuatan relatif (RSI). Ia menggunakan indikator RSI untuk menentukan di mana harga mungkin beralih dari trend ke trend balas untuk menangkap peluang berbalik. Ia menghasilkan isyarat perdagangan apabila RSI berbalik dari kawasan overbought atau oversold.
Indikator utama strategi ini adalah RSI, yang menunjukkan perkadaran hari harga penutupan meningkat berbanding dengan hari harga turun dalam jangka masa tertentu, untuk menentukan sama ada aset itu terlalu tinggi atau terlalu rendah. RSI dipaparkan dengan nilai antara 0 dan 100, dengan nilai tinggi menunjukkan kekuatan pasaran ke atas, dan nilai rendah menunjukkan kekuatan pasaran ke bawah.
Strategi pertama menetapkan parameter RSI, termasuk panjang kitaran (default 14) dan titik terendah di rantau oversold (default 70 dan 30). Kemudian, nilai RSI dikira berdasarkan harga penutupan. Apabila RSI melintasi titik terendah di rantau oversold, ia menghasilkan isyarat beli. Apabila RSI melintasi titik terendah di rantau oversold, ia menghasilkan isyarat jual.
Strategi ini juga memetakan kurva RSI, serta garis penurunan. Ia menandai isyarat pembelian dan penjualan dalam bentuk grafik dan teks pada carta harga. Selain itu, strategi ini mengira dan memetakan peratusan perubahan harga sejak isyarat perdagangan sebelumnya, yang membolehkan peniaga melihat pergerakan harga selepas isyarat.
Strategi ini direka dengan prinsip perdagangan terbalik indeks kekuatan relatif, terutamanya untuk menilai apakah terdapat fenomena overbought dan oversold yang jelas dalam aset dalam jangka pendek, untuk menangkap peluang terbalik berikutnya. Peratusan perubahan yang dikira dan disertakan dengan petua perdagangan visual dapat membantu membuat keputusan perdagangan.
/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved RSI Strategy", overlay=true)
// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOversold = input(30, title="Oversold Threshold")
rsiOverbought = input(70, title="Overbought Threshold")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Define entry conditions
longCondition = ta.crossover(rsiValue, rsiOversold)
shortCondition = ta.crossunder(rsiValue, rsiOverbought)
// Plot RSI and thresholds
plot(rsiValue, title="RSI", color=color.blue)
hline(rsiOversold, title="Oversold Threshold", color=color.red)
hline(rsiOverbought, title="Overbought Threshold", color=color.green)
// Calculate percentage change since last signal
var float percentageChange = na
lastCloseValue = ta.valuewhen(longCondition or shortCondition, close, 1)
if longCondition or shortCondition
percentageChange := (close - lastCloseValue) / lastCloseValue * 100
plot(percentageChange, color=color.blue, style=plot.style_histogram, linewidth=1, title="% Change since last signal")
// Execute strategy
if longCondition
strategy.entry("RSI Long", strategy.long)
if shortCondition
strategy.entry("RSI Short", strategy.short)
// Plot shapes and text for buy/sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")