
Многоуровневая динамическая ликвидность - это высокотехнологичная торговая система, специально разработанная для обнаружения и использования стоп-охоты на рынке. Эта стратегия основана на том, что рыночные органы часто создают ложные прорывы в ключевых зонах ликвидности (например, в недавних высоких или низких точках), а затем быстро переворачивают. Эта стратегия особенно эффективна, когда рынок вызывает обратный курс после большого количества стоп-ордеров.
В основе этой стратегии лежит выявление и использование так называемой “ликвидарной чистки” или “охоты на убытки”.
Идентификация ликвидной зоныСтратегия использует обратный период (по умолчанию 20 циклов) для определения недавних максимумов и минимумов, которые обычно собирают большое количество стоп-ордеров.
Прорывная проверкаВ случае, если текущая цена превышает предыдущие максимумы или минимумы, стратегия обнаруживает потенциальные события ликвидности.
high > highestHigh[1]low < lowestLow[1]Условия фильтрацииДля того чтобы уменьшить количество ложных сигналов, в стратегии были введены два ключевых фильтра:
Сигнал входа:
Управление рисками: Стратегия использования динамических стоп-стоп-убытков на базе ATR:
Отслеживание транзакций: Стратегия отслеживает изменения позиций и помечает точки входа и выхода на графике, обеспечивая интуитивную визуальную обратную связь с торговлей.
После более глубокого анализа данная стратегия имеет следующие существенные преимущества:
Рыночная психологияСтратегия запечатлела психологическую слабость участников рынка, то есть концентрированное поведение, которое приводит к установлению остановок в ключевых позициях, что является повторяющейся моделью на рынке.
Механизм многократного подтверждения: объединение ценового поведения (прорыв), технических показателей (RSI) и анализа объема сделок, формирование системы тройного подтверждения, значительно уменьшает ложные сигналы.
Динамическое управление рискамиИспользование ATR для установки стоп-стоп, позволяя управлению рисками адаптироваться к изменению волатильности рынка, установка более широкого стоп-стопа в высоковолатильных рынках и более узкого стоп-стопа в низковолатильных рынках.
Объективные условия приемаВступление в стратегию основано исключительно на объективных технических показателях и рыночной деятельности, что уменьшает влияние субъективного суждения.
Система визуальной обратной связиВходные и выходные позиции, помеченные на графике, позволяют трейдерам визуально оценивать эффективность стратегии и проводить ретроспективный анализ.
Адаптация к различным рыночным условиямС помощью регулируемых параметров, стратегия может быть адаптирована к различным рыночным условиям и видам торгов.
Несмотря на то, что стратегия была продуманной, она содержит следующие риски:
Риск неудачного прорыва: Рынок может быть вызван после прорыва продолжающимся однонаправленным движением, а не ожидаемым обратным движением, что приводит к тому, что сбой вызывается. Решение - оптимизация параметров ретроспективного периода или добавление дополнительных фильтров тренда.
Параметр Чувствительность: Стратегическая производительность чувствительна к параметрам (например, период ретроспекции, умножение ATR, минимум RSI). Рекомендуется адаптировать оптимальные параметры для различных рынков и временных рамок путем обратной проверки.
Зависимость от рыночной среды: Эта стратегия лучше всего работает в рыночных колебаниях, в которых могут возникать частые ошибочные сигналы в рынках с сильной тенденцией. Можно рассмотреть возможность добавления компонента распознавания тенденций, чтобы избежать этого риска.
Необычный уровень сдачиВ некоторых рынках или в особые торговые дни объем торгов может быть необычным из-за нестандартных факторов (например, праздники, политические объявления), которые влияют на качество сигнала. Можно рассмотреть возможность использования относительного объема торгов или корректировки объема торгов в кратном размере.
Риск проскальзыванияВ случае высокой волатильности цены фактического исполнения могут существенно отличаться от цены теоретического входа. Рекомендуется учитывать дополнительные меры защиты от скольжения в реальной торговле.
На основе анализа кода можно выделить несколько возможных направлений оптимизации:
Добавить фильтр трендаВнедрение компонентов распознавания трендов (например, подвижные средние, индикаторы ADX и т. д.), вход только в том случае, если направление тренда соответствует входным сигналам, избегание обратной торговли в сильных тенденциях.
Изменение динамических параметровВнедрение механизма адаптации, который автоматически корректирует период обратного отсчета и кратность ATR в зависимости от волатильности рынка, чтобы стратегия могла лучше адаптироваться к различным рыночным условиям.
Улучшенный анализ объемов сделокДля более точного подтверждения количества сделок можно рассмотреть использование относительной скорости изменения объема сделок или сопоставления объема сделок, а не просто сравнение средних значений объема сделок.
Фильтр времениДобавление фильтров на время торговли, чтобы избежать необычных периодов открытия и закрытия рынка или конкретных периодов публикации экономических данных.
Анализ многовременных рамокАнализ структуры рынка в более высоких временных рамках, поиск торговых возможностей только вблизи областей поддержки и сопротивления в более высоких временных рамках.
Оптимизация стратегий по борьбе с туберкулезомМожно рассмотреть возможность применения стратегии пошагового остановки, перемещения стоп-лосса к цене стоимости после достижения определенной прибыли, для достижения безрисковой торговли.
Машинное обучение: Изучение исторических моделей счистки текучести путем внедрения алгоритмов машинного обучения, оптимизация выбора параметров и процесса генерации сигналов.
Многоуровневая динамическая ликвидность счистка количественной стратегии является тщательно разработанной торговой системой, предназначенной для захвата распространенного в рынке поведения стоп-охоты. Благодаря сочетанию ценовых прорывов, показателей 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