Эта стратегия основана на индикаторах RSI и MACD, в сочетании с уровнями поддержки/сопротивления для оценки торговых сигналов. Ее название - стратегия
Стратегия в основном основана на двух показателях - 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. По сравнению с простыми стратегиями перемещающейся средней, эта стратегия может более гибко улавливать долгосрочные ценовые тенденции.
К основным рискам этой стратегии относятся:
Он может пропустить большую часть прибыли в сильных тенденциях, поскольку он имеет тенденцию входить после завершения переворота.
Неправильные параметры RSI и MACD могут вызвать неправильные сигналы.
Простая логика обнаружения S/R может переоценивать или недооценивать фактические зоны S/R.
Отсутствие механизма стоп-лосса, невозможность эффективного контроля потерь в экстремальных рыночных условиях.
Для решения этих рисков, такие методы, как адаптивный MACD, оптимизированная настройка параметров RSI, улучшенная идентификация S / R, моделирование рыночного режима и т. Д. могут быть использованы для улучшения стратегии.
Стратегия может быть расширена из следующих аспектов:
Внедрение механизмов остановки потерь, например, CANVAS
Использование адаптивного MACD для динамической настройки параметров
Внедрение признания ценовых моделей для более научной идентификации S/R
Включить больше данных для установления логики обнаружения состояния рынка для адаптивного использования различных параметров
Использовать алгоритмы машинного обучения для оптимизации стратегии от конца к концу
Благодаря этим усовершенствованиям мы можем еще больше уменьшить потребление и улучшить стабильность стратегии.
Стратегия объединяет индикаторы 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")