Эта стратегия объединяет движущийся средний показатель EMA и RSI для определения направления тренда, чтобы обнаружить потенциальные возможности тренда. Когда быстрая EMA пересекает медленную EMA, она рассматривается как позитивная возможность; когда быстрая EMA пересекает медленную EMA, она рассматривается как понижающая возможность.
Эта стратегия основана на следующих принципах:
EMA может эффективно сглаживать данные о ценах, показывая тенденцию цен. Быстрое и медленное сочетание EMA может создавать среднелинейный разрыв, расширение разрыва указывает на формирование тенденции, а сокращение разрыва предвещает обратную тенденцию.
RSI может эффективно идентифицировать перекуп и перепродажу. В сочетании с RSI можно отфильтровать ложные сигналы ложных прорывов EMA. Только если EMA и RSI одновременно подтверждают тенденцию, то есть высокая вероятность входа.
В частности, во время быстрой EMA устанавливается 8, во время медленной EMA устанавливается 24. Когда быстрая EMA генерирует положительный сигнал при медленном прохождении EMA, а при прохождении снижается. Во время RSI устанавливается 7, при прохождении 70(в минус RSI) - это зона сверхпокупок, снижение на 30(1 + RSI-понижение) - это зона сверхпродажи. Многосторонний вход осуществляется только тогда, когда EMA и RSI одновременно bullish; только тогда, когда EMA и RSI одновременно bearish, осуществляется пустой вход.
Эта стратегия, объединяющая преимущества показателей EMA и RSI, позволяет эффективно идентифицировать направление тренда и отфильтровывать некоторые ложные сигналы. Основные преимущества:
EMA сглаживает цены, идентифицируя направление тренда; RSI судит о перепродаже, фильтрует ложные прорывы.
Настройка параметров гибкая и может быть оптимизирована для разных сортов.
Использование различных показателей подтверждения позволяет снизить количество ложных сигналов и повысить вероятность победы.
Логика стратегии проста и понятна, ее реализация легко понятна и подходит для отслеживания тенденций.
Подходит для различных временных периодов, может использоваться для внутридневной торговли или длинных позиций.
В этой стратегии также есть некоторые риски, о которых следует помнить:
В случае обратного тренда EMA не сможет своевременно отреагировать, что может привести к убыткам.
RSI может пропустить торговые возможности, если не будет использовать правильные параметры.
Акционерные индексы подвержены резким колебаниям, и их стратегии могут быть подвержены риску остановки.
Торговые сборы также влияют на стратегическую прибыль, и необходимо учитывать разумные точки стоп-лосса.
Стратегия не учитывает фундаментальные факторы, и существует риск арбитража.
Риск может быть уменьшен с помощью рационального остановки, оптимизации параметров RSI, учета стоимости сделки и оптимизации стоп-стоп.
Эта стратегия может быть оптимизирована в следующих направлениях:
Оптимизация параметров EMA и RSI, чтобы они лучше соответствовали характеристикам разных сортов.
Добавление фильтров других индикаторов, таких как Bollinger Bands, KDJ и т. д., улучшает качество сигнала.
Повышение базовых показателей, чтобы избежать риска арбитража.
Включает в себя линию тренда, поддерживает уровень сопротивления и т.д.
optimize take profit and stop loss based on volatility and risk preference.
Backtest over longer timeframe and different assets to ensure robustness.
Эта стратегия в целом является относительно простой и практичной стратегией отслеживания тенденций. Она объединяет два показателя EMA и RSI для определения направления тенденции, что позволяет отфильтровать некоторые шумы для получения более высококачественных торговых сигналов.
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MACD + RSI", overlay=true)
src = input(close,"Source")
//MACD
len1 = input(8, title="MACD Fast Length")
len2 = input(24, title="MACD Slow Length")
ema1 = ema(src,len1)
ema2 = ema(src,len2)
div = ema1-ema2
long_macd = div>div[1]
short_macd = div<div[1]
//RSI
len = input(7, minval=1, title="RSI Length")
rsi_threshold = input(0.2,minval=0,maxval=0.5, title="RSI Threshold")
rsi = rsi(src,len)
long_rsi = rsi<30*(1+rsi_threshold)
short_rsi = rsi>70*(1-rsi_threshold)
//POSITIONING
if (long_macd)
if(long_rsi)
strategy.entry("Long", strategy.long)
if (short_macd)
if(short_rsi)
strategy.entry("Short", strategy.short)