Channels (CH)

Deterministic pattern/channel state, confidence, and breakout validation.

What It Measures

Channels detects deterministic channels/patterns, breakout state, directional bias, confidence, and measured-move targets.

Inputs

  • Upper/lower rail geometry from lookback structure.
  • Touch quality, breakout quality, recency cleanliness, cross-TF bias.
  • Pattern metadata (triangles, pennants, double tops/bottoms, H&S, channels/wedges).
  • ch_lookback_bars: {"1d": 180, "1w": 150, "4h": 220}
  • ch_min_touch_count: 3
  • ch_parallel_tolerance_pct: 0.25
  • ch_wedge_convergence_min_pct: 0.15
  • ch_break_close_count: 2
  • ch_break_buffer_atr_mult: 0.15
  • ch_break_volume_zscore_min: 0.5
  • ch_break_range_expansion_min: 1.1
  • ch_min_confidence_to_display: 0.35

Calculation Pipeline

  1. Build rails and identify deterministic pattern type/state.
  2. Compute geometry/touch/breakout/cleanliness scores plus cross-TF adjustment.
  3. Compute confidence and directional bias probabilities.
  4. Generate breakout metadata, target, invalidation, and trendline payload.
  5. Publish pattern, bounds, events, and risk anchors.

Formulas & Rules

confidence_raw = (geometry*0.30) + (touch*0.20) + (breakout*0.25) + (cleanliness*0.15) + ((0.5+cross_tf)*0.10)
confidence = clip(confidence_raw * 100, 5, 99)

bias_strength starts from direction_bias (+0.10 bull / -0.10 bear)
breakout_up adds +0.22; breakout_down adds -0.22
failed break states dampen bias_strength

bull_prob = clip(50 + bias_strength*100*(1-neutral_pull), 5, 95)
bear_prob = 100 - bull_prob

Live Worked Example

TFPatternStateBull/BearConfidenceBreakoutTargetInvalidation
1Whead_and_shouldersbreakdown_failed46/5469%down (unconfirmed)$35,523> $110,253
1Dhead_and_shouldersbreakout_failed42/5868%up (unconfirmed)$53,761> $68,762
4Hdescending_trianglebreakout_failed42/5882%up (unconfirmed)$62,933> $70,929

Failure / Fallback Behavior

  • If no stable pattern is found, engine can return pattern_type: none with neutral probabilities.
  • If finite confidence/probability cannot be computed, defaults are clamped to safe fallback values.
  • Invalidation is still synthesized for non-none patterns when possible.

Interpretation Notes

Pattern class and breakout state matter more than raw probability alone. Always pair with invalidation.