이 전략은 제도적 주문 흐름에 기반한 지능형 거래 시스템으로, 시장에서 주문 블록을 식별함으로써 잠재적 인 가격 반전 지점을 예측합니다. 이 시스템은 포지션 관리를 최적화하고 수익을 극대화하기 위해 3 단계 목표와 함께 동적 위치 확장 관리 접근 방식을 사용합니다. 전략의 핵심은 최고와 최저의 통계 분석을 통해 제도적 거래 행동으로 인해 남아있는 가격 발자국을 캡처하는 데 있습니다.
이 전략은 몇 가지 핵심 요소에 기반합니다.
이 전략은 제도적 주문 흐름 분석과 동적 위치 관리를 통해 완전한 거래 시스템을 구축합니다. 주문 블록 식별 및 다단계 수익 취득 설정을 통해 효과적인 위험 통제를 구현하면서 대규모 자본 거래의 기회를 포착합니다. 거래자는 시장 조건을 신중하게 고려하고 라이브 거래의 특정 상황에 따라 매개 변수를 조정하는 것이 좋습니다.
/*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)