
RSI и средний крест - это количественная торговая стратегия, в которой используются относительно слабые индикаторы (RSI) и движущиеся средние значения. Эта стратегия использует RSI для определения опережающих покупок и перепродаж в стоимости ценных бумаг и объединяет RSI и его средний золотой крест и мертвый крест, чтобы решить, создать ли позицию по бонусу или по бонусу.
Расчет значения RSI. RSI основан на росте и падении за определенный промежуток времени, чтобы определить, является ли ценная бумага перекупленной или перепроданной, путем сравнения среднего роста и падения на закрытии.
Вычислите скользящую среднюю MA для RSI. Используйте скользящую среднюю EMA или просто скользящую среднюю SMA.
Когда индикатор RSI пересекает свою скользящую среднюю, он генерирует золотой крест, чтобы сделать больше; когда индикатор RSI пересекает свою скользящую среднюю ниже, он генерирует мертвый форк, чтобы сделать пустое место.
Когда RSI выше линейки перекупа, считается, что ценная бумага перекупила, и делается дисконт; когда RSI ниже линейки перепродажи, считается, что ценная бумага перепродается, и делается лишний.
В сочетании с пересечением показателей и средних показателей, чтобы избежать зависимости от одного показателя, повышается точность принятия решений.
Используйте RSI, чтобы определить время перекупа и перепродажи, установить линию перекупа и перепродажи, определить время создания позиции и остановки убытков.
Используйте индикаторы с перекрестным средним значением для дополнительного коучинга, чтобы вовремя уловить переломные моменты рынка.
Индекс RSI может дать ошибочный сигнал в шокирующих ситуациях.
RSI может быть сверхпокупаемым или сверхпродаваемым в зависимости от того, насколько он скорректирован, а неправильная настройка может привести к чрезмерному ослаблению или жесткости.
Система равнолинейных колебаний слишком чувствительна к краткосрочным аномальным колебаниям и может быть зафиксирована в стоп-паре.
Настройка параметров RSI для поиска оптимальных параметров длины.
Оптимизация параметров скользящих средних для поиска оптимального среднелинейного периода.
Проверка различных параметров линий перекупа и перепродажи, оптимизация возможностей создания позиций.
В сочетании с другими показателями, фильтруйте сигналы, чтобы избежать ошибочных сделок.
RSI-индикатор в сочетании со стратегией пересечения средней линии, используя RSI для определения перекупа и перепродажи в сочетании с сигналом пересечения движущейся средней линии, позволяет эффективно определять зоны горячего рынка и захватывать возможности поворота в ключевых точках. С помощью оптимизации параметров и фильтрации сигналов можно улучшить эффективность стратегии и уменьшить риск торговли.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")
// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay = input(defval = 3, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2014)
// === BACKTEST END ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))
rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)