Стратегия следования за трендом на основе индикатора EMA


Дата создания: 2023-11-27 15:30:29 Последнее изменение: 2023-11-27 15:30:29
Копировать: 0 Количество просмотров: 623
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе индикатора EMA

Обзор

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

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

Стратегия состоит из трех основных частей:

  1. EMA средний диапазон ((s2)): вычислить быстрый EMA средний диапазон ((ema_range) минус медленный EMA средний диапазон ((ema_watch), который используется для определения направления ценовой тенденции.

  2. Стандартное отклонение вверх и вниз ((s3)): на основе средней разницы линии EMA, добавляется множитель стандартного отклонения, чтобы построить верхнюю и нижнюю полосы орбиты.

  3. Флаги и сигналы: когда цена спускается вверх, создается сигнал покупки; когда цена спускается вниз, создается сигнал продажи. При создании сигнала также используется флаги.

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

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

Эта стратегия имеет следующие преимущества:

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

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

Однако эта стратегия также несет в себе некоторые риски:

  1. На рынке, находящемся в тренде, эффективность лучше, но на рынке, находящемся в колебании, может быть больше ошибочных сигналов.
  2. “Стандартный дифференциальный коэффициент” - это то, что вы пропустили на конференции, чтобы купить или продать.
  3. Не существует стратегии стоп-лосса, которая может привести к большим убыткам, если после прорыва произойдет обратный звонок.

Оптимизируйте эти риски следующими способами:

  1. Повышение оценки рынка в условиях кризиса и использование альтернативных стратегий в условиях кризиса.
  2. Оптимизация параметров стандартного отклонения, поиск оптимального сочетания параметров.
  3. Увеличение мобильного стоп-лоста для контроля потери отдельных модулей.

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

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

  1. Добавление дополнительных критериев, например, добавление ленты Брин, улучшение качества сигнала.
  2. Оптимизация средних и стандартных отклонений, поиск оптимальных комбинаций.
  3. Увеличение стратегии стоп-лосса и снижение риска вывода средств.
  4. Параметры оптимального сигнала покупки и продажи на различных рынках.
  5. Добавление алгоритмов машинного обучения для определения общего рыночного режима.

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

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

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

//@version=5
strategy("ROCKET_EWO", overlay=true)
ema_range = input(5)
ema_watch = input(13)
inval_a = input(open)
inval_b = input(open)
ratio = input(0)
max = 5000
s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch)
c_color=s2 <= ratio ? 'red' : 'lime'
s3 = s2 + (ta.stdev(open, 1)) * 5.618
plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0)
cr = s2 > 0
alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]')
buy = s2 > 1
sell = s2 < -1
txt  = "🚀" + "\n"+ "\n"+ "\n"+ "\n"
plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3)
plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0)
signalperiod = time
s4 = ta.cross(s2, 0) ? time : na
colsig= s2 <= ratio ? color.red : color.lime
plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1)

longCondition =  ta.crossover(s2, 1.618)
if (longCondition)
    strategy.entry("LONG Id", strategy.long)

shortCondition = ta.crossunder(s2, 1.618)
if (shortCondition)
    strategy.entry("SHORT Id", strategy.short)

strategy.close("LONG Id", when = s2 < 0.218)
// strategy.risk.max_drawdown(75, strategy.percent_of_equity)