Стратегия отслеживания кроссовера EMA


Дата создания: 2023-10-25 17:44:35 Последнее изменение: 2023-10-25 17:44:35
Копировать: 0 Количество просмотров: 804
1
Подписаться
1617
Подписчики

Стратегия отслеживания кроссовера EMA

Обзор

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

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

Эта стратегия основана на принципе золотой форки и мертвой форки средней линии EMA. Средняя линия EMA может сглаживать шум фильтрации данных о ценах и определять ценовую тенденцию по пересечениям средней линии EMA. Когда цена короткого периода находится выше цены длинного периода (EMA 20 циклов), это создает сигнал к покупке.

В то же время, эта стратегия в сочетании с индикатором SuperTrend фильтрует ложные сигналы, вызванные пересечением EMA. СуперТренд-индикатор, который рассчитывается на основе ATR, может более точно определять истинную тенденцию.

В частности, критерии этой стратегии следующие:

  1. Сигнал покупки создается, когда 20 EMA пересекает 50 EMA, и цена прорывает SuperTrend;

  2. Продажа происходит, когда 20 EMA пересекает 50 EMA, и цена переходит под Тренд SuperTrend.

С помощью перекрестных ЭМА можно оценить большие тенденции, а в сочетании с фильтрацией колебаний индикатора SuperTrend можно повысить точность стратегических торговых сигналов.

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

EMA имеет следующие преимущества:

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

  2. В качестве движущегося среднего значения, EMA может отфильтровывать часть шума.

  3. В сочетании с показателями SuperTrend можно дополнительно отфильтровывать шум и уменьшать ложные сигналы.

  4. Можно адаптироваться к различным рыночным условиям путем корректировки параметров цикла EMA.

  5. Настройка длинных и коротких позиций с возможностью использования различных способов торговли.

  6. Реализуется в разные периоды времени и для разных типов трейдеров.

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

С другой стороны, существуют риски, связанные с перекрестной стратегией EMA:

  1. При резких колебаниях на рынке EMA может задерживаться и не отражать изменения цены.

  2. Средняя линия EMA имеет отсталость и может создавать ошибочный сигнал.

  3. Неправильная настройка параметров короткого и длительного периодов ЭМА может привести к созданию ошибочных сигналов.

  4. Определенная слепота существует, когда невозможно определить реальную тенденцию рынка, полагаясь только на равномерное скрещивание.

  5. Необходимо выбрать подходящую стратегию по сдерживанию убытков и контролировать риски.

Следующие шаги помогут снизить риск:

  1. Оптимизируйте параметры цикла EMA и выберите подходящий средне-медленный цикл.

  2. Сокращение срока хранения и своевременное прекращение убытков.

  3. В сочетании с другими показателями, такими как скользящая средняя, форма K-линии и т. д.

  4. Соответственно, необходимо изменить частоту транзакций, чтобы уменьшить их количество.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация циклических параметров средней линии EMA, адаптация к различным циклическим и рыночным условиям. Можно ввести механизм оптимизации адаптивных параметров.

  2. Попробуйте различные среднелинейные индикаторы, такие как SMA, KWMA и т.д.

  3. Вместе с другими показателями для комбинированной торговли, формируются многофакторные модели, такие как MACD, RSI и т. Д. Внедряются алгоритмы машинного обучения для параметрической оптимизации и весовой настройки.

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

  5. Внедрение фильтрации объема сделок в сочетании с показателями объема сделок, чтобы избежать ложных сигналов.

  6. Оптимизация стратегии exits, установление правил выхода из игры. EXIT signals, такие как сочетание K-линейной формы, прорыв и т. д.

  7. Подтверждение тенденции в более высоких временных циклах, вход в более низкие временные циклы, осуществление отслеживания тенденции.

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

EMA кросс стратегия является простой и практичной стратегии для отслеживания тенденции. Она позволяет идентифицировать среднесрочные тенденции цены, чтобы получить сигнал о покупке и продаже. В сочетании с индикатором SuperTrend может эффективно отфильтровывать шум, уменьшить ошибочные сделки.

Исходный код стратегии
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alokbothra

//@version=5
strategy("Ema Crossover", overlay=true, initial_capital = 1000)
start = timestamp(2021,1,1,0,0)
end = timestamp(2023,10,30,0,0)
plot (ta.ema(close,20), title = "Ema 20", color = color.green , linewidth = 2)
plot (ta.ema(close,50), title = "Ema 50", color = color.red, linewidth = 2 )

//supertrend 1
Periods = input(title='ATR Period', defval=11)
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = close - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn =close+ Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
changeCond = trend != trend[1]

longonly = input.bool(defval = true, title = 'Long Only')
shortonly = input.bool(defval = true, title = 'Short Only')

longCondition = (ta.ema(close, 20) >= ta.ema(close, 50)) 
shortCondition = (ta.ema(close, 20) <= ta.ema(close, 50))
long = (trend == 1)
short = (trend == -1)
sell= short
cover= long
if time >= start and time < end
    if longonly
        if ((longCondition) and (long))
            strategy.entry ("Long Entry", strategy.long, comment ="Long Entry")
        if strategy.position_size > 0
            strategy.close("Long Entry", when = sell, comment = "Long Exit")
    if shortonly
        if ((shortCondition) and (short))
            strategy.entry("Short Entry", strategy.short, comment = "Short Entry")
        if strategy.position_size < 0
            strategy.close("Short Entry", when = cover, comment = "Short Exit")