Стратегия Multiple MACD и RSI всесторонне использует сигналы индикатора MACD и индикатора RSI. Она длится, когда как быстрые, так и медленные линии двух MACD пересекаются и RSI находится ниже уровня перекупленности, и становится короткой, когда как быстрые, так и медленные линии двух MACD пересекаются и RSI входит в уровень перепроданности, с целью улавливать среднесрочные долгосрочные тенденции.
Эта стратегия использует два индикатора MACD для генерации сигналов. Один MACD имеет параметры быстрой длины 10, медленной длины 22 и длины MACD 9. Другой MACD имеет параметры быстрой длины 21, медленной длины 45 и длины MACD 20. Он генерирует сигнал покупки, когда быстрые линии обоих MACD пересекают их медленные линии, и сигнал продажи, когда быстрые линии обоих MACD пересекают их медленные линии.
В то же время он включает в себя индикатор RSI для оценки условий перекупления и перепродажи. Параметр RSI установлен на 14, с уровнем перекупления на 70 и уровнем перепродажи на 20. Он может покупать, когда RSI ниже уровня перекупления, и продавать, когда RSI выше уровня перепродажи.
Только когда оба MACD генерируют сигнал покупки, а RSI не перекуплен, будет задействован длинный вход. Только когда оба MACD генерируют сигнал продажи, а RSI входит в зону перепродажи, будет задействован короткий вход.
Самое большое преимущество этой стратегии заключается в том, что она использует двойные индикаторы MACD для фильтрации некоторых ложных сигналов и входит только тогда, когда оба MACD дают сигналы.
Кроме того, использование RSI для оценки условий перекупленности/перепродажи позволяет избежать длинного/короткого курса, когда цена уже имеет сильную тенденцию, тем самым снижая риски потери.
Сочетая двойную фильтрацию MACD и суждение о RSI, эта стратегия торгуется только на трендовых рынках и может получать приличную прибыль от среднесрочных тенденций.
Эта стратегия также сопряжена с некоторыми рисками. Двойная фильтрация MACD может пропустить время переворота цен и привести к увеличенным потерям. Длинный ход, когда оба MACD положительно пересекаются и RSI не перекуплен, может уже пропустить дно и привести к потерям.
Кроме того, сам MACD очень чувствителен к характеристикам торговых рынков. Параметры MACD необходимо корректировать для того, чтобы действовали различные торговые циклы и рыночные условия. Если параметры не установлены должным образом, он склонен генерировать ложные сигналы и вызывать убытки.
Кроме того, RSI может производить несколько сигналов перекупа/перепродажи.
Некоторые аспекты могут быть рассмотрены для оптимизации этой стратегии:
Оптимизировать параметры MACD, регулировать длины быстрых/медленных линий для поиска оптимальных комбинаций параметров MACD для различных продуктов и временных рамок, повышая эффективность сигнала.
Отметьте параметры RSI, умеренно сократите или расширите уровни перекупа/перепродажи для оптимизации времени входа.
Добавьте стратегии стоп-лосса, чтобы сократить убытки, когда снижение достигает определенного уровня, избегая дальнейших потерь.
Подумайте о добавлении вспомогательных суждений, таких как точки прорыва, чтобы еще больше подтвердить тенденцию перед входом.
Стратегия Multiple MACD и RSI сочетает в себе двойные индикаторы MACD и индикатор RSI для улучшения достоверности сигнала и может получить приличную прибыль от средне-долгосрочных движений тренда.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-07 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MACDbl RSI", overlay=true) fastLength = input(10) slowlength = input(22) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = sma(MACD, MACDLength) delta = MACD - aMACD fastLength2 = input(21) slowlength2 = input(45) MACDLength2 = input(20) MACD2 = ema(open, fastLength2) - ema(open, slowlength2) aMACD2 = sma(MACD2, MACDLength2) delta2 = MACD2 - aMACD2 Length = input(14, minval=1) Oversold = input(20, minval=1) Overbought = input(70, minval=1) xRSI = rsi(open, Length) if (delta > 0) and (year>2015) and (delta2 > 0) and (xRSI < Overbought) strategy.entry("buy", strategy.long, comment="buy") if (delta < 0) and (year>2015) and (delta2 < 0) and (xRSI > Oversold) strategy.entry("sell", strategy.short, comment="sell") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)