- Площадь
- RSI50_EMA Долгая только стратегия
RSI50_EMA Долгая только стратегия
Автор:
Чао Чжан, Дата: 2024-05-11 11:49:29
Тэги:
ЕМАРСИATR
Обзор
Стратегия под названием RSI50_EMA Long Only Strategy в основном использует перекрестные сигналы двух технических индикаторов, индекса относительной силы (RSI) и экспоненциальной скользящей средней (EMA), для принятия торговых решений. Она открывает длинную позицию, когда цена превышает верхнюю полосу EMA снизу, а RSI выше 50, и закрывает все длинные позиции, когда цена превышает нижнюю полосу EMA сверху или RSI падает ниже 50. Эта стратегия занимает только длинные позиции и не короткая, это стратегия, следующая за трендом.
Принцип стратегии
- Вычислить EMA и ATR, чтобы получить верхнюю и нижнюю полосы EMA.
- Вычислить RSI.
- Когда цена закрытия пересекает верхнюю полосу EMA и RSI превышает 50, открыть длинную позицию.
- Когда цена закрытия переходит ниже нижней полосы EMA или RSI падает ниже 50, закрыть все длинные позиции.
- Только длинные, не короткие.
Преимущества стратегии
- Подходит для использования на сильном рынке, может эффективно улавливать тенденцию к росту сильных запасов.
- Использует как индикаторы EMA, так и RSI для лучшего подтверждения сигналов тренда и повышения надежности сигналов.
- Управление позициями использует процентную стоп-лосс, риск контролируемый.
- Логика кода ясна и проста, легко понять и реализовать.
Стратегические риски
- Склонность к частым сделкам и большим выводам на волатильных рынках.
- Неправильный выбор параметров может привести к отказу сигнала. Например, неправильный выбор длины EMA приведет к отставанию в оценке тренда; неправильный выбор верхних и нижних пределов RSI приведет к нежелательным точкам входа и выхода.
- Стратегия может охватить только односторонние тенденции к росту, и не может понять тенденции к снижению и колебания, легко упустить возможности.
Направления оптимизации стратегии
- Ввести индикаторы подтверждения тренда, такие как MACD, для повышения точности оценки тренда.
- Оптимизировать параметры для RSI или ввести дивергенцию RSI и другие улучшения сигналов.
- Для улучшения контроля рисков следует рассмотреть возможность добавления стоп-лосса или стоп-лосса по волатильности.
- Подумайте о добавлении логики обратного входа на колеблющиеся рынки и нисходящие тенденции.
Резюме
Стратегия 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)
Связанные
Больше