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

PCT VOL MA OB
Дата создания: 2024-12-27 15:01:36 Последнее изменение: 2024-12-27 15:01:36
Копировать: 1 Количество просмотров: 519
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Стратегия основана на нескольких ключевых элементах:

  1. Идентификация блока ордеров — идентифицируйте блоки ордеров на покупку и продажу, анализируя свечные паттерны с использованием 20-периодного окна ретроспективного анализа. Блок покупки подтверждается взаимодействием предыдущей медвежьей свечи и текущей бычьей свечи, тогда как для блока продажи верно обратное.
  2. Контроль времени торговли — ограничение торговли основным периодом торговли с 09:30 до 16:00, избегая периодов открытия и закрытия с более высокой волатильностью.
  3. Логика входа - открываем длинную позицию, когда цена пробивает блок ордеров на покупку и находится в пределах торговой сессии, и открываем короткую позицию, когда цена пробивает блок ордеров на продажу.
  4. Управление складом — применяется трехуровневый план управления складом 50%-30%-20%, что соответствует целевым позициям 0,5%, 1,0% и 1,5% соответственно.

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

  1. Интеллектуальная идентификация ордеров — точно фиксируйте ключевые ценовые точки для крупных фондов, чтобы открывать и закрывать позиции с помощью динамического анализа высоких и низких точек.
  2. Диверсификация рисков. Трехуровневая структура склада эффективно диверсифицирует риски, гарантируя надежное сохранение прибыли и предоставляя тенденциям достаточно места для развития.
  3. Фильтрация по времени. Ограничивая время торговли, мы можем избежать периодов высокой волатильности рынка и повысить стабильность транзакций.
  4. Поддержка визуализации. Стратегия обеспечивает четкую визуализацию блоков ордеров, что облегчает трейдерам понимание структуры рынка.

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=6
strategy("Institutional Order Flow Strategy", overlay=true)

// Input settings
inputSession = input("0930-1600", "Trading Session") // Trading session
lookbackPeriod = input.int(20, "Order Block Lookback Period", minval=1) // Lookback for Order Blocks
target1Pct = input.float(0.5, "Target 1 (% move)", step=0.1, minval=0.1) // First profit target
target2Pct = input.float(1.0, "Target 2 (% move)", step=0.1, minval=0.1) // Second profit target
target3Pct = input.float(1.5, "Target 3 (% move)", step=0.1, minval=0.1) // Third profit target

// Order Block identification
highestHigh = ta.highest(high, lookbackPeriod)
lowestLow = ta.lowest(low, lookbackPeriod)
orderBlockBuy = ta.valuewhen(close[1] < open[1] and close > open, highestHigh, 0)
orderBlockSell = ta.valuewhen(close[1] > open[1] and close < open, lowestLow, 0)

// Entry logic
inSession = true
longCondition = close > orderBlockBuy and inSession
shortCondition = close < orderBlockSell and inSession

// Strategy entries
if longCondition
    strategy.entry("Long", strategy.long)

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

// Calculate targets for scaling out
longTarget1 = strategy.position_avg_price + strategy.position_avg_price * target1Pct / 100
longTarget2 = strategy.position_avg_price + strategy.position_avg_price * target2Pct / 100
longTarget3 = strategy.position_avg_price + strategy.position_avg_price * target3Pct / 100

shortTarget1 = strategy.position_avg_price - strategy.position_avg_price * target1Pct / 100
shortTarget2 = strategy.position_avg_price - strategy.position_avg_price * target2Pct / 100
shortTarget3 = strategy.position_avg_price - strategy.position_avg_price * target3Pct / 100

// Exit logic with scaling out
if strategy.position_size > 0
    strategy.exit("Target 1", from_entry="Long", limit=longTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Long", limit=longTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Long", limit=longTarget3, qty_percent=20)

if strategy.position_size < 0
    strategy.exit("Target 1", from_entry="Short", limit=shortTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Short", limit=shortTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Short", limit=shortTarget3, qty_percent=20)

// Visualize Order Blocks
plot(orderBlockBuy, "Order Block Buy", color=color.green, linewidth=2, style=plot.style_line)
plot(orderBlockSell, "Order Block Sell", color=color.red, linewidth=2, style=plot.style_line)