Многоуровневая динамическая количественная стратегия подсчета ликвидности

RSI ATR SMA 流动性扫荡 止损狩猎 量价关系 动态止盈止损
Дата создания: 2025-06-30 15:33:08 Последнее изменение: 2025-06-30 15:33:08
Копировать: 2 Количество просмотров: 296
2
Подписаться
319
Подписчики

Многоуровневая динамическая количественная стратегия подсчета ликвидности Многоуровневая динамическая количественная стратегия подсчета ликвидности

Обзор

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

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

В основе этой стратегии лежит выявление и использование так называемой “ликвидарной чистки” или “охоты на убытки”.

  1. Идентификация ликвидной зоныСтратегия использует обратный период (по умолчанию 20 циклов) для определения недавних максимумов и минимумов, которые обычно собирают большое количество стоп-ордеров.

  2. Прорывная проверкаВ случае, если текущая цена превышает предыдущие максимумы или минимумы, стратегия обнаруживает потенциальные события ликвидности.

    • Высокие достижения:high > highestHigh[1]
    • Прорыв в низком уровне:low < lowestLow[1]
  3. Условия фильтрацииДля того чтобы уменьшить количество ложных сигналов, в стратегии были введены два ключевых фильтра:

    • RSI подтверждаетТребования: RSI должен быть в зоне перепродажи при прорыве низких значений ((<40) и в зоне перекупа при прорыве высоких значений ((<60))
    • Подтверждение поставки: требует значительно более высокого, чем средний, объема сделок (более чем в 1,5 раза больше среднего значения 20-дневного объема сделок)
  4. Сигнал входа

    • При условии: цена пробилась в нижнюю ликвидную зону + RSI перепродажа + резкое увеличение объема сделок
    • Условия лишения свободы: цена пробилась в верхнюю ликвидную зону + RSI перекупил + резкий рост объема сделок
  5. Управление рисками: Стратегия использования динамических стоп-стоп-убытков на базе ATR:

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

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

После более глубокого анализа данная стратегия имеет следующие существенные преимущества:

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

  2. Механизм многократного подтверждения: объединение ценового поведения (прорыв), технических показателей (RSI) и анализа объема сделок, формирование системы тройного подтверждения, значительно уменьшает ложные сигналы.

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

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

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

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

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

Несмотря на то, что стратегия была продуманной, она содержит следующие риски:

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

  2. Параметр Чувствительность: Стратегическая производительность чувствительна к параметрам (например, период ретроспекции, умножение ATR, минимум RSI). Рекомендуется адаптировать оптимальные параметры для различных рынков и временных рамок путем обратной проверки.

  3. Зависимость от рыночной среды: Эта стратегия лучше всего работает в рыночных колебаниях, в которых могут возникать частые ошибочные сигналы в рынках с сильной тенденцией. Можно рассмотреть возможность добавления компонента распознавания тенденций, чтобы избежать этого риска.

  4. Необычный уровень сдачиВ некоторых рынках или в особые торговые дни объем торгов может быть необычным из-за нестандартных факторов (например, праздники, политические объявления), которые влияют на качество сигнала. Можно рассмотреть возможность использования относительного объема торгов или корректировки объема торгов в кратном размере.

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

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

На основе анализа кода можно выделить несколько возможных направлений оптимизации:

  1. Добавить фильтр трендаВнедрение компонентов распознавания трендов (например, подвижные средние, индикаторы ADX и т. д.), вход только в том случае, если направление тренда соответствует входным сигналам, избегание обратной торговли в сильных тенденциях.

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

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

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

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

  6. Оптимизация стратегий по борьбе с туберкулезомМожно рассмотреть возможность применения стратегии пошагового остановки, перемещения стоп-лосса к цене стоимости после достижения определенной прибыли, для достижения безрисковой торговли.

  7. Машинное обучение: Изучение исторических моделей счистки текучести путем внедрения алгоритмов машинного обучения, оптимизация выбора параметров и процесса генерации сигналов.

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-06-30 00:00:00
end: 2025-01-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Liquidity Sweep Strategy v2 - Fixed Close Labels", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
lookback = input.int(20, title="Lookback for High/Low Sweep")
atrMult = input.float(1.5, title="ATR Multiplier for TP/SL")
volumeMult = input.float(1.5, title="Volume Spike Multiplier")
rsiPeriod = input.int(14, title="RSI Period")
rsiOB = input.int(60, title="RSI Overbought")
rsiOS = input.int(40, title="RSI Oversold")

// === CALCULATIONS ===
highestHigh = ta.highest(high, lookback)
lowestLow = ta.lowest(low, lookback)
sweepHigh = high > highestHigh[1]
sweepLow = low < lowestLow[1]

volMA = ta.sma(volume, 20)
volSpike = volume > volMA * volumeMult

rsi = ta.rsi(close, rsiPeriod)

atr = ta.atr(14)
longSL = low - atr * atrMult
longTP = close + atr * atrMult
shortSL = high + atr * atrMult
shortTP = close - atr * atrMult

// === ENTRY CONDITIONS ===
longEntry = sweepLow and rsi < rsiOS and volSpike
shortEntry = sweepHigh and rsi > rsiOB and volSpike

// === STRATEGY EXECUTION ===
if (longEntry)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long TP/SL", from_entry="Long", stop=longSL, limit=longTP)
    label.new(bar_index, low, "🟢 BUY", style=label.style_label_up, textcolor=color.white, color=color.green, size=size.small)

if (shortEntry)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short TP/SL", from_entry="Short", stop=shortSL, limit=shortTP)
    label.new(bar_index, high, "🔴 SELL", style=label.style_label_down, textcolor=color.white, color=color.red, size=size.small)

// === EXIT LABELS USING POSITION TRACKING ===
var float previous_position = na
position_closed = (strategy.position_size == 0 and previous_position != 0)

if position_closed and previous_position > 0
    label.new(bar_index, high, "🟩 SELL CLOSE", style=label.style_label_down, textcolor=color.white, color=color.green, size=size.small)
if position_closed and previous_position < 0
    label.new(bar_index, low, "🟥 BUY CLOSE", style=label.style_label_up, textcolor=color.white, color=color.red, size=size.small)

previous_position := strategy.position_size