Стратегия пересечения двойной экспоненциальной скользящей средней

EMA 技术指标 交叉策略 趋势跟踪 移动平均线
Дата создания: 2025-04-07 12:00:24 Последнее изменение: 2025-04-07 12:00:24
Копировать: 0 Количество просмотров: 328
2
Подписаться
319
Подписчики

Стратегия пересечения двойной экспоненциальной скользящей средней Стратегия пересечения двойной экспоненциальной скользящей средней

Обзор

Двойная стратегия выхода из скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенной скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная скрещенная

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

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

  1. Вычислить две скользящие средние: 5-циклическая ЭМА (краткосрочная) и 21-циклическая ЭМА (долгосрочная)
  2. Распознавание сигнала Голдфорка: когда 5-циклическая ЭМА пересекает 21-циклическую ЭМА снизу
  3. Распознавание сигналов мертвой форки: когда 5-циклическая ЭМА сверху пересекает 21-циклическую ЭМА
  4. Правила торговли:
    • При появлении сигнала Gold Fork и отсутствии в настоящее время позиций сверх головы, ликвидировать возможные пустые позиции сверх головы и открыть позицию сверх головы
    • При появлении сигнала мертвой форки и отсутствии в настоящее время вакантных позиций, уравните возможные многоголовые позиции и откройте вакантные позиции
  5. Управление позициями: торговля осуществляется на 100% от чистой стоимости счета и не допускается наложение (pyramiding set to 0)
  6. Фильтрация по времени: выполнение торговых сигналов только в период с 1 января 2024 года по 1 марта 2025 года

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

Стратегические преимущества

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

  1. Ясность сигнала: сигнал на основе перекрестного EMA ясен и недвусмыслен, удобный для выполнения и отсчета
  2. Реагирующая чувствительность: использование EMA вместо SMA делает стратегию более чувствительной к ценовым изменениям и позволяет быстрее улавливать изменения в тренде
  3. Высокий уровень автоматизации: стратегия полностью автоматически выполняет торговые сигналы без вмешательства человека, снижая влияние субъективных эмоций на торговлю
  4. Полный риск-менеджмент: автоматическая ликвидация позиций при появлении обратного сигнала, эффективное управление временем риска
  5. Рациональное управление капиталом: использование процентов от чистой стоимости счета в качестве метода управления позициями, автоматическая корректировка размеров позиций по мере изменения размера счета
  6. Отличная визуализация: маркировка сигналов золотых и мертвых форков на графике и отображение параметров стратегии и чистой прибыли для удобства мониторинга и оценки стратегии
  7. Двусторонние сделки: одновременное улавливание тенденций к росту и снижению, максимизация рыночных возможностей
  8. Временная фильтрация: с помощью механизма временной фильтрации можно гибко устанавливать временные рамки для работы стратегии, избегая рыночных помех в определенный период времени

Стратегический риск

Несмотря на разумную конструкцию, существуют следующие потенциальные риски:

  1. Риск шокирующего рынка: частота перекрестных сигналов EMA в поперечно-шокирующем рынке, которая может привести к ложным сигналам, приводящим к последовательным остановкам

    • Решение: можно добавить дополнительные фильтрующие условия, такие как индикатор ADX, подтверждающий силу тренда, или добавить фильтр волатильности
  2. Риск отставания: несмотря на более быстрый отклик на EMA, существует определенная задержка в качестве отстающего индикатора, который может сигнализировать о том, что тренд закончился

    • Решение: можно рассмотреть возможность сокращения циклов EMA или использования в сочетании с ведущими показателями
  3. Риски управления капиталом: стратегия использования 100% аккаунта для торговли, высокий уровень леверинга, который может привести к значительному сокращению аккаунта при последовательных потерях

    • Решение: снижение коэффициента позиций, например, до 50% или ниже, введение механизма контроля максимального вывода
  4. Отсутствие механизма остановки убытков: отсутствие четких установок остановки убытков в коде, что может привести к значительным потерям в экстремальных рыночных условиях

    • Решение: добавление фиксированного стоп-лосса или стоп-лосса ATR-множественного числа, ограничение максимального убытка на одну сделку
  5. Отсутствие защиты прибыли: отсутствие установленных стоп-паролей или мобильных стоп-паролей, что может привести к отбросу полученной прибыли

    • Решение: внедрение мобильного стоп-лосса или частичного прибыли при достижении определенной цели прибыли

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

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

  1. Добавление трендового фильтра: введение индикатора ADX для фильтрации торговых сигналов в слабо трендовых рынках, выполнение торгов только тогда, когда ADX больше определенного порога (например, 20), уменьшение ложных сигналов в шокирующих рынках. Такая оптимизация эффективно повышает выигрышную вероятность, так как стратегия движущихся средних лучше работает в сильно трендовых рынках.

  2. Внедрение динамического стопа: добавление динамического стопа на основе ATR, который может автоматически корректировать стоп-позиции в зависимости от волатильности рынка, что позволяет контролировать риск и не выходить из него раньше срока из-за слишком жесткого стопа. Это особенно ценно для отслеживания долгосрочных тенденций.

  3. Оптимизация параметров EMA: можно использовать оптимизацию параметров для тестирования различных комбинаций циклов EMA, таких как 3 и 15, 8 и 34 и т. д., чтобы найти параметры, которые лучше всего работают в конкретных рыночных условиях. Разные рынки и временные рамки могут требовать разных оптимальных параметров.

  4. Введение механизма частичного получения прибыли: когда прибыль достигает определенного уровня (например, 2 раза ATR), часть позиций может быть ликвидирована, чтобы закрепить прибыль, а оставшиеся позиции продолжают держать тренд. Это может повысить общую стабильность прибыли, сохраняя способность улавливать большие тенденции.

  5. Добавление фильтров времени торговли: некоторые рынки могут быть слишком волатильными или недостаточно ликвидными в определенные периоды времени, можно установить окно времени торговли, торговать только в самые активные и стабильные периоды времени. Это помогает избежать высокой волатильности или низкой эффективности рыночной среды.

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

  7. Добавление второго подтверждения: в сочетании с другими техническими показателями, такими как RSI, случайный индикатор или MACD, в качестве второго подтверждения, торговля выполняется только тогда, когда несколько индикаторов совместно указывают в одном направлении, повышая качество сигнала.

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

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

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

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

Исходный код стратегии
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-06 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("EMA Cross Strategy with EMA Turning Exit", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)



// 定义EMA参数
ema5 = ta.ema(close, 5)
ema21 = ta.ema(close, 21)

// 绘制EMA线
plot(ema5, color=color.blue, title="EMA 5", linewidth=1)
plot(ema21, color=color.red, title="EMA 21", linewidth=1)

// 定义金叉和死叉条件
goldCross = ta.crossover(ema5, ema21)
deadCross = ta.crossunder(ema5, ema21)

// 在图表上标记交叉信号
plotshape(goldCross, title="Golden Cross", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.normal)
plotshape(deadCross, title="Death Cross", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.normal)


// 执行交易策略

// 开多单条件:金叉信号且无多头仓位
if (goldCross and strategy.position_size <= 0)
    strategy.close("Short")  // 平掉空头仓位(如果有)
    strategy.entry("Long", strategy.long)

// 开空单条件:死叉信号且无空头仓位
if (deadCross and strategy.position_size >= 0)
    strategy.close("Long")  // 平掉多头仓位(如果有)
    strategy.entry("Short", strategy.short)

// 显示策略参数和状态
var table t = table.new(position.top_right, 2, 3, bgcolor=color.white)
table.cell(t, 0, 0, "EMA Fast", text_color=color.blue)
table.cell(t, 1, 0, "5", text_color=color.blue)
table.cell(t, 0, 1, "EMA Slow", text_color=color.red)
table.cell(t, 1, 1, "21", text_color=color.red)
table.cell(t, 0, 2, "Net Profit", text_color=color.black)
table.cell(t, 1, 2, str.tostring(strategy.netprofit), text_color=color.black)