
이 다차원 지표 융합형 ICT 주문 블록 동적 전략은 ICT (내은행 거래 이론) 방법론에 기반한 고급 수량 거래 전략으로, 여러 기술 지표가 결합되어 높은 확률의 거래 기회를 식별한다. 이 전략은 주문 블록 (Order Block), 평균 (Earline), 상대적으로 약한 지수 (Relative Weakness Index), 그리고 변동률 (ATR) 과 같은 여러 차원의 시장 정보를 통합하여 전체적인 거래 시스템을 구축한다. 이 전략은 시장의 중요한 가격 영역을 자동으로 식별한다.
이 전략의 핵심은 ICT 방법론의 주문 블록 이론에 기초하여, 시장이 트렌드가 형성되기 전에 “명령 블록”을 남길 것이라고 생각하며, 이러한 지역은 일반적으로 대형 기관이 포지션을 축적하는 곳입니다. 전략의 구체적인 작동 원리는 다음과 같습니다:
주문 블록 식별: 전략은 가격 역동성을 분석하여 보이스 및 보이스 주문 블록을 식별합니다. 코드에서 보이스 주문 블록은 가격이 상향으로 돌파 할 때 이전 최고점으로 정의되며, 보이스 주문 블록은 가격이 하향으로 돌파 할 때 이전 최저점으로 정의됩니다.
트렌드 필터: 50주기 EMA를 트렌드 필터로 사용하여, 가격이 EMA 위에 있을 때만 더 많은 신호를 고려하고, EMA 아래에 있을 때만 빈 신호를 고려한다.
동력 확인: RSI 지표를 사용하여 동력을 확인하고, 과도하게 구매하거나 과도하게 판매 된 시장 조건에서 입주를 피하십시오. RSI가 70보다 낮으면 더 많은 것을 고려하고, 30 이상이면 더 많은 것을 고려하십시오.
입학 조건다중 입장은 다음과 같은 조건을 충족해야 합니다: 1) 가격 상에서 주문 블록을 뚫고, 2) 가격이 EMA보다 높습니다, 3) RSI가 초고가 수준보다 낮습니다, 4) 종료 가격이 오픈 가격보다 높습니다.
위험 관리: 전략은 ATR 지표를 사용하여 동적으로 손실 수준을 계산합니다. ATR 값을 1.5의 배수로 곱하여 주문 블록 아래에 중지 지점을 설정합니다. 수익 목표는 위험과 수익률 (비용비율) 의 2 ~ 5배에 따라 자동으로 계산됩니다.
거래 실행: 모든 조건이 충족되면, 전략은 자동으로 거래를 실행하고 그에 따른 스톱로스 및 스톱 스톱 레벨을 설정한다.
다차원 분석 프레임워크이 전략은 가격행동, 트렌드, EMA, 동력, RSI, ATR의 여러 차원의 분석을 결합하여 전체적인 거래 의사 결정 시스템을 형성하여 가짜 신호를 효과적으로 줄입니다.
자율적 위험 관리ATR 지표를 사용함으로써 전략은 시장의 변동성에 따라 막부 수준을 조정할 수 있으며, 위험 관리가 더 유연하고 시장 변화에 적응 할 수 있습니다.
명확한 리스크-보너스 프레임워크이 전략은 고정된 리스크/이익비율 (RRR) 을 내장하고 있습니다. (RRR: 2.5:1) 이 모든 거래가 긍정적인 기대치를 가지고 있다는 것을 보장하며, 장기적으로 자금 성장에 도움이 됩니다.
동향 일관성: EMA 필터를 통해 트렌드 방향에서만 거래하는 것을 보장하여 거래 성공률과 수익성을 높입니다.
극단적인 시장 조건 필터링RSI를 활용하여 과잉 구매 또는 과잉 판매 시장 조건에서 입주를 피하고 역경 거래의 위험을 줄입니다.
입국 확인 메커니즘이 전략은 종전 가격에서 돌파구를 확인하도록 요구하며, 가짜 돌파구로 인한 손실 위험을 줄여줍니다.
시각화 및 경보 시스템전략: 명확한 차트 표기 및 경보 기능을 제공하여 거래자가 거래 기회를 직관적으로 식별하고 즉시 조치를 취할 수 있습니다.
지연 위험: EMA와 RSI와 같은 지표를 사용하는 것은 신호 지연을 유발할 수 있으며, 빠르게 변화하는 시장에서 최적의 입시 지점을 놓칠 수 있습니다. 또는 지연 신호를 생성합니다.
가짜 침입 위험: 가격이 주문 블록을 일시적으로 뚫고 나서 즉시 반전될 수 있으며, 이는 가짜 신호를 유발한다. 해결 방법: 거래량 확인이나 도건 K 라인 확인을 기다리는 것과 같은 추가 확인 메커니즘을 추가한다.
매개변수 민감도전략 성능은 입력 변수 (ATR 곱하기, 리스크 수익률 등) 에 크게 의존하며, 다른 시장 환경에는 다른 변수 설정이 필요할 수 있습니다. 해결 방법: 리테크 최적화를 수행하여 다른 시장과 시간 프레임에 대한 최적의 변수 조합을 찾습니다.
과도한 역사적 모델 의존: ICT 이론은 역사적 가격 모형을 기반으로 하지만, 시장 조건은 자주 변하며, 역사적 모형은 더 이상 유효하지 않을 수 있다. 해결책: 전략 성능을 정기적으로 평가하고, 시장 변화에 따라 전략 규칙을 조정한다.
재정 관리 부족: 전략에 스톱로스 및 리스크 수익률 설정이 포함되어 있음에도 불구하고, 포괄적인 자금 관리 규칙이 부족하다. 해결 방법: 거래 당 최대 위험 제한을 높이고 연속적인 손실 후 자금 조정 장치.
전체 시장의 적응성 문제전략은 특정 시장 또는 시간 프레임에서 잘 작동하지만 다른 경우에는 효과가 없습니다. 해결 방법: 시장 상태 식별 구성 요소를 추가하거나 거래 규칙을 조정하거나 다른 시장 조건에 따라 거래를 중지하십시오.
볼륨 증가 확인: 현재 전략은 오더 블록을 가격 역동적으로 식별하는 것만으로도 거래량 분석을 추가하여 중요한 주문 블록을 확인 할 수 있습니다. 실제로 효과적인 주문 블록은 종종 거래량 변화와 함께 발생합니다. 이것은 많은 품질이 낮은 신호를 필터링 할 수 있습니다.
시장 상태 분류: 시장 상태를 식별하는 메커니즘을 도입한다 (트렌드, 레지엄, 높은 변동성 등), 다양한 시장 상태에 따라 전략 매개 변수 또는 거래 규칙을 동적으로 조정한다. 이것은 다양한 시장 환경에서 전략의 적응성을 향상시킬 것이다.
다중 시간 프레임 분석: 더 높은 시간 프레임의 분석 결과를 통합하여 거래 방향이 더 큰 트렌드와 일치하도록하십시오. 예를 들어, 매일 또는 주간 트렌드 필터를 추가하여 큰 트렌드 방향에서만 거래 할 수 있습니다.
주문 블록 식별 알고리즘 개선: 현재 주문 블록 식별은 비교적 단순화되어 있으며, 가격 구조, 형태 및 변동 특성을 고려하는 것과 같은 더 높은 품질의 주문 블록을 식별하기 위해 더 복잡한 알고리즘을 사용할 수 있습니다.
동적 리스크 수익률: 시장의 변동성이나 트렌드 강도에 따라 역동적으로 조정되는 리스크 수익률, 강한 트렌드에서 더 높은 리스크 수익률을 사용하며, 변동성 시장에서 더 보수적인 설정을 사용합니다.
기계 학습 구성 요소를 추가합니다: 기기 학습 알고리즘을 도입하여 매개 변수 선택을 최적화하거나 최고의 거래 기회를 식별하고, 역사 데이터를 분석하여 최적의 매개 변수 조합과 입시 시점을 학습한다.
출전 메커니즘 개선: 고정된 스톱 스톱 손실 외에도 트렌드 이동을 더 잘 포착하기 위해 스톱 손실을 추적하거나 시장 구조에 기반한 출구 신호와 같은 동적 출구 메커니즘을 추가합니다.
계절과 시간 필터를 추가하세요.: 다른 시간대에 대한 성과를 분석합니다. (일상의 다른 시간, 주중의 다른 날) 비효율적인 거래 시간을 피하고, 성공 가능성이 높은 시간대에 집중합니다.
다차원 지표 융합형 ICT 주문 블록 역동 전략은 ICT 거래 이론과 현대 기술 분석을 결합한 종합 거래 시스템이다. 그것은 중요한 가격 영역을 식별하고 트렌드, 동력 및 변동률 지표를 결합하여 포괄적인 거래 프레임 워크를 만듭니다. 전략의 주요 장점은 다차원 분석 방법과 맞춤형 위험 관리 시스템으로 다양한 시장 조건에 적응 할 수 있습니다.
그러나, 이 전략은 지표 지각, 가짜 돌파 위험 및 변수 감수성 등과 같은 몇 가지 도전에 직면하고 있습니다. 전략의 안정성과 수익성을 강화하기 위해, 거래량 확인, 시장 상태 분류, 다중 시간 프레임 분석 및 주문 블록 식별 알고리즘을 개선하는 등 여러 가지 측면에서 최적화를 제안합니다.
이러한 최적화를 통해 전략은 다양한 시장 환경에서 일관된 결과를 낼 수 있는 보다 포괄적이고 효과적인 거래 시스템으로 발전할 잠재력을 가지고 있습니다. 무엇보다도, 거래자는 전략의 실물 시장 조건에서의 성능을 검증하기 위해 포괄적 인 재검토와 시뮬레이션 거래를 통해 전략의 성능을 검증하고 개인 위험 선호 및 거래 목표에 따라 필요한 조정을 수행해야합니다.
/*backtest
start: 2024-05-16 00:00:00
end: 2025-05-14 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Improved ICT Order Block Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs
atrLength = input.int(14, "ATR Length")
atrMultiplierSL = input.float(1.5, "ATR Multiplier for SL")
riskRewardRatio = input.float(2.5, "Risk/Reward Ratio")
emaLength = input.int(50, "EMA Length (Trend Filter)")
rsiLength = input.int(14, "RSI Length")
rsiOverbought = input.float(70, "RSI Overbought Threshold")
rsiOversold = input.float(30, "RSI Oversold Threshold")
// Indicators
atr = ta.atr(atrLength)
emaTrend = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
// Order Blocks (simplified)
bullishOB = (high > high[1]) ? high[1] : na
bearishOB = (low < low[1]) ? low[1] : na
var float lastBullishOB = na
var float lastBearishOB = na
if not na(bullishOB)
lastBullishOB := bullishOB
if not na(bearishOB)
lastBearishOB := bearishOB
// Entry Conditions with filters
longCondition = close > emaTrend and rsi < rsiOverbought and ta.crossover(close, lastBullishOB)
shortCondition = close < emaTrend and rsi > rsiOversold and ta.crossunder(close, lastBearishOB)
// Entry confirmation: wait for candle close in direction
longEntry = longCondition and close > open
shortEntry = shortCondition and close < open
// Entry prices
var float longEntryPrice = na
var float shortEntryPrice = na
// Stop Loss and Take Profit
longStop = lastBullishOB - atr * atrMultiplierSL
longTake = longEntryPrice + (longEntryPrice - longStop) * riskRewardRatio
shortStop = lastBearishOB + atr * atrMultiplierSL
shortTake = shortEntryPrice - (shortStop - shortEntryPrice) * riskRewardRatio
// Execute trades
if (longEntry)
strategy.entry("Long", strategy.long)
longEntryPrice := close
strategy.exit("Exit Long", "Long", stop=longStop, limit=longTake)
if (shortEntry)
strategy.entry("Short", strategy.short)
shortEntryPrice := close
strategy.exit("Exit Short", "Short", stop=shortStop, limit=shortTake)
// Plot signals
plotshape(longEntry, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortEntry, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot Order Blocks
plot(lastBullishOB, title="Bullish OB", color=color.green, style=plot.style_linebr)
plot(lastBearishOB, title="Bearish OB", color=color.red, style=plot.style_linebr)