TrueMove: Council of 7 Schools [TechnicalZen]A Decision Support System for Risk Management.
Imagine seven analysts — each a specialist in a different discipline — studying the same price chart simultaneously. One reads volume flow. Another scores multi-factor confluence. A third measures Wyckoff effort dynamics. A fourth compares wave speed and amplitude. A fifth tracks volume-weighted momentum. A sixth applies adaptive Kalman filtering. A seventh learns patterns from the instrument's own history using machine learning. Each arrives at their own independent conclusion. Then they vote.
This is what this indicator does. Seven academically grounded analytical Schools, each examining price action through a fundamentally different lens, casting independent votes on market direction. The result is not a prediction — it is a decision support system designed to help traders manage risk with confidence.
The core question it answers: "Is this move real, or is it a trap?"
When the council reaches consensus, you trade with conviction. When it doesn't, you wait. The strength of this system is not in any single School — it is in the convergence of independent perspectives. A move confirmed by volume flow, momentum, wave dynamics, and machine learning simultaneously carries fundamentally different weight than a move flagged by one method alone.
This is risk management through structured consensus. Not a black box. Not a single signal line. A council of seven independent minds, each with a transparent methodology, each with a tracked hit rate, each accountable for its calls.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The System
The indicator operates on three layers:
Signal Layer — Seven independent Schools analyze price action using different methodologies. Each votes Bull or Bear when its conditions are met.
Council Layer — Votes are aggregated. In "2+ Agree" mode, a signal fires only when two or more Schools vote in the same direction within a 3-bar window. In "All Signals" mode, any School's vote fires a signal.
Visual Layer — POC lines (anchored VWAP), EVWAP (exponentially weighted VWAP), risk/reward boxes, and direction labels present the council's verdict on the price chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The Council
The council aggregates school votes using a configurable consensus mechanism:
"2+ Agree" Mode — Requires two or more enabled Schools to vote in the same direction within a 3-bar window. This is the conservative mode. Fewer signals, higher conviction. If only one School is enabled, it automatically drops to requiring just that one vote.
"All Signals" Mode — Any enabled School's vote fires a signal. This is the aggressive mode. More signals, lower filtering. Useful for seeing what each School detects independently.
Conflict Resolution — If bull and bear votes arrive on the same bar, the direction with more votes wins. If tied, bull wins (consistent tie-breaking).
Cooldown — Separate bull and bear cooldowns prevent signal spam in the same direction while allowing quick reversals when the market genuinely flips.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The 7 Schools
Each School uses a fundamentally different analytical approach. They are designed to be independent — a signal from one School does not depend on or duplicate another.
School 1: OBV Flow
What it sees: Volume flow divergence and acceleration
Detects when On-Balance Volume diverges from price (hidden buying or selling pressure) and when volume flow is accelerating in a direction supported by market structure.
School 2: Confluence
What it sees: Multi-factor agreement across independent indicators
Triggers when RSI exits oversold (bull) or crosses below the momentum midline (bear) in a trending market. Scores seven independent factors and requires four or more to agree.
School 3: Wyckoff
What it sees: Effort vs Result on pullbacks, plus trap events
Measures whether pullback volume is declining relative to pre-pullback volume (Wyckoff effort), whether the bounce bar shows commitment (result), and detects Spring and Upthrust events — false breakdowns and breakouts that trap weak hands.
School 4: Amplitude Strength
What it sees: Wave dynamics — speed, time, and volume at swing points
Compares consecutive swing waves: is the trend wave faster than the pullback? Is the pullback shorter in time? Is volume declining at successive swing lows (or highs)? Is momentum oversold (or overbought) at the swing point? Scores seven wave-quality factors.
School 5: VWMA Delta
What it sees: Volume-weighted momentum crossing fair value
Computes the difference between short-term and long-term Volume Weighted Moving Averages, smooths it with RMA, and fires when this delta crosses zero. Volume is built into the measurement itself — not added as a secondary filter.
School 6: Kalman Filter (LQE)
What it sees: Adaptive filtered trend crossover
Applies two Kalman filters (Linear Quadratic Estimator) to price at different speeds. The short filter crossing above or below the long filter signals a trend shift. The Kalman filter adapts its responsiveness automatically based on estimation uncertainty.
School 7: Naive Bayes (Adaptive)
What it sees: Learned patterns in raw price action DNA
A machine learning classifier that observes six raw features no other School uses: body trend, wick dominance, price percentile, volatility regime, momentum acceleration, and gap behavior. It builds Gaussian probability profiles from resolved outcomes and votes when its confidence exceeds 65% in either direction. This School learns and adapts to the specific instrument and timeframe over time.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
School Rules — Complete Reference
School 1: OBV Flow (5 rules)
Price at/near 20-bar low (within 5% of range) — bull trigger
OBV well above its 20-bar low (>15% of OBV range) — divergence detection
OBV above its SMA(20) — volume flow trend confirmation
OBV slope accelerating (current 5-bar slope > previous) — momentum
Bull structure (higher lows) confirmed — structural context
Bear: symmetric mirror of all conditions
School 2: Confluence (9 rules — 2 trigger + 7 scored, need 4/7)
Trigger: RSI crosses above 30 (bull) or below 50 (bear)
Trigger gate: ADX ≥ 20 + price on correct side of EMA
Score: ADX ≥ 25 (strong trend)
Score: Bull/bear structure confirmed
Score: Price above/below SMA(50) (longer-term trend alignment)
Score: MACD line vs signal agreement
Score: Price touched EMA in last 2 bars (level test)
Score: Volume above average
Score: Candle body ratio > 50%
School 3: Wyckoff (9 rules — 7 standard + 2 trap events)
EMA cross initiates pullback tracking
Pullback duration ≥ 3 bars
Average pullback volume < pre-pullback average volume (declining effort)
OR average body ratio < 0.45 during pullback (narrow bars)
Bounce bar body ratio > 50% (strong commitment)
Bounce bar volume > pullback average volume (expanding effort)
EMA cross back confirms resolution
Spring: price breaks below previous swing low, closes back above with volume
Upthrust: price breaks above previous swing high, closes back below with volume
School 4: Amplitude Strength (7 scored, need 4/7)
Bull/bear structure confirmed
Trend wave amplitude > 0.8 ATR (bull: up-wave, bear: down-wave separately)
Trend wave speed > pullback speed (impulsive move, not grinding)
Pullback duration < trend wave duration (quick correction)
Current pullback shallower than previous (< 1.2x)
Current swing volume < previous swing volume (swing-to-swing comparison)
RSI < 40 at swing low (bull) / RSI > 60 at swing high (bear)
School 5: VWMA Delta (1 rule)
RMA(30) of VWMA(5) minus VWMA(30) crosses zero
School 6: Kalman Filter LQE (1 rule)
Kalman filter (length 50, R=0.01, Q=0.10) crosses above/below Kalman filter (length 100)
School 7: Naive Bayes Adaptive (6 features + confidence threshold)
Feature: 3-bar body trend (growing or shrinking candle bodies)
Feature: Wick dominance (upper vs lower wick ratio — rejection direction)
Feature: Price percentile in 20-bar range (position within recent range)
Feature: Volatility regime (ATR vs its SMA — expanding or contracting)
Feature: Momentum acceleration (bar-to-bar price change speeding up or slowing)
Feature: Gap behavior (open vs previous close, ATR-normalized)
Threshold: P(bull) ≥ 65% to vote bull, P(bull) ≤ 35% to vote bear
Requires minimum 15 resolved samples before voting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How the Schools Differ
Schools 1 & 5 are volume-driven — they measure where money is flowing, not where price is moving.
Schools 2 & 4 are multi-factor scoring systems — they require multiple conditions to align before voting, reducing false positives.
School 3 is event-driven — it detects specific Wyckoff structural events (springs, upthrusts, effort exhaustion) rather than continuous measurements.
School 6 is filter-driven — it uses an adaptive mathematical estimator that adjusts its own responsiveness based on estimation uncertainty.
School 7 is the only School that learns — it builds its model from the instrument's own history and adapts over time. Every other School uses fixed rules.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The Voting System
Each School votes independently. Votes are collected within a 3-bar window — Schools do not need to fire on the exact same bar to count as agreeing. This accommodates the fact that different analytical methods detect events at slightly different times.
The dashboard shows each School's most recent vote using directional emojis and colors the School name green (bull vote) or red (bear vote) when it participated in the last signal. Schools are sorted by recency — the most recently active School appears at the top of the list.
The Hit Rate column shows each School's accuracy when it participated in council signals — how often signals were correct when that School voted. This is not standalone accuracy; it measures performance within the council context.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
POC Lines (Anchored VWAP)
Three dashed lines that represent volume-weighted fair value since the last extreme volume event:
Center — the anchored VWAP: where volume-weighted price has centered since the last climax event
Upper and Lower — standard deviation bands that start at the same point as the center (origin) and branch outward as price disperses
The POC re-anchors when a volume extreme is detected (volume z-score exceeds the threshold with a directional candle). All three lines converge to a single origin point at the climax bar, then branch as the new VWAP accumulates data.
The line closest to price is highlighted with increased width and brightness. When the council signals a direction and price subsequently moves against it (crossing the POC center in the wrong direction for 3+ bars), the highlighted line changes color — red for a failed bull signal, green for a failed bear signal. This failure detection provides immediate visual feedback that the anticipated move did not materialize.
Hull smoothing can be applied to the POC lines for cleaner visual tracking.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EVWAP (Exponentially Weighted VWAP)
A solid line that tracks volume-weighted fair value with exponential decay, re-anchoring at swing direction changes:
Uses the same Exponentially Weighted Moving Average formula as the DS-VWAP methodology
Re-seeds at swing pivot points detected by the swing period setting
Volume spikes are capped at 3x the 20-bar average to prevent single bars from hijacking the calculation
Changes color based on swing direction — bull color when the most recent swing high is more recent, bear color when the most recent swing low is more recent
Direction change triangles mark where each new segment begins
Hull smoothing can be applied for a cleaner line.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The Cyclic Structure: POC within EVWAP
The POC and EVWAP operate on different cycles and anchor to different events:
EVWAP re-anchors on swing direction changes (structural pivots in price). It represents the macro fair value — where the broader trend says price should be.
POC re-anchors on volume extreme events (climax bars). It represents the micro fair value — where volume clustered after the last burst of aggressive participation.
These cycles are not synchronized. A volume climax can happen mid-swing. A swing pivot can happen without a volume extreme. When both re-anchor near the same bar, that is a structurally significant event — both macro and micro fair value are resetting simultaneously.
The POC lines oscillate within the EVWAP framework. When the POC center is above the EVWAP line, volume-weighted activity is biased above the structural trend — bullish pressure. When below, bearish pressure. This relationship provides a dynamic reading of whether short-term volume activity agrees with the broader trend direction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Risk/Reward Boxes
When a signal fires, two boxes are drawn:
Green box (above entry for bull, below for bear) — the take-profit zone at 2:1 risk-reward ratio
Red box (below entry for bull, above for bear) — the stop-loss zone at 0.5 ATR from the signal bar's extreme
Boxes extend 15 bars forward
Higher vote counts produce slightly more opaque boxes (stronger conviction = more visible)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Hit Rate and Accuracy Tracking
The indicator tracks signal accuracy using Maximum Favorable Excursion (MFE):
After each signal, the tracker monitors the next 12 bars
If price reaches 0.5 ATR in the signal direction at any point during those 12 bars (using the bar's high for bull signals, low for bear signals), the signal is marked correct
This is not a close-at-bar-12 check — it measures whether the move occurred , not whether it held
The dashboard displays:
Per-School Hit Rate — accuracy when that School participated in the council signal
Council Accuracy — overall accuracy across all evaluated signals
Signals — evaluated count vs total fired (signals during an active evaluation window are not double-counted)
Naive Bayes Learning — current status and class distribution of the adaptive learner
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Visual Aesthetics
The indicator is designed for visual clarity on dark-themed charts:
POC lines — dashed, in a distinct blue tone, with the tracked line highlighted at double width
EVWAP line — solid, colored by swing direction (bull/bear), with direction triangles at segment starts
Climax circles — small colored dots marking extreme volume events, no glow clutter
Signal labels — directional arrows with vote counts (e.g., "↑ Up (3/7)")
Dashboard — Schools sorted by recency of last vote, with bull/bear emojis and color-coded names. Schools that voted in the most recent signal appear at the top and light up in the direction color.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Settings
Council Behavior — "2+ Agree" (consensus) or "All Signals" (any School)
Signal Cooldown — Minimum bars between same-direction signals (default 30). Opposite-direction signals are not blocked.
School Toggles — Enable or disable each of the 7 Schools independently.
POC/EVWAP Smoothing — Raw or Hull smoothed. Hull length configurable.
Swing Period — Controls EVWAP re-anchoring sensitivity (default 55).
Volume Lookback — Bars analyzed for climax detection and volume statistics.
NB Min Samples — Minimum resolved outcomes before the Naive Bayes School starts voting.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and it does not constitute a recommendation to buy, sell, or hold any financial instrument.
All trading involves risk. Past performance of any signal, voting system, or analytical method does not guarantee future results. The council votes, hit rates, and accuracy statistics displayed represent computational assessments based on the indicator's rules applied to historical data loaded in TradingView. They are not predictions and should not be treated as certainties.
The Naive Bayes School learns from the chart data currently loaded. Its learned patterns may not generalize to future market conditions, different instruments, or different timeframes. The hit rates displayed in the dashboard reflect performance on the loaded chart history only and are subject to survivorship bias, lookback bias, and data limitations inherent to backtesting on historical bars.
No indicator, algorithm, or model — regardless of how many independent methods it combines — can account for all market variables including liquidity events, news-driven gaps, exchange outages, dark pool activity, or sudden regime changes.
Traders should always use independent risk management, position sizing, and their own judgment before entering any trade.
By using this indicator, you acknowledge that you are solely responsible for your own trading decisions and that the authors accept no liability for any losses incurred.
مؤشر Pine Script®






