리소스 로딩... 로딩...

다단계 기관 주문 흐름 양적 전략

저자:차오장, 날짜: 2024-12-27 15:01:36
태그:PCTVOLMAOB

img

전반적인 설명

이 전략은 제도적 주문 흐름에 기반한 지능형 거래 시스템으로, 시장에서 주문 블록을 식별함으로써 잠재적 인 가격 반전 지점을 예측합니다. 이 시스템은 포지션 관리를 최적화하고 수익을 극대화하기 위해 3 단계 목표와 함께 동적 위치 확장 관리 접근 방식을 사용합니다. 전략의 핵심은 최고와 최저의 통계 분석을 통해 제도적 거래 행동으로 인해 남아있는 가격 발자국을 캡처하는 데 있습니다.

전략 원칙

이 전략은 몇 가지 핵심 요소에 기반합니다.

  1. 주문 블록 식별 - 촛불 패턴 분석을 통해 구매 및 판매 주문 블록을 식별하기 위해 20 기간 룩백 창을 사용합니다. 구매 블록은 이전 하향 촛불과 현재 상승 촛불의 조합으로 확인되며 판매 블록은 반대 패턴을 따르고 있습니다.
  2. 거래 시간 통제 - 거래는 시장 개장 및 폐쇄 기간 동안 높은 변동성을 피하는 09:30-16:00의 주요 세션으로 제한됩니다.
  3. 엔트리 로직 - 거래 시간 동안 가격이 구매 주문 블록보다 높을 때 긴 포지션이 열리고 가격이 판매 주문 블록보다 낮을 때 짧은 포지션이 열립니다.
  4. 위치 스케일링 - 0.5%, 1.0%, 1.5%의 목표에 해당하는 50%-30%-20%의 3단계 스케일링 시스템을 구현합니다.

전략적 장점

  1. 스마트 오더 탐지 - 높은 가격과 낮은 가격의 동적 분석을 통해 큰 자본 지위가 구축되거나 폐쇄되는 주요 가격 수준을 정확하게 캡처합니다.
  2. 리스크 분포 - 3단계 포지션 스케일링은 리스크를 효과적으로 분배하여 수익을 확보하고 동시에 트렌드가 완전히 발전하도록 허용합니다.
  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)


관련

더 많은