$npx -y skills add SKE-Labs/agent-trading-skills --skill liquidity-zonesMark candidate liquidity levels and test sweep/reversal behavior. Use when analyzing equal highs/lows, swing levels, round-number clustering, or stop-loss cascade risk without inferring hidden intent.
| 1 | # Liquidity Zones Trading |
| 2 | |
| 3 | Observable price levels where stop or limit orders may cluster. Clustering can contribute to cascades, but candles alone cannot identify the orders, their owners, institutional targeting, or a guaranteed reversal. |
| 4 | |
| 5 | ## Identification |
| 6 | |
| 7 | ### Buy-Side Liquidity (BSL) |
| 8 | - **Location**: Above swing highs, equal highs, resistance |
| 9 | - **Hypothesis**: Some buy stops may rest above the level; verify with available order/trade data |
| 10 | |
| 11 | ### Sell-Side Liquidity (SSL) |
| 12 | - **Location**: Below swing lows, equal lows, support |
| 13 | - **Hypothesis**: Some sell stops may rest below the level; verify with available order/trade data |
| 14 | |
| 15 | ### Level Features |
| 16 | |
| 17 | Record formation type, number of touches, equality tolerance in ATR/ticks, age, visible depth if available, distance, and time of day. Calibrate these features rather than assigning ordinal strength. |
| 18 | |
| 19 | ## Workflow |
| 20 | |
| 21 | 1. **Identify liquidity pool** (equal highs/lows, obvious swing points): |
| 22 | ``` |
| 23 | get_candles_around_date(symbol=<symbol>, exchange=<exchange>, interval=<interval>, date=<date>) |
| 24 | ``` |
| 25 | 2. **Mark levels** using `draw_chart_analysis`: `resistance` for BSL, `support` for SSL, `highlight` for sweep points |
| 26 | 3. **Wait for sweep** — price takes out the level |
| 27 | 4. **Confirm reversal**: use an objective swing/rejection rule and a predeclared return window |
| 28 | 5. **Enter after confirmation** |
| 29 | 6. **Stop loss** beyond the sweep wick |
| 30 | 7. **Target** opposite liquidity pool |
| 31 | |
| 32 | ## Evidence and Validation |
| 33 | |
| 34 | - Treat the setup as a testable hypothesis, not a prediction. Define thresholds, entry, invalidation, and exit before evaluating outcomes. |
| 35 | - Calibrate on the same instrument, venue, session, and timeframe. Use closed candles and a held-out or walk-forward sample; record every variant tried. |
| 36 | - 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. |
| 37 | - Return observed inputs, missing data, cost assumptions, entry, invalidation, exit, and a valid, watch, or no-trade status. |
| 38 | - Research basis: [Osler](https://www.newyorkfed.org/research/staff_reports/sr150.html) found clustered FX stop-loss orders can contribute to price cascades. This supports conditional liquidity hypotheses, not certainty that institutions target a visible level. |
| 39 | |
| 40 | ## Key Rules |
| 41 | |
| 42 | - Define sweep distance, close condition, reversal window, and expiry before evaluation. |
| 43 | - Compare anticipation, reversal, and continuation hypotheses on identical samples. |
| 44 | - Use time-of-day relative volume; it is contextual, not proof of stop orders. |
| 45 | - Equal highs/lows are candidate clustering coordinates, not known liquidity or magnets. |
| 46 | - Return `no trade` when the level or trigger cannot be defined without hindsight. |
| 47 | |
| 48 | ## Related Skills |
| 49 | |
| 50 | - **kill-zones** — Liquidity sweeps most commonly occur during London and NY AM sessions |
| 51 | - **market-structure-shift** — CHoCH after a sweep confirms the reversal direction |