Многократная стратегия MACD и RSI

Автор:Чао Чжан, Дата: 2023-10-08 14:03:47
Тэги:

Обзор

Стратегия 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 может производить несколько сигналов перекупа/перепродажи.

Оптимизация

Некоторые аспекты могут быть рассмотрены для оптимизации этой стратегии:

  1. Оптимизировать параметры MACD, регулировать длины быстрых/медленных линий для поиска оптимальных комбинаций параметров MACD для различных продуктов и временных рамок, повышая эффективность сигнала.

  2. Отметьте параметры RSI, умеренно сократите или расширите уровни перекупа/перепродажи для оптимизации времени входа.

  3. Добавьте стратегии стоп-лосса, чтобы сократить убытки, когда снижение достигает определенного уровня, избегая дальнейших потерь.

  4. Подумайте о добавлении вспомогательных суждений, таких как точки прорыва, чтобы еще больше подтвердить тенденцию перед входом.

Заключение

Стратегия 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)

Больше