Количественная стратегия торговли, объединяющая RSI, MACD и поддержку/сопротивление

Автор:Чао Чжан, Дата: 2024-01-05 16:24:58
Тэги:

img

Обзор

Эта стратегия основана на индикаторах RSI и MACD, в сочетании с уровнями поддержки/сопротивления для оценки торговых сигналов. Ее название - стратегия Panda Sticking Out Tongue. Стратегия использует индикатор RSI для определения уровней перекупленности/перепроданности, индикатор MACD для определения тенденций бычьего/медвежьего тренда, и наносит уровни поддержки/сопротивления на основе самых высоких и самых низких цен за последние 100 периодов, генерируя сигналы покупки вблизи поддержки и сигналы продажи вблизи сопротивления.

Логика стратегии

Стратегия в основном основана на двух показателях - RSI и MACD. Индикатор RSI оценивает состояние перекупленности/перепродажи, в то время как индикатор MACD определяет состояние бычьего/медвежьего тренда. Он сначала рассчитывает значение RSI на 14 периодов и устанавливает порог перекупленности на 70 и порог перепродажи на 30. Затем он рассчитывает значение MACD на основе 12-дневной быстрой линии, 26-дневной медленной линии и 9-дневной линии сигнала. RSI ниже 30 считается перепроданным; RSI выше 70 считается перекупленным.

Кроме того, стратегия также рассчитывает самые высокие и самые низкие цены за последние 100 периодов как уровни поддержки / сопротивления. Когда сигнал покупки запускается, цена должна быть близка к уровню поддержки, то есть в пределах 1% от уровня поддержки, чтобы фактически выпустить ордер на покупку. Аналогично, когда сигнал продажи запускается, цена должна быть в пределах 1% ниже уровня сопротивления, чтобы фактически выпустить ордер на продажу.

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

Стратегия сочетает в себе анализ тренда и обнаружение уровня перекупленности/перепроданности, чтобы избежать ложных сигналов, опирающихся только на один индикатор. Внедряя фильтр поддержки/сопротивления, она может уменьшить неправильные сделки из-за отскоков вблизи ключевых уровней S/R. Сочетание MACD и RSI может точно идентифицировать движение цен и состояние OB/OS. По сравнению с простыми стратегиями перемещающейся средней, эта стратегия может более гибко улавливать долгосрочные ценовые тенденции.

Риски стратегии

К основным рискам этой стратегии относятся:

  1. Он может пропустить большую часть прибыли в сильных тенденциях, поскольку он имеет тенденцию входить после завершения переворота.

  2. Неправильные параметры RSI и MACD могут вызвать неправильные сигналы.

  3. Простая логика обнаружения S/R может переоценивать или недооценивать фактические зоны S/R.

  4. Отсутствие механизма стоп-лосса, невозможность эффективного контроля потерь в экстремальных рыночных условиях.

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

Руководство по улучшению

Стратегия может быть расширена из следующих аспектов:

  1. Внедрение механизмов остановки потерь, например, CANVAS

  2. Использование адаптивного MACD для динамической настройки параметров

  3. Внедрение признания ценовых моделей для более научной идентификации S/R

  4. Включить больше данных для установления логики обнаружения состояния рынка для адаптивного использования различных параметров

  5. Использовать алгоритмы машинного обучения для оптимизации стратегии от конца к концу

Благодаря этим усовершенствованиям мы можем еще больше уменьшить потребление и улучшить стабильность стратегии.

Заключение

Стратегия объединяет индикаторы RSI и MACD для определения состояния OB/OS и торговли вокруг уровней поддержки/сопротивления, представляя собой подход, основанный на тренде. Благодаря включению фильтра поддержки/сопротивления риск снижается. Преимущество заключается в стабильных сигналах и управляемом риске, подходящем для долгосрочного держания.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true)

// Input for RSI and MACD values
rsiOverbought = input(70, title="RSI Overbought Threshold")
rsiOversold = input(30, title="RSI Oversold Threshold")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Calculating RSI and MACD
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)

// Support and Resistance
support = ta.lowest(100)
resistance = ta.highest(100)

// Drawing support and resistance lines
// line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1)
// line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1)

// Buy Condition: If RSI is oversold and MACD line crosses above the signal line
// Additionally, check if price is near the support line
longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01)
strategy.entry("Long", strategy.long, when=longCondition, comment="Buy")

// Sell Condition: If RSI is overbought and MACD line crosses below the signal line
// Additionally, check if price is near the resistance line
shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01)
strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell")

// Plot values on the chart for visualization
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

Больше