
Strategi ini menggunakan tanda silang RSI dengan garis rata-ratanya sebagai isyarat perdagangan, dan merupakan strategi penunjuk momentum yang biasa. Prinsip utamanya adalah untuk mengesan perbezaan antara indikator RSI dan rata-rata bergerak sederhana RSI SMA_RSI, dan kemudian mengira perbezaan ini rata-rata bergerak sederhana SMA_RSI2, melakukan lebih banyak apabila melewati nilai SMA_RSI2 dan melonggarkan apabila melewati nilai SMA_RSI2.
Strategi ini menggunakan 3 parameter untuk mengira purata bergerak sederhana RSI dengan dua tempoh yang berbeza. Pertama, mengira purata bergerak sederhana RSI biasa dengan tempoh panjang. Kemudian, mengira purata bergerak sederhana jangka panjang 2 RSI SMA_RSI.
Dengan cara ini, ia membentuk isyarat strategi perdagangan yang berpusat pada garis rata-rata RSI. Oleh kerana SMA_RSI2 adalah garis rata-rata delta, ia dapat mencerminkan pergerakan dan perubahan trend RSI, dan menguasai inti RSI itu sendiri.
Strategi ini menggabungkan kelebihan RSI dengan garis lurusnya, dapat mengikuti trend harga dan mengelakkan gangguan. Menggunakan pemikiran yang lebih halus dari delta defisit, menjadikan isyarat perdagangan lebih jelas. Secara keseluruhan, strategi ini mempunyai sedikit pengunduran dan keuntungan yang stabil.
Kelebihan spesifiknya ialah:
Strategi ini juga mempunyai beberapa risiko, seperti:
Ia boleh diperbaiki dengan cara berikut:
Strategi ini secara keseluruhannya lebih mudah digunakan, meningkatkan kepraktisan RSI sendiri melalui pengoperasian nilai perbezaan, menggunakan persilangan rata-rata untuk membuat keputusan, kawalan penarikan balik yang kuat, merupakan strategi penunjuk momentum yang sangat praktikal.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true
length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?")
up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)
SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold)
Short = crossunder(SMA_RSI2, threshold)
plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)
long_condition = Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = Short
strategy.close('BUY', when=short_condition)