Эта стратегия использует двойную экспоненциальную скользящую среднюю для определения направления тренда на основе ценового прорыва через скользящую среднюю. Она длинная, когда цена поднимается выше скользящей средней, и короткая, когда цена падает ниже скользящей средней. Стратегия сочетает в себе определение тренда и уровни перекупленности / перепродажи, чтобы закрепить прибыль.
Стратегия основана на индикаторе двойной экспоненциальной скользящей средней. Параметр длины в индикаторе устанавливает период скользящей средней на 20 дней. Параметр xPrice устанавливается на закрытие цены. Затем рассчитывается 20-дневная экспоненциальная скользящая средняя xXA. Также рассчитывается самый высокий nHH и самый низкий nLL за последние два дня. Если nLL выше скользящей средней или nHH ниже скользящей средней, то меньший из nLL и nHH принимается в качестве ключевой цены nXS. Если цена закрытия выше скользящей средней и ключевая цена, она идет длинной. Если цена закрытия ниже средней и ключевая цена, она идет короткой.
Стратегия оценивает направление ценового прорыва через скользящую среднюю и сочетает в реальном времени самый высокий максимум и самый низкий минимум, чтобы определить действительность прорыва, чтобы избежать ложных прорывов.
Двойная экспоненциальная скользящая средняя может более точно определить направление тренда.
Объединение наивысшего максимума и наименьшего минимума для оценки достоверности прорыва позволяет избежать ложных прорывов, вызванных колебаниями цен.
Длинный/короткий курс можно легко изменить с помощью параметра обратного движения для адаптации к различным условиям рынка.
Только торговля на прорывах эффективно отфильтровывает рыночный шум.
Двойная экспоненциальная скользящая средняя иногда реагирует медленно и может упустить краткосрочные торговые возможности.
Системы скользящих средних склонны часто генерировать ложные сигналы во время консолидации рынка.
Стратегия подходит для рыночных условий с очевидными тенденциями и не подходит для волатильных рынков с ограниченным диапазоном.
Он не рассматривает выходные периоды стоп-лосса и имеет риск увеличения потерь.
Он не устанавливает размер позиции и может привести к ненадлежащему контролю рисков.
Другие показатели могут быть объединены для оценки рыночных тенденций и избежания частой торговли во время консолидации.
Динамические остановки могут быть добавлены для контроля риска потерь от одной сделки.
Параметры скользящей средней могут динамически корректироваться на основе волатильности рынка для оптимизации чувствительности показателя.
Размер позиции может быть установлен для контроля рисков при расширении прибыли.
Параметры могут быть оптимизированы с помощью анализа ходьбы вперед.
Эта стратегия использует двойной показатель экспоненциальной скользящей средней для определения направления тренда цены, сочетая самый высокий максимум и самый низкий минимум, чтобы избежать ложных прорывов.
/*backtest start: 2023-09-07 00:00:00 end: 2023-10-07 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 27/12/2016 // Strategy // This indicator plots 2/20 exponential moving average. For the Mov // Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. // // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Strategy 2/20 Exponential Moving Average", overlay = true) Length = input(20, minval=1) reverse = input(false, title="Trade reverse") xPrice = close xXA = ema(xPrice, Length) nHH = max(high, high[1]) nLL = min(low, low[1]) nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH) pos = iff(close > xXA and close > nXS , 1, iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nXS, color=blue, title="XAverage")