Research markers identify recorded conditions at their detection time. They are observations, not trade recommendations or probabilities. Open “Why this marker?” for the observed values and exact query, or “Find comparable moments” to review an editable study.
What is a sweep and reclaim?
If the preceding three-hour low was $100, a completed 15-minute candle that trades to $99 and closes at $101 has swept the low and reclaimed it. The opposite pattern sweeps the high and closes below it. Version 3 also requires the candle body to be at least 40% of its range in the reclaim direction. The marker becomes knowable at the candle close.
Inspect real examples
These examples were regenerated from August 2026 BTC and T market data with rulebook v3. Expand one to inspect the evidence. Replay access depends on your plan and available tick history.
4 of 4 moments · 4 episodes
00:30:00TUSDT · Swept highs and rejected Why this marker?
A completed 15-minute candle swept a prior three-hour extreme and closed back through it.
A candle pattern does not establish stop hunting or predict a reversal. Older rulebooks did not require the body filter.
- Detected
- 2026-08-21 00:30 UTC
- Rule
- km.sweep_reclaim
- Version
- key_moments.rulebook.v3
- Data revision
- 10f8357e21342fef5e66ab6e86b1a2b5ab32b2df3e791f55f64e1920fdbdb065
- Query hash
- b0ecc5f8fd7e4cb6354f4216284e8ab27f3d58582b805328d6c40d4e8e10dbe7
- Display severity
- 0.44 (not a probability)
feature.candle_sweep_reclaim_15m: observed "bearish"; condition eq "bearish" · 2026-08-21T00:30:00.000Z · setup_point_in_timefeature.candle_body_15m: observed -0.440000000000009; condition between {"lte":-0.4} · 2026-08-21T00:30:00.000Z · setup_point_in_time
Exact query definition
{ "feature_version": "feature_defs.v1", "normalization_version": "archive_normalization.v1", "page": { "cursor": null, "limit": 50 }, "schema_version": "research_query.v2", "sort": [ "times.anchor_time", "asc" ], "target": "record_occurrences", "where": { "all": [ [ "feature.candle_body_15m", "lte", -0.4 ], [ "feature.candle_sweep_reclaim_15m", "eq", "bearish" ], [ "identity.symbol", "in", [ "btcusdt", "tusdt" ] ], [ "times.anchor_time", "between", [ "2026-08-21T00:00:00.000Z", "2026-09-03T23:59:00.000Z" ] ] ] } }13:00:00BTCUSDT · Price ranges compressed Why this marker?
Both the completed one-hour and four-hour candles have unusually narrow ranges relative to their recent candles.
Compression does not predict the direction or timing of a subsequent move.
- Detected
- 2026-08-22 13:00 UTC
- Rule
- km.range_compression
- Version
- key_moments.rulebook.v3
- Data revision
- 10f8357e21342fef5e66ab6e86b1a2b5ab32b2df3e791f55f64e1920fdbdb065
- Query hash
- b8dbae4e11c737771aa83f38ed4d6411d96352618100ae04886607d1d9e686ba
- Display severity
- 0.56 (not a probability)
feature.candle_compression_1h: observed 0.4395599173062788; condition between {"lte":0.5} · 2026-08-22T13:00:00.000Z · setup_point_in_timefeature.candle_compression_4h: observed 0.48107009376434606; condition between {"lte":0.5} · 2026-08-22T13:00:00.000Z · setup_point_in_time
Exact query definition
{ "feature_version": "feature_defs.v1", "normalization_version": "archive_normalization.v1", "page": { "cursor": null, "limit": 50 }, "schema_version": "research_query.v2", "sort": [ "times.anchor_time", "asc" ], "target": "record_occurrences", "where": { "all": [ [ "feature.candle_compression_1h", "lte", 0.5 ], [ "feature.candle_compression_4h", "lte", 0.5 ], [ "identity.symbol", "in", [ "btcusdt", "tusdt" ] ], [ "times.anchor_time", "between", [ "2026-08-21T00:00:00.000Z", "2026-09-03T23:59:00.000Z" ] ] ] } }19:12:00TUSDT · Sustained aggressive selling Why this marker?
Aggressive buying or selling dominates the trailing hour and agrees with the four-hour flow.
Executed aggressor flow is not trader intent, resting liquidity or a price forecast.
- Detected
- 2026-08-22 19:12 UTC
- Rule
- km.directional_flow
- Version
- key_moments.rulebook.v3
- Data revision
- 10f8357e21342fef5e66ab6e86b1a2b5ab32b2df3e791f55f64e1920fdbdb065
- Query hash
- 2aad5627543f132abd2a97e374a94b9dafedf8af43bd5c3f11ca2cfab0c0d882
- Display severity
- 0.30 (not a probability)
feature.taker_net_ratio_1h: observed -0.30045887653946174; condition between {"lte":-0.3} · 2026-08-22T19:12:00.000Z · setup_point_in_timefeature.taker_net_ratio_4h: observed -0.21196599368139768; condition between {"lte":-0.2} · 2026-08-22T19:12:00.000Z · setup_point_in_time
Exact query definition
{ "feature_version": "feature_defs.v1", "normalization_version": "archive_normalization.v1", "page": { "cursor": null, "limit": 50 }, "schema_version": "research_query.v2", "sort": [ "times.anchor_time", "asc" ], "target": "record_occurrences", "where": { "all": [ [ "feature.taker_net_ratio_1h", "lte", -0.3 ], [ "feature.taker_net_ratio_4h", "lte", -0.2 ], [ "identity.symbol", "in", [ "btcusdt", "tusdt" ] ], [ "times.anchor_time", "between", [ "2026-08-21T00:00:00.000Z", "2026-09-03T23:59:00.000Z" ] ] ] } }13:00:00BTCUSDT · Descending resistance broken Why this marker?
The resistance detector recorded a new break of a long or short descending line.
A line disappearing or missing data is not a break. The short family has a 10-day span floor; the calibrated family uses its own longer geometry.
- Detected
- 2026-08-24 13:00 UTC
- Rule
- km.resistance_break
- Version
- key_moments.rulebook.v3
- Data revision
- 10f8357e21342fef5e66ab6e86b1a2b5ab32b2df3e791f55f64e1920fdbdb065
- Query hash
- 8089ecce7e1a47b4f286882071e9dfcc8c9ea9df2ffff9fa340968296ba2148a
- Display severity
- 0.50 (not a probability)
feature.desc_resistance_short_hours_since_break: observed 0; condition between {"lte":0} · 2026-08-24T13:00:00.000Z · setup_point_in_time
Exact query definition
{ "feature_version": "feature_defs.v1", "normalization_version": "archive_normalization.v1", "page": { "cursor": null, "limit": 50 }, "schema_version": "research_query.v2", "sort": [ "times.anchor_time", "asc" ], "target": "record_occurrences", "where": { "all": [ [ "feature.desc_resistance_short_hours_since_break", "lte", 0 ], [ "identity.symbol", "in", [ "btcusdt", "tusdt" ] ], [ "times.anchor_time", "between", [ "2026-08-21T00:00:00.000Z", "2026-09-03T23:59:00.000Z" ] ] ] } }
Research detections use the historical readings that were available at that minute.
Understanding research markersExplore the marker families
Swept a level and reclaimed
A completed 15-minute candle swept a prior three-hour extreme and closed back through it.
Condition: In v3, a low sweep also requires signed body/range >= 0.4; a high sweep requires <= -0.4. The previous 12 completed candles define the level.
Limit: A candle pattern does not establish stop hunting or predict a reversal. Older rulebooks did not require the body filter.
km.sweep_reclaimDescending resistance broken
The resistance detector recorded a new break of a long or short descending line.
Condition: Hours since the recorded break equals zero in either resistance family. Opposite family detections within one hour consolidate.
Limit: A line disappearing or missing data is not a break. The short family has a 10-day span floor; the calibrated family uses its own longer geometry.
km.resistance_breakPrice ranges compressed
Both the completed one-hour and four-hour candles have unusually narrow ranges relative to their recent candles.
Condition: Both range/baseline ratios <= 0.5. Each baseline is the mean range of the preceding 12 candles at that timeframe.
Limit: Compression does not predict the direction or timing of a subsequent move.
km.range_compressionSustained directional taker flow
Aggressive buying or selling dominates the trailing hour and agrees with the four-hour flow.
Condition: Signed net taker ratio >= 0.3 over 1h and >= 0.2 over 4h, or <= -0.3 and <= -0.2. This corresponds to at least 65% and 60% buying, or selling.
Limit: Executed aggressor flow is not trader intent, resting liquidity or a price forecast.
km.directional_flowOrder-flow imbalance rose sharply
VPIN is high and has risen substantially over the last 30 minutes.
Condition: VPIN >= 0.65 and its 30-minute delta >= 0.15.
Limit: VPIN measures volume imbalance; it does not identify informed traders or a price direction.
km.vpin_spikeVPIN entered a high regime
The recorded VPIN regime entered the high or critical set.
Condition: VPIN regime enters {high, critical}. A high-to-critical move stays inside that set and does not create another edge.
Limit: A model classification is a description of flow state, not certainty about future returns.
km.regime_flipObserved liquidation burst
The observed liquidation rate crossed five times its adaptive baseline.
Condition: Normalized liquidation intensity >= 0.5, where 1 represents ten times baseline and is capped.
Limit: Published liquidation observations are not a complete liquidation census. Historical source and side semantics vary; this marker makes no directional claim.
km.liq_burstSustained one-sided book
The book imbalance averaged at least half one-sided over 15 minutes.
Condition: 15-minute mean book imbalance >= 0.5 or <= -0.5.
Limit: Displayed liquidity can be cancelled. Book features are unavailable in some historical periods.
km.imbalance_flipLiquidations became clustered
Observed liquidation arrivals crossed the clustering threshold.
Condition: Cascade clustering index >= 0.6.
Limit: This is a clustering index, not a branching ratio or a forecast of a cascade.
km.clustering_rampHistorical markers and missing data
Markers are regenerated from stored research features, including historical windows. A new rulebook can apply to the preceding 30 or 90 days without recording new market activity. Availability depends on each feature’s history and warmup, not the date the marker was introduced. Tick replay coverage and account access are separate.
Conditions fire when they become true. Each family consolidates detections within one hour; the replay list groups nearby moments into expandable five-minute episodes. Family filters and “Show more” change the list, not the underlying research evidence.
No markers can mean no condition fired, or that required features were missing. It does not prove that every market condition was measured. Check data coverage.
Event annotations and reproducibility
Archived event annotations may describe facts established after an event, such as its eventual peak. Replay labels them separately from research detections and query navigation anchors.
The rulebook version, data revision and query hash identify how a marker was generated. Exact definitions in older markers remain authoritative even when a newer guide describes stricter conditions. Display severity is an ordering hint whose formula varies by family, not a confidence score.
What should I check next?
Inspect the lead-up, then compare the same condition with a baseline across other eligible windows. Include cases where the expected move did not happen. The reading library explains the underlying measurements.