Разработка стратегии экспоненциальной скользящей средней 2/20

Автор:Чао Чжан, Дата: 2023-10-08 15:14:17
Тэги:

Обзор

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

Логика стратегии

Стратегия основана на индикаторе двойной экспоненциальной скользящей средней. Параметр длины в индикаторе устанавливает период скользящей средней на 20 дней. Параметр xPrice устанавливается на закрытие цены. Затем рассчитывается 20-дневная экспоненциальная скользящая средняя xXA. Также рассчитывается самый высокий nHH и самый низкий nLL за последние два дня. Если nLL выше скользящей средней или nHH ниже скользящей средней, то меньший из nLL и nHH принимается в качестве ключевой цены nXS. Если цена закрытия выше скользящей средней и ключевая цена, она идет длинной. Если цена закрытия ниже средней и ключевая цена, она идет короткой.

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

Анализ преимуществ

  1. Двойная экспоненциальная скользящая средняя может более точно определить направление тренда.

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

  3. Длинный/короткий курс можно легко изменить с помощью параметра обратного движения для адаптации к различным условиям рынка.

  4. Только торговля на прорывах эффективно отфильтровывает рыночный шум.

Анализ рисков

  1. Двойная экспоненциальная скользящая средняя иногда реагирует медленно и может упустить краткосрочные торговые возможности.

  2. Системы скользящих средних склонны часто генерировать ложные сигналы во время консолидации рынка.

  3. Стратегия подходит для рыночных условий с очевидными тенденциями и не подходит для волатильных рынков с ограниченным диапазоном.

  4. Он не рассматривает выходные периоды стоп-лосса и имеет риск увеличения потерь.

  5. Он не устанавливает размер позиции и может привести к ненадлежащему контролю рисков.

Руководство по оптимизации

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

  2. Динамические остановки могут быть добавлены для контроля риска потерь от одной сделки.

  3. Параметры скользящей средней могут динамически корректироваться на основе волатильности рынка для оптимизации чувствительности показателя.

  4. Размер позиции может быть установлен для контроля рисков при расширении прибыли.

  5. Параметры могут быть оптимизированы с помощью анализа ходьбы вперед.

Резюме

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


/*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")

Больше