Стратегия динамической идентификации тренда с экспоненциальной скользящей средней и адаптивным порогом волатильности

EMA ADX ATR P&L ROI
Дата создания: 2025-04-03 13:08:04 Последнее изменение: 2025-04-03 13:08:04
Копировать: 0 Количество просмотров: 342
2
Подписаться
319
Подписчики

Стратегия динамической идентификации тренда с экспоненциальной скользящей средней и адаптивным порогом волатильности Стратегия динамической идентификации тренда с экспоненциальной скользящей средней и адаптивным порогом волатильности

Обзор

Стратегия OneTrend Lite EMA - это инновационный метод отслеживания трендов, который позволяет идентифицировать и улавливать тенденции рынка, используя комбинацию индексов с перемещающейся средней (EMA), среднего трендового индекса (ADX) и среднего реального диапазона колебаний (ATR). Стратегия предназначена для предоставления четких и регулярных торговых сигналов, при этом динамически регулируя чувствительность к рыночной волатильности.

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

В центре стратегии - три ключевых технологических показателя:

  1. Быстрые и медленные ЭМА: для отслеживания тенденций изменения цены с помощью расчета индексных скользящих средних различных длин циклов
  2. Настраиваемые расчеты ADX: оценка силы тренда и динамики рынка
  3. Динамический порог ATR: чувствительность к адаптации к тренду, основанная на оценке ADX

Стратегия использует 30-циклические быстрые ЭМА и 60-циклические медленные ЭМА, чтобы генерировать торговый сигнал путем сочетания их дифференциальных значений с адаптированным ATR-множеством. Когда быстрые ЭМА превышают динамические пороги, они попадают в синюю зону тренда (позитивный), а когда падают, то попадают в желтую зону (позитивный).

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

  1. Адаптируемость: с помощью динамических ADX-терминалов стратегия может регулировать чувствительность в зависимости от различных рыночных условий
  2. Комбинация многомерных показателей: объединение EMA, ADX и ATR для повышения точности сигнала
  3. Ясный визуализированный диапазон торгов: синие и розовые зоны визуально показывают изменения тенденций
  4. Гибкость управления рисками: можно регулировать циклы EMA, ATR и ADX

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

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

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

  1. Внедрение алгоритмов машинного обучения: выбор параметров динамической оптимизации с использованием технологий ИИ
  2. Проверка многовременных рамок: проверка стабильности стратегии в разных временных масштабах
  3. Комбинация с другими показателями: в сочетании с динамическими показателями, такими как RSI, MACD для повышения точности сигнала
  4. Адаптированный механизм остановки убытков: адаптировать стратегию остановки убытков в соответствии с динамикой ATR

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

Стратегия OneTrend Lite EMA предоставляет трейдерам гибкий и интуитивно понятный способ отслеживания тенденций с помощью инновационных комбинаций индикаторов и адаптивной пониженной стоимости. Несмотря на некоторые присущие риски, ее многомерный анализ и способность к динамической корректировке делают ее количественной торговой стратегией, которая заслуживает более глубокого изучения.

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

