Стратегия перекрестного тренда скользящего среднего показателя RSI

Автор:Чао Чжан, Дата: 2023-11-28 17:03:56
Тэги:

img

Обзор

Стратегия движущегося среднего перекрестного тренда RSI - это стратегия, которая использует движущиеся средние перекрестные сигналы индикатора RSI для определения тренда и выпуска торговых сигналов.

Логика стратегии

Основным индикатором этой стратегии является RSI. Он рассчитывает как EMA, так и SMA RSI. Сигналы покупки выпускаются только тогда, когда RSI EMA находится выше SMA, а цена выше EMA. Сигналы продажи выпускаются, когда RSI EMA падает ниже SMA, чтобы следовать тренду.

Индикатор RSI может эффективно отражать условия перекупления и перепродажи на рынке. Перерыв выше 70 на RSI считается перекупленным, а перерыв ниже 30 является перепроданным. Эта стратегия использует EMA и SMA для обнаружения тенденций и поворотных точек индикатора RSI. EMA быстрее реагирует на недавние изменения цен, в то время как SMA больше полагается на более старые данные.

Когда RSI EMA начинает подниматься, он сигнализирует о стабилизации на рынке. Затем SMA проверяет направление. Когда SMA также начинает расти, он подтверждает, что RSI находится в восходящем тренде. Стратегия теперь выдаст сигнал покупки, учитывая, что цена выше EMA, чтобы следовать тренду.

Анализ преимуществ

По сравнению с отдельными индикаторами, эта стратегия использует перекресток RSI EMA и SMA для проверки, уменьшая ложные сигналы и увеличивая стабильность.

Стратегия также включает в себя цену EMA, чтобы обеспечить покупку только в ценовом тренде, избегая риска рынков с ограниченным диапазоном и повышая рентабельность.

Анализ рисков

Стратегия основывается в основном на индикаторе RSI. Ложные сигналы RSI приведут к ложным сигналам стратегии. Кроме того, RSI более подходит для выявления уровней перекупленности / перепроданности с некоторой задержкой в улавливании среднесрочных долгосрочных тенденций.

Также может быть некоторое отставание, особенно когда RSI EMA и SMA более ограниченны диапазоном.

Руководство по оптимизации

  1. RSI можно оптимизировать путем выбора более подходящих параметров для повышения эффективности.

  2. Логика стоп-лосса может быть добавлена к позициям выхода после того, как потери достигнут определенного уровня для эффективного управления риском.

  3. Параметры могут быть протестированы и оптимизированы в разные временные рамки, чтобы стратегия могла работать стабильно на большем количестве продуктов и периодов.

Резюме

RSI Moving Average Crossover Trend Strategy - это простая стратегия следования тренду, использующая RSI для определения направления тренда и перекресток для проверки. Она включает в себя ценовую EMA для покупки по восходящим тенденциям. Стратегия имеет высокую стабильность для средне-долгосрочного держания, но риск отставания необходимо управлять. Дальнейшая оптимизация может улучшить эффективность стратегии.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2015, title = "From Year", minval = 2015)
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 = 2022) 
// syminfo.mintick = 0.01$ for BTCUSDT

testPeriod() => true

//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")

// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)

//EMA
ema=ema(close,length)

//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)

//ORDERS
if (testPeriod())
    strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
    strategy.close(id="long", when=(emavalue < smavalue))

// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na    
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)

Больше