Стратегия входа с двойным подтверждением на основе MACD и RSI


Дата создания: 2024-02-18 16:24:06 Последнее изменение: 2024-02-18 16:24:06
Копировать: 0 Количество просмотров: 1158
1
Подписаться
1617
Подписчики

Стратегия входа с двойным подтверждением на основе MACD и RSI

Обзор

Эта стратегия использует комбинацию MACD и RSI, чтобы обеспечить двойной механизм подтверждения входа, чтобы достичь баланса между прибыльностью и контролем риска, чтобы обеспечить стабильную прибыль на средне- и долгосрочной основе.

Стратегический принцип

Эта стратегия использует MACD, чтобы определить рыночные тенденции и время входа в рынок. Прорыв MACD считается сигналом покупки, а прорыв MACD - сигналом продажи. Кроме того, зона перекупа и перепродажи RSI используется для фильтрации ложных прорывов.

В целях обеспечения надежности торговых сигналов в стратегию добавляется оценка объема сделок. Стратегия выдает торговые сигналы только тогда, когда объем сделок превышает 20-дневный средний объем сделок. Это позволяет избежать ошибочного сигнала, который возникает при недостаточном объеме торгов на рынке.

Наконец, стратегия также использует направление K-линейных объектов в качестве способа отслеживания стоп-лосса и подтверждения. Когда направление K-линейных объектов изменяется, текущие позиции выровняются. Это может блокировать прибыль и предотвращать отклонение прибыли.

Анализ преимуществ

  • Используя MACD, чтобы определить рыночные тенденции и время входа, можно войти в начале тренда и получить большую прибыль.
  • RSI может уменьшить потери, избегая входа в зону перекупа и перепродажи
  • Судя по количеству сделок, можно отфильтровать ложные сигналы и повысить вероятность получения прибыли.
  • Субъекты K-линии могут отслеживать убытки разумным образом и хорошо контролировать риски

Анализ рисков

  • MACD задерживается, может пропустить обратный тренд короткой линии
  • Правила объема сделок могут пропустить тенденцию к низким запускам
  • К-линейная остановка может быть выбита из-под контроля краткосрочными всплесками

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

  • Можно рассмотреть возможность добавления дополнительных фильтров, таких как Brin’s Bead Judgment, для дальнейшего улучшения качества сигнала.
  • Добавление орбитальных потерь для блокировки прибыли на длинных линиях можно тестировать
  • Можно попробовать оптимизировать комбинацию параметров MACD, чтобы повысить чувствительность показателя

Подвести итог

Эта стратегия в целом уравновешена стабильностью и прибыльностью. MACD определяет основные тенденции, RSI и двойная фильтрация объема сделки повышают качество сигнала, K-линия отслеживает риск контроля остановки. Эта стратегия может быть улучшена путем оптимизации параметров и добавления других технических показателей.

Исходный код стратегии
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Al-Sat Sinyali ve Teyidi", overlay=true)

// MACD (Hareketli Ortalama Yakınsaklık Sapma)
[macdLine, signalLine, _] = ta.macd(close, 5, 13, 5)

// RSI (Göreceli Güç Endeksi)
rsiValue = ta.rsi(close, 14)

// Hacim
volumeAverage = ta.sma(volume, 20)

// RSI ve MACD Filtreleri
rsiOverbought = rsiValue > 70
rsiOversold = rsiValue < 30
macdBuySignal = ta.crossover(macdLine, signalLine) and not rsiOverbought
macdSellSignal = ta.crossunder(macdLine, signalLine) and not rsiOversold

// Al-Sat Stratejisi
shouldBuy = ta.crossover(close, open) and not ta.crossover(close[1], open[1]) and macdBuySignal and volume > volumeAverage
shouldSell = ta.crossunder(close, open) and not ta.crossunder(close[1], open[1]) and macdSellSignal and volume > volumeAverage

strategy.entry("Buy", strategy.long, when=shouldBuy)
strategy.entry("Sell", strategy.short, when=shouldSell)

// Teyit için bir sonraki mumu bekleme
strategy.close("Buy", when=ta.crossover(close, open))
strategy.close("Sell", when=ta.crossunder(close, open))

// Görselleştirmeyi devre dışı bırakma
plot(na)

// Al-Sat Etiketleri
plotshape(series=shouldBuy, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al")
plotshape(series=shouldSell, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")

// Varsayımsal bir sonraki mumun kapanış fiyatını hesapla
nextBarClose = close[1]
plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı")