Интеллектуальная система торговли со скользящим стоп-лоссом, основанная на пересечении трех скользящих средних в сочетании с соотношением риска и доходности

EMA R2R
Дата создания: 2025-01-06 16:53:36 Последнее изменение: 2025-01-06 16:53:36
Копировать: 1 Количество просмотров: 445
1
Подписаться
1617
Подписчики

Интеллектуальная система торговли со скользящим стоп-лоссом, основанная на пересечении трех скользящих средних в сочетании с соотношением риска и доходности

Обзор

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

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

Система в основном включает в себя следующие основные функциональные модули:

  1. Модуль генерации сигнала: используйте пересечение быстрой EMA8 и средней EMA21 для определения направления торговли и требуйте, чтобы цена была выше или ниже медленной EMA89 для подтверждения общей тенденции.
  2. Модуль исполнения торговли: автоматически открывает позицию при выполнении условий длинной или короткой позиции, а также устанавливает начальный стоп-лосс и целевую позицию
  3. Модуль управления рисками: когда цена достигает соотношения риска к доходности 1:1, стоп-лосс автоматически перемещается в позицию затрат, чтобы зафиксировать безрисковую прибыль.
  4. Модуль визуализации: нарисуйте на графике три скользящие средние, точки входа и маркеры скользящего стоп-лосса

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

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

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

  1. Риск волатильности рынка: на боковом рынке могут возникать частые ложные сигналы прорыва.
  2. Риск проскальзывания: при исполнении скользящего стоп-лосса на быстром рынке может возникнуть проскальзывание.
  3. Системный риск: Внезапные и значительные колебания рынка могут привести к неисполнению стоп-лосса. Решение:
  • Добавить фильтр тренда для определения нестабильных рынков
  • Установите разумный стоп-лосс-буфер
  • Внедрение адаптивного механизма волатильности

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

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

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

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

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

//@version=5
strategy("EMA Crossover with SL to BE", shorttitle="OmegaGalsky", overlay=true)

// Входни параметри
ema8_period = input.int(8, title="EMA 8 Period")
ema21_period = input.int(21, title="EMA 21 Period")
ema89_period = input.int(89, title="EMA 89 Period")
fixed_risk_reward = input.float(1.0, title="Risk/Reward Ratio (R2R)")
sl_percentage = input.float(0.001, title="Stop Loss Percentage", step=0.0001)
tp_percentage = input.float(0.0025, title="Take Profit Percentage", step=0.0001)

// Изчисляване на EMA
ema8 = ta.ema(close, ema8_period)
ema21 = ta.ema(close, ema21_period)
ema89 = ta.ema(close, ema89_period)

// Условия за BUY
buy_condition = ta.crossover(ema8, ema21) and close > ema89 and close > open

// Условия за SELL
sell_condition = ta.crossunder(ema8, ema21) and close < ema89 and close < open

// Вход в BUY позиция
if (buy_condition)
    stop_loss = close * (1 - sl_percentage)
    take_profit = close * (1 + tp_percentage)
    strategy.entry("BUY", strategy.long)
    strategy.exit("TP/SL", from_entry="BUY", stop=stop_loss, limit=take_profit)

// Вход в SELL позиция
if (sell_condition)
    stop_loss = close * (1 + sl_percentage)
    take_profit = close * (1 - tp_percentage)
    strategy.entry("SELL", strategy.short)
    strategy.exit("TP/SL", from_entry="SELL", stop=stop_loss, limit=take_profit)

// Логика за преместване на стоп към BE
if (strategy.position_size > 0)
    entry_price = strategy.position_avg_price
    // За LONG позиция
    if (strategy.position_size > 0 and high  >= entry_price + (entry_price * sl_percentage * fixed_risk_reward))
        strategy.exit("SL to BE", from_entry="BUY", stop=entry_price)
        label.new(bar_index, high, "SL moved to BE", color=color.green)
    // За SHORT позиция
    if (strategy.position_size < 0 and low <= entry_price - (entry_price * sl_percentage * fixed_risk_reward))
        strategy.exit("SL to BE", from_entry="SELL", stop=entry_price)
        label.new(bar_index, low, "SL moved to BE", color=color.red)

// Чертеж на EMA
plot(ema8, color=color.orange, title="EMA 8")
plot(ema21, color=color.blue, title="EMA 21")
plot(ema89, color=color.purple, title="EMA 89")