//============================== OneTrend Lite Historical Performance ==============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 557x      | 55.29%    | 11        | 72.73%             | 13.579        | OneTrend Pro  |
//| ETH    | 207x      | 55.11%    | 13        | 46.15%             | 1.696         | OneTrend Pro  |
//| XRP    | 29x       | 99.85%    | 23        | 30.43%             | 1.261         | OneTrend Gaus |
//| SOL    | 152x      | 40.20%    | 8         | 62.50%             | 4.341         | OneTrend Gaus |
//| BNB    | 519x      | 64.29%    | 12        | 50.00%             | 3.351         | OneTrend Lite |
//| DOGE   | 21x       | 89.63%    | 22        | 27.27%             | 1.521         | OneTrend Gaus |
//| ADA    | 9x        | 76.18%    | 9         | 55.56%             | 9.039         | OneTrend Pro  |
//| SUI    | 6.6x      | 11.44%    | 2         | 100.00%            | ∞             | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//============================== OneTrend Pro Historical Performance ===============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 723x      | 50.99%    | 41        | 53.66%             | 2.625         | OneTrend Pro  |
//| ETH    | 1925x     | 40.07%    | 31        | 58.06%             | 3.472         | OneTrend Pro  |
//| XRP    | 298x      | 99.97%    | 53        | 37.74%             | 1.87          | OneTrend Gaus |
//| SOL    | 917x      | 73.31%    | 18        | 44.44%             | 2.71          | OneTrend Gaus |
//| BNB    | 353x      | 49.44%    | 31        | 45.16%             | 2.849         | OneTrend Lite |
//| DOGE   | 238x      | 92.38%    | 40        | 40.00%             | 2.389         | OneTrend Gaus |
//| ADA    | 39x       | 71.96%    | 31        | 35.48%             | 1.684         | OneTrend Pro  |
//| SUI    | 8.7x      | 31.53%    | 4         | 50.00%             | 13.457        | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//=========================== OneTrend Gaussian Historical Performance =============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown  | # Trades  | Profitable Trades  | Profit Factor | Best Method   |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC    | 107x      | 72.45%    | 26        | 57.69%             | 5.5           | OneTrend Pro  |
//| ETH    | 10x       | 40.07%    | 31        | 58.06%             | 3.472         | OneTrend Pro  |
//| XRP    | 1125x     | 99.94%    | 29        | 48.28%             | 1.509         | OneTrend Gaus |
//| SOL    | 925x      | 52.10%    | 11        | 63.64%             | 11.338        | OneTrend Gaus |
//| BNB    | 434x      | 58.10%    | 22        | 59.09%             | 4.845         | OneTrend Lite |
//| DOGE   | 487x      | 90.48%    | 40        | 32.50%             | 2.263         | OneTrend Gaus |
//| ADA    | 20x       | 71.96%    | 31        | 35.48%             | 1.684         | OneTrend Pro  |
//| SUI    | 3.3x      | 31.53%    | 4         | 50.00%             | 13.457        | OneTrend Pro  |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+

//@version=6
strategy("OneTrend Lite EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital = 10000)

// ——— USER INPUTS ———
// EMA settings
emaFastLen = 30
emaSlowLen = 60
atrLen     = 60

// ADX settings
adxLen       = 14
adxThreshold = 20

// ATR multipliers for trend conditions
atrMultStrong = 0.3
atrMultWeak   = 0.1

// ——— CALCULATIONS ———
// Calculate EMAs and their difference
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
emaDiff = emaFast - emaSlow

// --- Custom ADX Calculation ---
up      = ta.change(high)
down    = -ta.change(low)
plusDM  = (up > down and up > 0) ? up : 0.0
minusDM = (down > up and down > 0) ? down : 0.0
trur    = ta.rma(ta.tr, adxLen)
plusDI  = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx      = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxVal  = ta.rma(dx, adxLen)

// Determine the dynamic ATR multiplier based solely on ADX
dynamicAtrMult = adxVal > adxThreshold ? atrMultStrong : atrMultWeak

// Define bull (blue) and bear (pink) zones using the dynamic multiplier
emaBull = emaDiff > dynamicAtrMult * ta.atr(atrLen)
emaBear = emaDiff < -dynamicAtrMult * ta.atr(atrLen)

// ——— PLOTTING ———
clrBull    = color.rgb(70, 163, 255)   // Blue for bull
clrBear    = color.rgb(255, 102, 170)   // Pink for bear
clrNeutral = color.rgb(128, 128, 128)   // Gray for neutral

fastPlot = plot(emaFast, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Fast EMA")
slowPlot = plot(emaSlow, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Slow EMA")
fill(fastPlot, slowPlot, color=emaBull ? color.new(clrBull, 70) : emaBear ? color.new(clrBear, 70) : color.new(clrNeutral, 70))

// ——— STRATEGY LOGIC ———
// Enter long immediately when the zone turns blue, and exit when it turns pink.
if emaBull
    strategy.entry("Long", strategy.long, comment="Long Entry")
if emaBear
    strategy.close("Long", comment="Close Long")