
Эта стратегия использует как торговый сигнал пересечение RSI с его средней линией и относится к распространенной стратегии динамических индикаторов. Ее основной принцип заключается в том, чтобы отслеживать разницу между RSI и простой скользящей средней SMA_RSI RSI, а затем рассчитывать на эту разницу простой скользящий средний SMA_RSI2, делая больше при прорыве на SMA_RSI2 и плавно при прорыве.
Эта стратегия использует 3 параметра, чтобы рассчитать RSI и его простые движущиеся средние по двум различным периодам. Сначала рассчитывается обычный RSI с периодом длины. Затем рассчитывается простые движущиеся средние по RSI длиной 2 периодов SMA_RSI.
Таким образом, создается сигнал для стратегии торговли, основанный на перекрестных средних линиях RSI. Поскольку SMA_RSI2 является средней линией дельта-разрыва, он может отражать динамику и тенденции изменения RSI, что позволяет понять саму суть RSI.
Эта стратегия сочетает в себе преимущества RSI и его равномерности, чтобы соответствовать ценовым тенденциям и избежать заблуждения от шума. Используя дефицитную дельту и более плавный подход, она делает торговые сигналы более четкими. В целом, эта стратегия имеет небольшой отказ и стабильную прибыль.
Конкретные преимущества:
В этой стратегии также есть некоторые риски, в частности:
В некоторых из этих направлений можно сделать улучшения:
Эта стратегия в целом является более простой и универсальной, увеличивает практичность самого показателя RSI с помощью операций разрыва, использует равнолинейный пересечение для суждения, обладает сильной способностью к контролю за отступлением, является очень практичной стратегией индикатора динамики.
/*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)