Стратегия двойной торговли через ЕМА

Автор:Чао Чжан, Дата: 2023-09-19 19:36:03
Тэги:

Обзор

Стратегия двойного перекрестного трейдинга EMA - это стратегия, которая использует перекрестный переход двух EMA различной длины для определения тенденции рынка и совершения сделок.

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

Стратегия в основном использует значения и перекресток краткосрочной и долгосрочной EMA для определения направления тренда. Сначала она вычисляет краткосрочную EMA (например, 13 периодов) и долгосрочную EMA (например, 26 периодов), затем вычисляет процентный перекресток между двумя EMA. Если короткая EMA выше длинной EMA, а перекресток больше порога (например, 5%), это сигнализирует о восходящем тренде и проводятся длинные сделки. Если короткая EMA ниже длинной EMA, а перекресток больше порога, это сигнализирует о снижающемся тренде и проводятся короткие сделки.

Ключевая логика:

  1. Вычислить краткосрочные и долгосрочные ЭМП
  2. Проверьте, выше или ниже ли длинная EMA.
  3. Процентные расчеты перекрестного использования между двумя АРМ
  4. Определение направления тренда для длинных или коротких сделок
  5. Закрыть сделки при переходе цены через короткую среднюю среднюю среднюю

Это позволяет стратегии эффективно отслеживать средне- и долгосрочные тенденции и менять направление, когда тенденция меняется.

Преимущества

  • Простой и эффективный для отслеживания долгосрочных тенденций
  • EMA помогают отфильтровать краткосрочный рыночный шум
  • Конфигурируемые периоды EMA и перекрестный порог гибкости
  • Кроссоверный порог обеспечивает торговлю только при сильной тенденции
  • Короткий прорыв в среднесрочной рыночной сети для остановки потерь помогает управлять рисками

Риски и способы их смягчения

  • Невозможность выхода до перелома тренда, большие выводы
  • Могут быть сбиты во время ценового действия в диапазоне
  • Необходимость установления подходящих периодов и порога EMA для каждого инструмента

Риски могут быть уменьшены:

  1. Добавление фильтров для выявления сигналов отмены тренда для раннего выхода
  2. Увеличение правил фильтрации трендов для предотвращения действий с ограничением диапазона торговли
  3. Оптимизация периодов и порога EMA для каждого инструмента

Возможности для расширения

Стратегия может быть усилена в таких областях, как:

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

  2. Фильтрация тренда с использованием дополнительных индикаторов, таких как MACD, Bollinger Bands, чтобы избежать сбоев

  3. Стратегии остановки потерь, такие как остановки отслеживания или временные остановки для ограничения потерь

  4. Приобретение прибыли путем перемещения стоп-лосса для блокировки частичной прибыли после удара

  5. Количественная оптимизация с использованием машинного обучения для автоматической настройки параметров и фильтров

  6. Оптимизация портфеля в сочетании с некоррелирующими стратегиями для снижения привлечения средств и повышения надежности

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

Заключение

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


/*backtest
start: 2023-08-19 00:00:00
end: 2023-08-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)

diffMinimum = input(0.95, step=0.01)

small_ema = input(13, title="Small EMA")
long_ema = input(26, title="Long EMA")

ema1 = ema(close, small_ema)
ema2 = ema(close, long_ema)


orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum

longCondition = close > ema1 and ema1 > ema2
if (longCondition and orderCondition)
    strategy.entry("Long", strategy.long)

shortCondition = close < ema1 and ema1 < ema2
if (shortCondition and orderCondition)
    strategy.entry("Short", strategy.short)
    
strategy.close("Short", when=close > ema1)
strategy.close("Long", when=close < ema1)
    
plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2)
plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)

Больше