Стратегии количественной торговли, основанные на анализе ликвидности и трендов

SMA ATR 流动性扫荡 趋势跟踪 止损止盈 波动率 高低点突破 移动平均线
Дата создания: 2025-08-19 11:48:02 Последнее изменение: 2025-08-19 11:48:02
Копировать: 0 Количество просмотров: 383
2
Подписаться
319
Подписчики

Стратегии количественной торговли, основанные на анализе ликвидности и трендов Стратегии количественной торговли, основанные на анализе ликвидности и трендов

Обзор

Количественная торговая стратегия с очисткой ликвидности и отслеживанием тенденций - это метод двойного анализа, который сочетает в себе очистку ликвидности рынка и отслеживание тенденций. Эта стратегия использует простые скользящие средние (SMA) в качестве инструмента для определения тенденций и использует динамические значения средней реальной диапазоны (ATR) для установления стоп-лода и стоп-стопа для адаптации к изменению волатильности рынка.

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

Основные принципы стратегии основаны на двух ключевых рыночных действиях: ликвидность и направление тенденций.

  1. Выявление мошенничества с ликвидностью:

    • Стратегическое использованиеswingLookbackПараметр ((по умолчанию 3) определяет обратный цикл недавних высоких и низких точек
    • BullSweep - bullish liquidity sweep (бульский свип), когда цены преодолевают недавние максимумы.
    • Bear Sweep (медвежий свип) - это когда цена преодолевает недавние минимумы.
  2. Тенденция подтверждена:

    • Использование простых скользящих средних ((дифолтный период 20) в качестве отсчета тенденций
    • Заключительные цены выше, чем скользящая средняя, рассматриваются как тенденция к росту
    • Закрытие цены ниже скользящей средней рассматривается как тенденция к снижению
  3. Сигнал входа:

    • Многоголовый вход: цены перешагнули недавние максимумы (ликвидность уменьшилась) и продолжают расти
    • Вход на пустую валюту: цены преодолели недавние минимумы (потеря ликвидности) и находятся в тенденции к снижению
  4. Управление рисками:

    • Динамическая остановка: настройка на основе ATR (дифолтный цикл 14), по умолчанию 1.5x ATR
    • Динамическая остановка: также основана на настройке ATR, по умолчанию в 3 раза ATR, обеспечивает 2: 1 риск-возмездие
  5. Компоненты визуализации:

    • Тенденционная скользящая средняя
    • Знак ликвидности
    • Цвет фона тренда
    • Сигналы о покупке и продаже

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

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

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

  3. Простые и эффективные параметры: Стратегия использует лишь небольшое количество ключевых параметров, таких как циклы скольжения средних величин, циклы ATR, стоп-убыток, стоп-упаковку и циклы обратного отсчета, что позволяет легко понять и оптимизировать стратегию.

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

  5. Встроенные напоминанияВ стратегию включены сигналы о покупке и продаже, которые помогают трейдерам получать своевременные уведомления о торговых возможностях.

  6. Интеграция управления капиталомСтратегия использования процентов доли в аккаунте для управления позициями, по умолчанию 10%, гарантируя, что размер позиции будет соответственно изменяться по мере роста аккаунта.

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

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

  2. Риски чрезмерной торговлиКогда:swingLookbackПри установке параметра слишком маленького ((как по умолчанию 3), может возникать слишком много торговых сигналов. Решение: изменить этот параметр в зависимости от особенностей и временных рамок торговых сортов или добавить механизм подтверждения сигналов.

  3. Слишком узкий/широкий риск: фиксированный ATR может быть недостаточно гибким в некоторых рыночных условиях. Решение: рассмотреть возможность динамического изменения ATR в зависимости от состояния рынка (например, изменения волатильности или интенсивности тренда).

  4. Риск изменения трендаРешение: рассмотреть возможность использования более чувствительных индикаторов, таких как ALMA или двойной EMA, для определения тенденции.

  5. Ограничение фиксированного соотношения риска и прибылиСтратегия: использование фиксированного ATR-множества (по умолчанию стоп - 1,5 раза, стоп - 3 раза), без учета поддерживающих сопротивлений в структуре рынка. Решение: можно улучшить, чтобы адаптировать целевую цену в соответствии с динамикой структуры рынка.

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

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

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

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

  4. Введение идентификации структуры рынкаУсиление понимания ценовой структуры, например, выявление более высоких высоких / более низких низких диапазонов или выявление зон поддержки / сопротивления, чтобы оптимизировать точки входа и целевые цены.

  5. Адаптированная скользящая средняя: рассмотреть возможность использования адаптивных подвижных средних (таких как KAMA или ALMA) вместо простых подвижных средних, чтобы лучше адаптироваться к различным рыночным условиям.

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

  7. Оптимизация управления позициямиВ настоящее время стратегия использует фиксированные проценты доли ((10%), можно рассмотреть возможность динамического изменения размера позиции на основе волатильности или модели риска, или реализовать стратегию пирамидального наращивания.

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2025-01-01 00:00:00
end: 2025-02-07 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_OKX","currency":"ETH_USDT","balance":5000}]
*/

//@version=5
strategy("Liquidity Sweep & Trend Following BTCUSD (Signals Visible)", overlay=true)

// ==== Inputs ====
length = input.int(20, "Trend MA Length")
atrLength = input.int(14, "ATR Length")
stopLossATR = input.float(1.5, "Stop Loss ATR Multiplier")
takeProfitATR = input.float(3, "Take Profit ATR Multiplier")
swingLookback = input.int(3, "Recent High/Low Lookback") // shorter for more signals

// ==== Indicators ====
ma = ta.sma(close, length)
atr = ta.atr(atrLength)

// ==== Trend Detection ====
trendUp = close > ma
trendDown = close < ma

// ==== Detect Liquidity Sweeps ====
// Relaxed condition
recentHigh = ta.highest(high, swingLookback)
recentLow = ta.lowest(low, swingLookback)

bullSweep = high >= recentHigh
bearSweep = low <= recentLow

// ==== Entry Rules ====
longCondition = bullSweep and trendUp
shortCondition = bearSweep and trendDown

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// ==== Exit Rules ====
strategy.exit("Exit Long", "Long", stop=close - atr*stopLossATR, limit=close + atr*takeProfitATR)
strategy.exit("Exit Short", "Short", stop=close + atr*stopLossATR, limit=close - atr*takeProfitATR)

// ==== Plot Trend MA ====
plot(ma, color=color.yellow, linewidth=2, title="Trend MA")

// ==== Plot Sweep Markers ====
plotshape(bullSweep, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small, title="Bull Sweep Marker")
plotshape(bearSweep, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, title="Bear Sweep Marker")

// ==== Background Trend Color ====
bgcolor(trendUp ? color.new(color.green, 85) : trendDown ? color.new(color.red, 85) : na)

// ==== Alert Conditions ====
alertcondition(longCondition, title="Buy Signal", message="BTCUSD Buy Signal – Liquidity Sweep + Trend")
alertcondition(shortCondition, title="Sell Signal", message="BTCUSD Sell Signal – Liquidity Sweep + Trend")