Адаптивный индекс Скользящая средняя Динамическая корректировка позиции Прорывная торговая стратегия

EMA TP ROI
Дата создания: 2024-12-20 16:33:20 Последнее изменение: 2024-12-20 16:33:20
Копировать: 4 Количество просмотров: 415
1
Подписаться
1617
Подписчики

Адаптивный индекс Скользящая средняя Динамическая корректировка позиции Прорывная торговая стратегия

Обзор

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

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

Основная логика стратегии состоит из трех ключевых частей:

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

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

  1. Сигнал надежен: используя медленную ЭМА в качестве подтверждения тренда, можно эффективно отфильтровать ложные сигналы.
  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!")