В процессе загрузки ресурсов... загрузка...

Приспосабливаемая динамическая стратегия торговли EMA по выбытию позиций

Автор:Чао Чжан, Дата: 2024-12-20 16:33:20
Тэги:ЕМАТПROI

img

Обзор

Эта стратегия представляет собой адаптивную торговую систему, основанную на двойной системе скользящих средних, которая идентифицирует сигналы покупки через перекрестное соединение быстро движущейся средней (EMA25) и медленно движущейся средней (EMA100), в сочетании с динамическими целями остановки потерь и прибыли для оптимизации результативности торговли.

Принцип стратегии

Основная логика стратегии включает в себя три ключевых компонента:

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

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

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

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

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

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

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

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover with TP and SL (Buy only) and Break-even", overlay=true)

// EMA sozlamalari
emaFastLength = input.int(25, title="Fast EMA Length")
emaSlowLength = input.int(100, title="Slow EMA Length")

// Hisoblash
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)

// Kesishishni aniqlash
bullishCross = ta.crossover(emaFast, emaSlow) // EMA 25 EMA 100 ni yuqoriga kesib o'tganda

// EMA 100 tagidagi oxirgi qizil shamning tagini olish
lastRedCandleLow = ta.valuewhen(close < open and close < emaSlow, low, 0) // EMA 100 pastidagi qizil shamning tagi

// TP va SL darajalarini hisoblash
longSL = lastRedCandleLow
longTP = close + 3 * (close - longSL) // TP SL ga nisbatan 1:2 masofada

// Savdoni ochish va 2% foyda bo'lganda SLni break-even ga o‘zgartirish
if (bullishCross)
    strategy.entry("Buy", strategy.long)  // Buy pozitsiyasini ochish
    strategy.exit("Exit Buy", "Buy", stop=longSL, limit=longTP)  // SL va TP qo'yish

    // 2% foyda bo'lganda SLni break-even ga o'zgartirish
    if (strategy.position_size > 0)
        profitPercentage = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
        if (profitPercentage >= 2)
            strategy.exit("Exit Buy BE", "Buy", stop=strategy.position_avg_price) // SLni break-even ga o'zgartirish

// Signalni ko'rsatish
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// // TP va SL chizish
// if (bullishCross)
//     line.new(x1=bar_index, y1=longSL, x2=bar_index+1, y2=longSL, color=color.red, width=1, extend=extend.none)
//     line.new(x1=bar_index, y1=longTP, x2=bar_index+1, y2=longTP, color=color.green, width=1, extend=extend.none)
//     label.new(bar_index, longSL, text="SL: " + str.tostring(longSL), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
//     label.new(bar_index, longTP, text="TP: " + str.tostring(longTP), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)

// EMA chizish
plot(emaFast, color=color.blue, title="Fast EMA (25)")
plot(emaSlow, color=color.orange, title="Slow EMA (100)")

// Alert qo'shish
alertcondition(bullishCross, title="Buy Signal Alert", message="EMA 25 crossed above EMA 100! Buy Signal!")


Связанные

Больше