
이 전략은 가격 행동에 기반한 기관 거래 전략이라고 불린다. 그것은 기관 거래자의 특정 거래 패턴, 특히 특정 의 주문 블록 근처에 주문하는 경향이있는 경향을 이용하기 위해 시도한다. 이 전략은 공정 가치, 유동성 및 가격 행동에 대한 요소를 결합하여 시장 진입 및 출퇴근 시간을 결정한다.
이 전략의 핵심은 의 주문 블록 을 식별하는 것입니다. 즉, 과거에 많은 기관 거래 활동이 있었던 가격 영역입니다. 이러한 영역은 눈에 띄는 유동성과 관련이 있습니다. 주문 블록은 가격 구조를 사용하여 결정되며, 일반적으로 중요한 기술 가격 수준과 관련이 있습니다.
공정 가치는 이동 평균과 같은 지표에 기반한 도구의 합리적인 가격으로 정의된다. 현재 가격이 공정 가치에서 멀리 떨어져 있을 때, 이것은 시장 불균형의 신호로 간주된다.
유동성 또한 중요한 요소로, 기관 거래자는 유동성이 높은 지역에서 거래를 수행하는 경향이 있기 때문입니다.
이 전략은 간단한 이동 평균을 계산하여 공정 가치를 결정한다. 그리고 20주기 길이의 잠재적인 주문 블록을 식별한다. 폐쇄 가격과 공정 가치 사이의 차이는 주문 블록의 전체 높이의 38.2% 미만이라면 주문 블록을 결정한다.
여러 개의 주문 블록은 구매 신호로 간주됩니다. 공허 주문 블록은 판매 신호로 간주됩니다.
이 전략의 주요 장점은 기관 거래자의 거래 모형을 이용하는 것으로, 이는 더 기계화된 지표에 기반한 전략을 뛰어넘을 수 있다. 주문 흐름과 가치 영역에 초점을 맞추어, 몇 가지 다른 유형의 분석을 결합한다.
다른 장점들은 다음과 같습니다:
이 전략은 다음과 같은 몇 가지 잠재적인 위험에 직면해 있습니다.
이러한 위험들을 완화하기 위해, 다음과 같은 것을 고려하는 것이 좋습니다.
이 전략에 대한 몇 가지 잠재적인 최적화 사항은 다음과 같습니다.
종합적으로, 이 전략은 기관 거래자의 거래 행동을 활용하는 독특한 방법을 제공합니다. 그것은 여러 요소를 결합하고 장점이 있습니다. 그러나 대부분의 거래 전략과 마찬가지로 시장의 변화와 예상치 못한 가격 행동이 발생할 때 위험도 있습니다. 지속적인 테스트, 최적화 및 위험 관리를 통해 이 전략은 가치있는 정량 거래 도구가 될 수 있습니다.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ICT Strategy", overlay=true)
// Input variables
length = input.int(20, minval=1, title="Order Block Length")
fairValuePeriod = input.int(60, minval=1, title="Fair Value Period")
// Calculate fair value
fairValue = ta.sma(close, fairValuePeriod)
// Determine order blocks
isOrderBlock(high, low) =>
highestHigh = ta.highest(high, length)
lowestLow = ta.lowest(low, length)
absHighLowDiff = highestHigh - lowestLow
absCloseFairValueDiff = (close - fairValue)
(absCloseFairValueDiff <= 0.382 * absHighLowDiff)
isBuyBlock = isOrderBlock(high, low) and close > fairValue
isSellBlock = isOrderBlock(high, low) and close < fairValue
// Plot fair value and order blocks
plot(fairValue, color=color.blue, title="Fair Value")
plotshape(isBuyBlock, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(isSellBlock, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy logic
if (isBuyBlock)
strategy.entry("Buy", strategy.long)
if (isSellBlock)
strategy.entry("Sell", strategy.short)