Trend, chop, and how to tell
At any moment a market is in one of two structures, and the whole skill is telling which one you are in:
- A trend is directional. An uptrend prints higher highs and higher lows — each swing extends the last. A downtrend prints lower highs and lower lows.
- Chop is a range: swing highs and lows stall inside a band, the swings overlap, and price grinds sideways.
The uncomfortable truth is that most of the tape is chop — long stretches of range with shorter runs of trend between them. That matters because the two structures reward opposite reflexes, and mistaking one for the other is the most common way a reading goes wrong.
You read structure from the sequence of swing highs and lows, never a single candle. As long as each high tops the prior high and each low holds above the prior low, the uptrend is intact. The moment a low breaks the prior low, the sequence — and the structure — has changed.
A worked example
Take a generic broad-ETF session — call the instrument GENCO.
For most of the session, price is in chop: it pushes up, fails at roughly the same area, drifts back down, and holds near the same lower area. The swing highs line up; the swing lows line up; nothing extends. That is a range, and it is the majority of the day. Then a low finally holds higher than the prior low, and the next high tops the prior high — two swings that extend rather than overlap. That short sequence is the trend, embedded in a session that was otherwise sideways. The skill is not predicting the switch; it is naming which structure you are standing in right now.
See it in kestrel
Read the structure off a real, recorded session instead of trusting a label:
npx kestrel.markets sim mean-reversion-range-fadeThat runs a deterministic simulation over a generic range-bound session — managed licensed data, no wall time, no signup, no card — and prints a certified proof URL. Point the CLI back at the proof and it recomputes the whole record on your own machine, byte for byte, so you can trace the swing sequence yourself:
npx kestrel.markets certify https://kestrel.markets/proof/art_f576347572a410a52647cf90Keep it one command away: drop the kestrel.markets MCP server into your client and the next session is already wired up — no account in between.