В процессе загрузки ресурсов... загрузка...

RSI50_EMA Долгая только стратегия

Автор:Чао Чжан, Дата: 2024-05-11 11:49:29
Тэги:ЕМАРСИATR

img

Обзор

Стратегия под названием RSI50_EMA Long Only Strategy в основном использует перекрестные сигналы двух технических индикаторов, индекса относительной силы (RSI) и экспоненциальной скользящей средней (EMA), для принятия торговых решений. Она открывает длинную позицию, когда цена превышает верхнюю полосу EMA снизу, а RSI выше 50, и закрывает все длинные позиции, когда цена превышает нижнюю полосу EMA сверху или RSI падает ниже 50. Эта стратегия занимает только длинные позиции и не короткая, это стратегия, следующая за трендом.

Принцип стратегии

  1. Вычислить EMA и ATR, чтобы получить верхнюю и нижнюю полосы EMA.
  2. Вычислить RSI.
  3. Когда цена закрытия пересекает верхнюю полосу EMA и RSI превышает 50, открыть длинную позицию.
  4. Когда цена закрытия переходит ниже нижней полосы EMA или RSI падает ниже 50, закрыть все длинные позиции.
  5. Только длинные, не короткие.

Преимущества стратегии

  1. Подходит для использования на сильном рынке, может эффективно улавливать тенденцию к росту сильных запасов.
  2. Использует как индикаторы EMA, так и RSI для лучшего подтверждения сигналов тренда и повышения надежности сигналов.
  3. Управление позициями использует процентную стоп-лосс, риск контролируемый.
  4. Логика кода ясна и проста, легко понять и реализовать.

Стратегические риски

  1. Склонность к частым сделкам и большим выводам на волатильных рынках.
  2. Неправильный выбор параметров может привести к отказу сигнала. Например, неправильный выбор длины EMA приведет к отставанию в оценке тренда; неправильный выбор верхних и нижних пределов RSI приведет к нежелательным точкам входа и выхода.
  3. Стратегия может охватить только односторонние тенденции к росту, и не может понять тенденции к снижению и колебания, легко упустить возможности.

Направления оптимизации стратегии

  1. Ввести индикаторы подтверждения тренда, такие как MACD, для повышения точности оценки тренда.
  2. Оптимизировать параметры для RSI или ввести дивергенцию RSI и другие улучшения сигналов.
  3. Для улучшения контроля рисков следует рассмотреть возможность добавления стоп-лосса или стоп-лосса по волатильности.
  4. Подумайте о добавлении логики обратного входа на колеблющиеся рынки и нисходящие тенденции.

Резюме

Стратегия RSI50_EMA Long Only - это простая и удобная в использовании стратегия, основанная на тренде RSI и EMA, подходящая для использования в односторонних восходящих тенденциях. Стратегия имеет четкую логику и очевидные преимущества, но также имеет некоторые недостатки и риски. Благодаря внедрению большего количества вспомогательных индикаторов, оптимизации параметров, улучшению контроля рисков и других мер можно еще больше улучшить стабильность и рентабельность стратегии. Однако в фактическом применении необходимо гибко корректировать и улучшать ее в соответствии с характеристиками рынка, личными рисковыми предпочтениями и другими факторами.


/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level) 
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)

strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
    strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
    strategy.close("RSICLose", when=bull_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)


Связанные

Больше