$npx -y skills add SKE-Labs/agent-trading-skills --skill double-top-bottomTrade double and triple top/bottom reversal patterns. Use when identifying trend exhaustion, finding reversal entries at key resistance/support, or confirming failed breakouts.
| 1 | # Double Top & Bottom Patterns |
| 2 | |
| 3 | Reversal patterns that form when price fails to break a level twice. |
| 4 | |
| 5 | ## Pattern Structure |
| 6 | |
| 7 | ### Double Top (Bearish) |
| 8 | 1. Rally to resistance (Peak 1) → pullback to neckline → retest the resistance within a predeclared price or ATR tolerance → failure |
| 9 | |
| 10 | ### Double Bottom (Bullish) |
| 11 | 1. Drop to support (Trough 1) → bounce to neckline → retest the support within the same frozen tolerance → failure |
| 12 | |
| 13 | | Factor | Strong | Weak | |
| 14 | |--------|--------|------| |
| 15 | | Time between tests | Within a predeclared bar window | Selected after seeing outcome | |
| 16 | | Volume | Declining on 2nd test | Higher on 2nd test | |
| 17 | | Peak/trough alignment | Within a volatility-normalized tolerance | Arbitrary visual match | |
| 18 | |
| 19 | ## Workflow |
| 20 | |
| 21 | ### 1. Get Exact Data |
| 22 | |
| 23 | ``` |
| 24 | get_candles_around_date(symbol=<symbol>, exchange=<exchange>, interval=<interval>, date=<peak_date>) |
| 25 | ``` |
| 26 | |
| 27 | ### 2. Mark Peaks/Troughs (2 parallel highlight calls) |
| 28 | |
| 29 | ``` |
| 30 | draw_chart_analysis(action="create", drawing={ |
| 31 | "type": "highlight", |
| 32 | "points": [{"time": <peak1_time>, "price": <peak1_price>}], |
| 33 | "options": {"text": "Peak 1"} |
| 34 | }) |
| 35 | |
| 36 | draw_chart_analysis(action="create", drawing={ |
| 37 | "type": "highlight", |
| 38 | "points": [{"time": <peak2_time>, "price": <peak2_price>}], |
| 39 | "options": {"text": "Peak 2"} |
| 40 | }) |
| 41 | ``` |
| 42 | |
| 43 | ### 3. Draw Neckline |
| 44 | |
| 45 | ``` |
| 46 | draw_chart_analysis(action="create", drawing={ |
| 47 | "type": "support", |
| 48 | "points": [ |
| 49 | {"time": <neckline_start>, "price": <neckline_price>}, |
| 50 | {"time": <neckline_end>, "price": <neckline_price>} |
| 51 | ], |
| 52 | "options": {"text": "Neckline"} |
| 53 | }) |
| 54 | ``` |
| 55 | |
| 56 | For double top use `"support"` (neckline is below). For double bottom use `"resistance"` (neckline is above). |
| 57 | |
| 58 | ### 4. Enter |
| 59 | |
| 60 | **Standard:** Enter on neckline break + close with volume. Stop beyond peaks/troughs. |
| 61 | **Preferred:** Wait for break + neckline retest. Enter on rejection. |
| 62 | **Aggressive:** Enter at second peak/trough with LTF reversal confirmation. |
| 63 | **Target:** Neckline ± (Peak - Neckline). Example: Peak $100, Neckline $90 → Target $80. |
| 64 | |
| 65 | ## Evidence and Validation |
| 66 | |
| 67 | - Treat the setup as a testable hypothesis, not a prediction. Define thresholds, entry, invalidation, and exit before evaluating outcomes. |
| 68 | - Calibrate on the same instrument, venue, session, and timeframe. Use closed candles and a held-out or walk-forward sample; record every variant tried. |
| 69 | - 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. |
| 70 | - Return observed inputs, missing data, cost assumptions, entry, invalidation, exit, and a valid, watch, or no-trade status. |
| 71 | - Research basis: [Lo, Mamaysky & Wang](https://www.nber.org/papers/w7613) found incremental information in some algorithmically defined patterns, including double bottoms, but did not establish universal thresholds or profits. |
| 72 | |
| 73 | ## Key Rules |
| 74 | - NEVER trade before neckline confirmation — pattern incomplete until it breaks |
| 75 | - Treat declining activity on the second test as context, not validation by itself |
| 76 | - Freeze the peak/trough tolerance and bar window before evaluating returns |
| 77 | - Failed double tops/bottoms lead to strong continuation moves |
| 78 | |
| 79 | ## Related Skills |
| 80 | - **head-and-shoulders** — Similar reversal family |
| 81 | - **cup-and-handle** — Failed double bottoms can morph into cup patterns |