$npx -y skills add SKE-Labs/agent-trading-skills --skill optimal-trade-entryDefine and test the ICT Optimal Trade Entry retracement convention. Use when measuring whether a 62–79% pullback region adds value after an objectively defined impulse.
| 1 | # Optimal Trade Entry (OTE) |
| 2 | |
| 3 | The ICT convention labels a 62–79% retracement region as OTE. Treat it as a candidate coordinate band; candles do not reveal where "smart money" entered, and empirical evidence does not support special standalone Fibonacci power. |
| 4 | |
| 5 | ## OTE Zone Levels |
| 6 | |
| 7 | | Fib Level | Convention | |
| 8 | | --------- | ------------------------ | |
| 9 | | 61.8% | Start of OTE zone | |
| 10 | | 70.5% | Arithmetic midpoint of 61.8% and 79% | |
| 11 | | 79% | End of OTE zone | |
| 12 | |
| 13 | Use after: BOS/CHoCH pullbacks, liquidity sweeps, trending move continuations. |
| 14 | |
| 15 | ## Workflow |
| 16 | |
| 17 | 1. **Identify the impulse** -- a strong displacement move with clear swing low to swing high (or vice versa): |
| 18 | ``` |
| 19 | get_candles_around_date(symbol=<symbol>, exchange=<exchange>, interval=<interval>, date=<date>) |
| 20 | ``` |
| 21 | 2. **Draw Fibonacci** using `draw_chart_analysis` with `fib_retracement`: |
| 22 | - Bullish: Point 1 = swing low, Point 2 = swing high |
| 23 | - Bearish: Point 1 = swing high, Point 2 = swing low |
| 24 | 3. **Calculate OTE zone** from the swing range: |
| 25 | - OTE Start: Swing High - Range * 0.618 |
| 26 | - OTE Mid: Swing High - Range * 0.705 |
| 27 | - OTE End: Swing High - Range * 0.79 |
| 28 | 4. **Mark OTE zone** using `draw_chart_analysis` with `demand` (bullish) or `supply` (bearish) |
| 29 | 5. **Test entry choices** at the boundary, midpoint, full traversal, or an objective confirmation; do not privilege 70.5% without evidence |
| 30 | 6. **Stop loss** beyond the 100% level (swing point) |
| 31 | 7. **Set target** from objective structure/time logic; extensions are candidate coordinates only |
| 32 | |
| 33 | ### Example Calculation |
| 34 | |
| 35 | High=52000, Low=45000, Range=7000: |
| 36 | - OTE Start (61.8%): 47,674 |
| 37 | - OTE Mid (70.5%): 47,065 |
| 38 | - OTE End (79%): 46,470 |
| 39 | |
| 40 | ## Evidence and Validation |
| 41 | |
| 42 | - Treat the setup as a testable hypothesis, not a prediction. Define thresholds, entry, invalidation, and exit before evaluating outcomes. |
| 43 | - Calibrate on the same instrument, venue, session, and timeframe. Use closed candles and a held-out or walk-forward sample; record every variant tried. |
| 44 | - Include spread, fees, slippage, borrow or funding, partial fills, and latency. Reject the setup when net expectancy is not positive or depends on one narrow parameter. |
| 45 | - Return observed inputs, missing data, cost assumptions, entry, invalidation, exit, and a valid, watch, or no-trade status. |
| 46 | - Research basis: Empirical [Fibonacci research](https://www.sciencedirect.com/science/article/abs/pii/S0957417421012495) found Fibonacci zones did not outperform non-Fibonacci zones as standalone rules; treat 62–79% as a candidate region only. |
| 47 | |
| 48 | ## Key Rules |
| 49 | |
| 50 | - Define the impulse endpoints without hindsight and normalize displacement by ATR/bars. |
| 51 | - Test higher-timeframe state, order-block, and FVG overlap as correlated candidate features. |
| 52 | - Compare the 62–79% region with equal-width non-Fibonacci and continuous-retracement baselines. |
| 53 | - Compute R:R from the actual entry, stop, target, side, and costs; no coordinate guarantees a minimum R:R. |
| 54 | |
| 55 | ## Related Skills |
| 56 | |
| 57 | - **order-blocks** — test whether a separately defined candle zone adds information to the OTE band |
| 58 | - **premium-discount** — OTE in discount for longs, premium for shorts maximizes probability |