Стратегия Momentum Crossover Moving Average


Дата создания: 2023-12-07 15:26:38 Последнее изменение: 2023-12-07 15:26:38
Копировать: 0 Количество просмотров: 569
1
Подписаться
1619
Подписчики

Стратегия Momentum Crossover Moving Average

Обзор

Эта стратегия используется для вычисления и нанесения на карту 14-дневных простых скользящих средних (SMA) и 28-дневных простых скользящих средних, которые делают больше, когда они производят золотой форк, и делают меньше, когда они производят мертвый форк, чтобы поймать изменения в динамике рынка.

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

Ключевые показатели этой стратегии - 14-дневный SMA и 28-дневный SMA. Среди них 14-дневный SMA может быстрее реагировать на изменения цен, отражая недавние тенденции; 28-дневная SMA-линия более спокойна, отражая среднесрочные тенденции.

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

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

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

  1. Простые в использовании и внедрении.
  2. Быстро реагировать на ценовые изменения, улавливая рыночные изменения.
  3. Сигналы в сочетании с краткосрочной и среднесрочной информацией относительно надежны.
  4. В зависимости от рынка может быть скорректирована SMA параметры, адаптивность.

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

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

  1. Сама SMA имеет задержку, которая может привести к задержке сигнала.
  2. Невозможность справиться с резкими колебаниями рынка, такими как быстрый прорыв.
  3. Это увеличивает частоту и стоимость транзакций.
  4. Правила входа и выхода из игры просты, есть место для оптимизации.

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

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

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

  1. Добавление фильтрационных условий, чтобы избежать ошибочного перекрестного сигнала.
  2. Увеличение механизма остановки убытков. Можно остановить убытки в соответствии с ATR или в сочетании с прорывными остановками.
  3. Оптимизируйте параметры цикла SMA. Можно использовать адаптивные SMA или динамически предпочтительные параметры с помощью метода ML.
  4. В сочетании с другими типами стратегий, такими как управление отступлением, отслеживание тенденций и т. д., формируется комбинированная стратегия.

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

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

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

//@version=5
strategy("Tu Estrategia", overlay=true)

// Variables de estrategia
var bool longCondition = na
var bool shortCondition = na

// Indicador
emaValue = ta.ema(close, 30)
plotColor = close > open ? color.green : color.red
plot(emaValue, color=plotColor, linewidth=2)
value = 10 * open / close
plotColor2 = close == open ? color.orange : color.blue
plot(value, color=plotColor2, linewidth=2)

// Lógica de la estrategia
longCondition := ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition := ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// Entradas de estrategia
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

plotColor3 = strategy.position_size > 0 ? color.green :
     strategy.position_size < 0 ? color.red :
     color.yellow

plot(ta.sma(close, 10), color=plotColor3)