Количественная торговая стратегия с многопериодным трендовым линейным поглощением


Дата создания: 2025-01-06 11:42:37 Последнее изменение: 2025-01-06 11:42:37
Копировать: 1 Количество просмотров: 315
1
Подписаться
1617
Подписчики

Количественная торговая стратегия с многопериодным трендовым линейным поглощением

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

//@version=6
strategy("Engulfing Candlestick Strategy", overlay=true)

// Input parameters
bull_color = input.color(color.new(color.green, 0), title="Bullish Engulfing Highlight")
bear_color = input.color(color.new(color.red, 0), title="Bearish Engulfing Highlight")
hold_periods = input.int(17, title="Hold Periods", minval=1)  // How many bars to hold the position

// Input for selecting the pattern (Bullish or Bearish Engulfing)
pattern_type = input.string("Bullish Engulfing", title="Engulfing Pattern", options=["Bullish Engulfing", "Bearish Engulfing"])

// Input for selecting the trade type (Long or Short)
trade_type = input.string("Long", title="Trade Type", options=["Long", "Short"])

// Conditions for Bullish Engulfing
bullish_engulfing = close > open and open < close[1] and close > open[1] and open[1] > close[1]

// Conditions for Bearish Engulfing
bearish_engulfing = close < open and open > close[1] and close < open[1] and open[1] < close[1]

// Declare the entry condition variable
var bool entry_condition = false  // Set initial value to 'false'

// Entry logic based on selected pattern and trade type
if pattern_type == "Bullish Engulfing"
    entry_condition := bullish_engulfing
else
    entry_condition := bearish_engulfing

// Execute the entry based on the selected trade type
if entry_condition
    if trade_type == "Long"
        strategy.entry("Long", strategy.long)
    else
        strategy.entry("Short", strategy.short)

// Close position after specified number of bars
if strategy.position_size != 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= hold_periods
    strategy.close("Long")
    strategy.close("Short")

// Highlight Bullish Engulfing Candles (Background Color)
bgcolor(bullish_engulfing and pattern_type == "Bullish Engulfing" ? color.new(bull_color, 80) : na, title="Bullish Engulfing Background")
// Highlight Bearish Engulfing Candles (Background Color)
bgcolor(bearish_engulfing and pattern_type == "Bearish Engulfing" ? color.new(bear_color, 80) : na, title="Bearish Engulfing Background")