The Mathematical Architecture of ICT Optimal Trade Entry (OTE)
In standard retail charting, Fibonacci retracements default to 0.382, 0.500, and 0.618. However, smart money algorithms operate on deep discount pricing during bullish expansions and extreme premium pricing during bearish regimes. The Inner Circle Trader (ICT) OTE framework focuses exclusively on three specific institutional percentages:
- 0.620 Retracement: The outer boundary where high-frequency momentum algorithms begin scaling entry orders.
- 0.705 "Sweet Spot": The exact mathematical median between 0.62 and 0.79. Offers the highest mathematical Risk-to-Reward ratio (often exceeding 1:4).
- 0.790 Deep Retracement: The maximum allowable discount level. A price closure beyond 0.79 invalidates the swing leg and signals structure failure.
The OTE Formula Engine
def calculate_ict_ote(swing_low: float, swing_high: float, trend: str = 'BULLISH'):
"""
Computes exact institutional OTE price coordinates.
"""
swing_range = swing_high - swing_low
if trend.upper() == 'BULLISH':
ote_62 = swing_high - (swing_range * 0.62)
ote_705 = swing_high - (swing_range * 0.705)
ote_79 = swing_high - (swing_range * 0.79)
stop_loss = swing_low - (swing_range * 0.05) # 5% volatility buffer below low
target_1 = swing_high
target_2 = swing_high + (swing_range * 0.27) # -0.27 extension
target_3 = swing_high + (swing_range * 0.62) # -0.62 extension
return {
'Direction': 'BULLISH LONG',
'OTE_0.62': round(ote_62, 5),
'OTE_SweetSpot_0.705': round(ote_705, 5),
'OTE_0.79': round(ote_79, 5),
'Invalidation_SL': round(stop_loss, 5),
'Target_1_Equilibrium': round(target_1, 5),
'Target_2_Extension': round(target_2, 5),
'Target_3_Extension': round(target_3, 5)
}
else:
ote_62 = swing_low + (swing_range * 0.62)
ote_705 = swing_low + (swing_range * 0.705)
ote_79 = swing_low + (swing_range * 0.79)
stop_loss = swing_high + (swing_range * 0.05)
target_1 = swing_low
target_2 = swing_low - (swing_range * 0.27)
target_3 = swing_low - (swing_range * 0.62)
return {
'Direction': 'BEARISH SHORT',
'OTE_0.62': round(ote_62, 5),
'OTE_SweetSpot_0.705': round(ote_705, 5),
'OTE_0.79': round(ote_79, 5),
'Invalidation_SL': round(stop_loss, 5),
'Target_1_Equilibrium': round(target_1, 5),
'Target_2_Extension': round(target_2, 5),
'Target_3_Extension': round(target_3, 5)
}
# Example: EURUSD Bullish Swing (Low: 1.0750, High: 1.0900)
ote_levels = calculate_ict_ote(1.0750, 1.0900, 'BULLISH')
for k, v in ote_levels.items():
print(f"{k}: {v}")
OTE Setup Confluences
An OTE level is only valid when nested inside an unmitigated Fair Value Gap (FVG) or overlapping with a previous Order Block breaker. Entering blindly at 0.705 without structural confluence produces suboptimal win rates during trend transition phases.