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

EMA RSI VWAP ATR SL TP RR
Дата создания: 2025-02-21 11:50:06 Последнее изменение: 2025-02-21 11:50:06
Копировать: 0 Количество просмотров: 379
2
Подписаться
319
Подписчики

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

Обзор

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

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

Основные принципы стратегии заключаются в том, что торговое направление определяется путем совместного использования нескольких технических показателей, включая:

  1. Использование перекрестных 9-циклических и 21-циклических ЭМА для захвата изменений в динамике цен
  2. Определяет рыночные предпочтения, оценивая текущие цены по VWAP относительно средней цены сделки на день
  3. Использование RSI для определения состояния рынка перекупа и перепродажи и в качестве вспомогательного индикатора для подтверждения тренда
  4. Динамическая стоп-позиция, основанная на настройке ATR, с использованием 1,5 раза ATR в качестве стоп-дистанции
  5. Использование риска прибыли в соотношении 2: 1 с установкой стоп-позиции

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

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

// Input parameters
emaShortLength = input(9, title="Short EMA Length")
emaLongLength  = input(21, title="Long EMA Length")
rsiLength      = input(14, title="RSI Length")
rsiOverbought  = input(70, title="RSI Overbought Level")
rsiOversold    = input(30, title="RSI Oversold Level")
atrMultiplier  = input(1.5, title="ATR Multiplier for SL")
riskRewardRatio = input(2, title="Risk-Reward Ratio") // Defines TP as 2x SL

// Calculate indicators
emaShort = ta.ema(close, emaShortLength)
emaLong  = ta.ema(close, emaLongLength)
rsi      = ta.rsi(close, rsiLength)
vwap     = ta.vwap(close)  // Fixed: Added "close" as the source
atr      = ta.atr(14)

// Define conditions for entry
longCondition  = ta.crossover(emaShort, emaLong) and close > vwap and rsi > 50
shortCondition = ta.crossunder(emaShort, emaLong) and close < vwap and rsi < 50

// ATR-based Stop Loss & Take Profit
longSL  = close - (atr * atrMultiplier)
longTP  = close + ((close - longSL) * riskRewardRatio)

shortSL = close + (atr * atrMultiplier)
shortTP = close - ((shortSL - close) * riskRewardRatio)

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longSL, limit=longTP)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortSL, limit=shortTP)

// 🔔 Add Alert Conditions for TradingView Alerts
alertcondition(longCondition, title="BTC Buy Signal", message="🚀 Buy Signal: 9 EMA crossed above 21 EMA, Price above VWAP, RSI > 50")
alertcondition(shortCondition, title="BTC Sell Signal", message="🔻 Sell Signal: 9 EMA crossed below 21 EMA, Price below VWAP, RSI < 50")

// Plot indicators
plot(emaShort, color=color.blue, title="9 EMA", linewidth=2)  // Thicker line for better visibility
plot(emaLong, color=color.red, title="21 EMA", linewidth=2)    // Thicker line for better visibility
hline(rsiOverbought, "RSI Overbought", color=color.red, linewidth=2)  // Thicker line for RSI Overbought
hline(rsiOversold, "RSI Oversold", color=color.green, linewidth=2)    // Thicker line for RSI Oversold
plot(vwap, color=color.purple, title="VWAP", linewidth=2)            // VWAP line on price chart

// Create a separate panel for RSI for better scaling
plot(rsi, color=color.orange, title="RSI", linewidth=2, style=plot.style_line)  // Plot RSI on a separate panel