В процессе загрузки ресурсов... загрузка...

Стратегия внутридневного трейдинга MACD и RSI с несколькими фильтрами

Автор:Чао Чжан, Дата: 2024-06-07 15:20:13
Тэги:РСИMACDSMA

img

Обзор

Эта стратегия сочетает в себе MACD (Moving Average Convergence Divergence), RSI (Relative Strength Index) и SMA (Simple Moving Average), чтобы генерировать надежные сигналы купли и продажи.

Принципы стратегии

  1. MACD: бычий сигнал генерируется, когда линия MACD пересекает линию сигнала, а медвежий сигнал генерируется, когда линия MACD пересекает линию сигнала.
  2. RSI: Долгие позиции рассматриваются только тогда, когда RSI ниже уровня перекупленности (70), а короткие позиции рассматриваются только тогда, когда RSI выше уровня перепроданности (30).
  3. SMA: 50-периодная SMA и 200-периодная SMA используются для подтверждения направления тренда. Долгая позиция рассматривается только в том случае, если 50-периодная SMA выше 200-периодной SMA, а короткая позиция рассматривается только в том случае, если 50-периодная SMA ниже 200-периодной SMA.

Условия вступления и выхода из стратегии следующие:

  • Длинный вход: когда линия MACD пересекает линию сигнала, RSI находится ниже уровня перекупленности (70), а 50-периодная SMA находится выше 200-периодной SMA (что указывает на восходящий тренд).
  • Длинный выход: когда линия MACD пересекается ниже линии сигнала или RSI превышает уровень перекупленности (70).
  • Короткий вход: когда линия MACD пересекается ниже линии сигнала, RSI находится выше уровня перепроданности (30), а 50-периодная SMA находится ниже 200-периодной SMA (что указывает на нисходящий тренд).
  • Краткий выход: когда линия MACD пересекает линию сигнала или RSI опускается ниже уровня перепроданности (30).

Преимущества стратегии

  1. Механизм с несколькими фильтрами эффективно уменьшает ложные сигналы и повышает надежность сигнала.
  2. Объединяя индикаторы динамики и подтверждения тренда, стратегия ищет высоковероятные торговые возможности в направлении тренда.
  3. Ясные правила входа и выхода облегчают внедрение автоматизированной торговли и устраняют эмоциональные факторы в торговле.
  4. Стратегия подходит для внутридневной торговли и может быстро адаптироваться к изменениям на рынке и использовать краткосрочные торговые возможности.

Стратегические риски

  1. На нестабильных рынках стратегия может генерировать больше ложных сигналов, что приводит к частым сделкам и потерям капитала.
  2. Стратегия опирается на исторические данные для оптимизации параметров и может потребовать повторной оптимизации, когда рыночные условия значительно меняются.
  3. Неожиданные важные положительные или отрицательные новости могут привести к тому, что цены прорвутся через уровни перекупа или перепродажи, и стратегия может упустить эти торговые возможности.
  4. Стратегия не предусматривает стоп-лосс, что может подвергать ее большему риску в экстремальных рыночных условиях.

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

  1. Ввести больше условий фильтрации, таких как объем торговли и волатильность, для дальнейшего повышения надежности сигналов.
  2. Использовать различные комбинации параметров для различных состояний рынка (например, тенденции, диапазон) для улучшения адаптивности стратегии.
  3. Установите разумные уровни стоп-лосса и прибыли для контроля риска и прибыли для каждой сделки.
  4. Проверка стратегии, постоянная оптимизация и корректировка параметров для повышения ее надежности.

Резюме

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


/*backtest
start: 2024-05-07 00:00:00
end: 2024-06-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Day Trading Strategy", overlay=true)

// Parametrii pentru MACD
macdLength = input.int(12, title="MACD Length")
signalSmoothing = input.int(9, title="MACD Signal Smoothing")
src = input(close, title="Source")

// Calculul MACD
[macdLine, signalLine, _] = ta.macd(src, macdLength, 26, signalSmoothing)
macdHist = macdLine - signalLine

// Parametrii pentru RSI
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")

// Calculul RSI
rsi = ta.rsi(src, rsiLength)

// Filtru suplimentar pentru a reduce semnalele false
longFilter = ta.sma(close, 50) > ta.sma(close, 200)
shortFilter = ta.sma(close, 50) < ta.sma(close, 200)

// Conditii de intrare in pozitie long
enterLong = ta.crossover(macdLine, signalLine) and rsi < rsiOverbought and longFilter

// Conditii de iesire din pozitie long
exitLong = ta.crossunder(macdLine, signalLine) or rsi > rsiOverbought

// Conditii de intrare in pozitie short
enterShort = ta.crossunder(macdLine, signalLine) and rsi > rsiOversold and shortFilter

// Conditii de iesire din pozitie short
exitShort = ta.crossover(macdLine, signalLine) or rsi < rsiOversold

// Adaugarea strategiei pentru Strategy Tester
if (enterLong)
    strategy.entry("BUY", strategy.long)
if (exitLong)
    strategy.close("BUY")

if (enterShort)
    strategy.entry("SELL", strategy.short)
if (exitShort)
    strategy.close("SELL")

// Plotarea MACD si Signal Line
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
hline(0, "Zero Line", color=color.gray)
plot(macdHist, color=color.red, style=plot.style_histogram, title="MACD Histogram")


Связанные

Больше