Эта стратегия представляет собой следующую систему тренда, основанную на нескольких технических показателях, объединяющих скользящие средние (EMA), индекс направленного движения (DMI), дренажный осциллятор цен (DPO), индекс относительной силы (RSI) и средний истинный диапазон (ATR).
Стратегия использует систему тройной экспоненциальной скользящей средней (EMA) в качестве основного механизма определения тренда в сочетании с другими техническими индикаторами для подтверждения множественного сигнала: 1. Быстрая EMA (10-дневная) фиксирует краткосрочную динамику цен Средняя EMA (25-дневная) служит среднесрочным фильтром тренда 3. Медленная EMA (50-дневная) определяет общее направление тренда 4. DMI (14-дневный) подтверждает направленную силу тренда 5. Защитник прав потребителей подтверждает отклонение цен от тенденции 6. RSI (14-дневный) измеряет динамику и условия перекупки/перепродажи 7. ATR (14-дневный) устанавливает цели стоп-лосса и прибыли
Условия торгового сигнала: - Длинная: быстрая EMA пересекает среднюю EMA, причем обе пересекают медленную EMA, ADX>25, RSI>50, DPO>0 - Краткий: быстрая EMA пересекает среднюю EMA, причем обе пересекают медленную EMA, ADX>25, RSI<50, DPO<0
Меры по контролю риска: - Динамические остановки на основе ATR адаптируются к волатильности рынка - Управление рисками на фиксированной основе - Многоиндикаторное перекрестное подтверждение уменьшает ложные сигналы
Эта стратегия строит полную тенденцию после торговой системы посредством сочетания нескольких технических индикаторов. Ее основные особенности - строгое подтверждение сигнала и разумный контроль риска, подходящий для отслеживания средне- и долгосрочных тенденций в ежедневных временных рамках. Хотя есть некоторое отставание в сигналах, стратегия демонстрирует надежную общую производительность посредством строгого контроля риска и многократного подтверждения сигнала. При применении к живой торговле следует тщательно учитывать выбор рыночной среды и оптимизацию параметров для конкретных инструментов.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Daily Strategy with Triple EMA, DMI, DPO, RSI, and ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Input parameters fastEmaLength = input.int(10, title="Fast EMA Length") mediumEmaLength = input.int(25, title="Medium EMA Length") slowEmaLength = input.int(50, title="Slow EMA Length") dmiLength = input.int(14, title="DMI Length") adxSmoothing = input.int(14, title="ADX Smoothing") dpoLength = input.int(14, title="DPO Length") rsiLength = input.int(14, title="RSI Length") atrLength = input.int(14, title="ATR Length") riskPercentage = input.float(2.0, title="Risk Percentage", step=0.1) atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss", step=0.1) tpMultiplier = input.float(2.0, title="ATR Multiplier for Take Profit", step=0.1) // Calculate EMAs fastEma = ta.ema(close, fastEmaLength) mediumEma = ta.ema(close, mediumEmaLength) slowEma = ta.ema(close, slowEmaLength) // Calculate other indicators [adx, diPlus, diMinus] = ta.dmi(dmiLength, adxSmoothing) dpo = close - ta.sma(close, dpoLength) rsi = ta.rsi(close, rsiLength) atr = ta.atr(atrLength) // Trading logic longCondition = ta.crossover(fastEma, mediumEma) and fastEma > slowEma and mediumEma > slowEma and adx > 25 and rsi > 50 and dpo > 0 shortCondition = ta.crossunder(fastEma, mediumEma) and fastEma < slowEma and mediumEma < slowEma and adx > 25 and rsi < 50 and dpo < 0 // Risk management riskAmount = (strategy.equity * riskPercentage) / 100 stopLoss = atr * atrMultiplier takeProfit = atr * tpMultiplier // Entry and exit logic if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Exit Long", "Buy", stop=close - stopLoss, limit=close + takeProfit) if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Exit Short", "Sell", stop=close + stopLoss, limit=close - takeProfit) // Plot indicators plot(fastEma, color=color.green, title="Fast EMA") plot(mediumEma, color=color.orange, title="Medium EMA") plot(slowEma, color=color.red, title="Slow EMA") hline(25, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)