Комбинированная стратегия пересечения скользящих средних импульса сочетает в себе рыночные настроения и систему оптимизации уровня сопротивления

SMA MACD RSI
Дата создания: 2024-11-12 15:10:12 Последнее изменение: 2024-11-12 15:10:12
Копировать: 3 Количество просмотров: 440
1
Подписаться
1617
Подписчики

Комбинированная стратегия пересечения скользящих средних импульса сочетает в себе рыночные настроения и систему оптимизации уровня сопротивления

Обзор

Стратегия представляет собой комплексную торговую систему, объединяющую несколько ключевых показателей в техническом анализе, включая систему двойной пропорциональности (SMA), сходство с рассеянностью скользящих средних (MACD), индекс относительной силы (RSI) и анализ сопротивления. Основная идея стратегии заключается в том, чтобы подтвердить торговые сигналы с помощью многомерных технических показателей, а также в сочетании с показателями рыночной эмоции для оптимизации управления позициями, в конечном итоге достигая повышения выигрышности и риска-прибыльности.

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

Стратегия использует как основную сигнальную систему два простых движущихся средних: краткосрочный (10-дневный) и долгосрочный (30-дневный). Система посылает многосигналы, когда краткосрочный средний пересекает долгосрочный средний вверх, а MACD показывает многополюсную динамику (MACD линия выше сигнальной линии). Условия продажи в сочетании с анализом устойчивости, когда цена достигает максимума за последние 20 циклов, а MACD показывает пустой сигнал, система выводит позиции. Кроме того, стратегия также вводит индикатор RSI в качестве эмоционального фильтра для оптимизации управления позициями: убытки прекращаются раньше, когда RSI превышает 70 и находится в убыточном состоянии, а убытки продолжаются, когда RSI ниже 30 и находится в прибыльном состоянии.

Стратегические преимущества

  1. Механизм многократного подтверждения: повышает надежность торговых сигналов с помощью многократного подтверждения равнолинейного скрещивания, MACD-тенденции и резистентности
  2. Умный менеджмент позиций: введение RSI для мониторинга эмоций, позволяющего лучше управлять рисками
  3. Адаптируемость: параметры стратегии могут быть скорректированы в зависимости от рыночных условий
  4. Улучшенный контроль риска: установлены многочисленные механизмы остановки убытков, включая технические и эмоциональные остановки
  5. Высокий уровень систематизации: полностью систематизированные торговые решения, уменьшающие вмешательство субъективного суждения

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

  1. Противоположная система может создавать ложные сигналы на колеблющихся рынках
  2. Чрезмерная зависимость от технических показателей может игнорировать фундаментальные факторы
  3. Оптимизация параметров может привести к переобучению
  4. В быстром движении идентификация точек сопротивления может задерживаться
  5. RSI может потерять силу при определенных рыночных условиях

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

  1. Введение показателей объема сделок: повышение оценки силы рыночных тенденций
  2. Динамические параметры корректировки: автоматическая корректировка среднелинейных циклов и RSI в зависимости от рыночных колебаний
  3. Добавление фильтра тренда: введение более долгосрочной средней линии в качестве фильтра тренда
  4. Оптимизация расчета битов сопротивления: рассмотрение использования алгоритмов распознавания динамических битов сопротивления
  5. Добавление индикатора волатильности: для корректировки размеров позиций и стоп-позиций

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("XAUUSD SMA with MACD & Market Sentiment (Enhanced RR)", overlay=true)

// Input parameters for moving averages
shortSMA_length = input.int(10, title="Short SMA Length", minval=1)
longSMA_length = input.int(30, title="Long SMA Length", minval=1)

// MACD settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Lookback period for identifying major resistance (swing highs)
resistance_lookback = input.int(20, title="Resistance Lookback Period", tooltip="Lookback period for identifying major resistance")

// Calculate significant resistance (local swing highs over the lookback period)
major_resistance = ta.highest(close, resistance_lookback)

// Calculate SMAs
shortSMA = ta.sma(close, shortSMA_length)
longSMA = ta.sma(close, longSMA_length)

// RSI for market sentiment
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=0, maxval=50)
rsi = ta.rsi(close, rsiLength)

// Define buy condition based on SMA and MACD
buyCondition = ta.crossover(shortSMA, longSMA) and macdLine > signalLine

// Define sell condition: only sell if price is at or above the identified major resistance
sellCondition = close >= major_resistance and macdLine < signalLine

// Define sentiment-based exit conditions
closeEarlyCondition = strategy.position_size < 0 and rsi > rsiOverbought  // Close losing trade early if RSI is overbought
holdWinningCondition = strategy.position_size > 0 and rsi < rsiOversold   // Hold winning trade if RSI is oversold

// Execute strategy: Enter long position when buy conditions are met
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Close the position when the sell condition is met (price at resistance)
if (sellCondition and not holdWinningCondition)
    strategy.close("Buy")

// Close losing trades early if sentiment is against us
if (closeEarlyCondition)
    strategy.close("Buy")

// Visual cues for buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Add alert for buy condition
alertcondition(buyCondition, title="Buy Signal Activated", message="Buy signal activated: Short SMA has crossed above Long SMA and MACD is bullish.")

// Add alert for sell condition to notify when price hits major resistance
alertcondition(sellCondition, title="Sell at Major Resistance", message="Sell triggered at major resistance level.")

// Add alert for early close condition (for losing trades)
alertcondition(closeEarlyCondition, title="Close Losing Trade Early", message="Sentiment is against your position, close trade.")

// Add alert for holding winning condition (optional)
alertcondition(holdWinningCondition, title="Hold Winning Trade", message="RSI indicates oversold conditions, holding winning trade.")