# Velocity Pro (Indicator) ## 1. Summary (Introduction) **Velocity Pro** is an institutional-grade kinematics separate-window indicator designed to map market momentum. Unlike standard momentum indicators that simply calculate delta changes over a fixed window, this proprietary tool separates **"Directional Impulse" (Velocity Vector)** from the **"Raw Activity" (Speed Scalar)** of the market. This critical physical distinction allows quantitative systems to identify the exact efficiency of price action, cleanly separating high-conviction Trending Regimes from highly volatile, low-conviction Choppy Regimes. To filter out minor high-frequency noise, `Velocity Pro` incorporates an optional, highly customizable **Signal Line** fully integrated with the `MovingAverage_Engine.mqh` (supporting SMA, EMA, and volume-weighted VWMA types). It serves as an ultra-low-latency trigger for counter-trend reversals and trend-continuation setups. --- ## 2. Concepts & Methodology (Kinematics) We apply classical kinematic principles to financial price action to extract the market's true structural velocity and speed: ### A. Velocity (The Vector) * **Definition:** The rate of change of price position with respect to a volatility-adjusted frame of reference (ATR). It possesses both **Magnitude** and **Direction**. * **Formula:** $$\text{Velocity}_t = \frac{P_t - P_{t-N}}{N \times \text{ATR}_t}$$ * **Interpretation:** Measures the net displacement. How far did the price actually get? Visualized as a colored histogram. * **Persistent Momentum:** Fast directional expansion. * **Neutral Noise:** Volatility contraction or directionless consolidation. ### B. Speed (The Scalar) * **Definition:** The absolute rate of change of price position over the lookback window, representing the total path length traveled. It possesses **Magnitude** only. * **Formula:** $$\text{Speed}_t = \frac{\frac{1}{N} \sum_{k=0}^{N-1} |P_{t-k} - P_{t-k-1}|}{\text{ATR}_t}$$ * **Interpretation:** Measures the total energy spent. How much did the market run around? Visualized as an orange envelope mirrored around the zero-line. ### C. The Signal Line (The Reversal Trigger) * **Definition:** A customizable moving average calculated over the Velocity histogram to smooth out minor fluctuations and act as a dynamic crossover trigger: $$\text{Signal}_t = \text{MA}(\text{Velocity}_t, P_{\text{sig}}) \quad \text{using selected MA Type}$$ --- ## 3. Kinematic Efficiency & Multi-Stage Regimes (5-Zone Swapped Palette) To represent the progressive build-up of market momentum and exhaustion, `Velocity Pro` features a **Dual-Threshold Architecture** ($\pm 0.3$ and $\pm 1.0$) and a **5-Zone Thermal Color Histogram** with inverted bull/bear polarities (Blue for Bullish, Red/Coral for Bearish): | Velocity Value | Color | Market Regime | Statistical Significance | Action / Concept | | :--- | :--- | :--- | :--- | :--- | | **$v \ge 1.0$** | `clrDeepSkyBlue` | **Bullish Climax** (Exhaustion) | $< 4.5\%$ of events | **Severe Overextended High.** High probability reversal zone. Prepare to Short. | | **$v \in [0.3, 1.0)$** | `clrLightSkyBlue` | **Bullish Flow** (Trend Build-up) | $\approx 20.5\%$ of events | **Strong Bullish Momentum.** Trend-following buy setups and pyramiding. | | **$v \in [-0.3, 0.3]$** | `clrGray` | **Neutral Zone** (Random Noise) | $\approx 50.0\%$ of events | **Equilibrium.** Avoid breakouts. Expect chops and false signals. | | **$v \in (-1.0, -0.3]$** | `clrCoral` | **Bearish Flow** (Trend Build-up) | $\approx 20.5\%$ of events | **Strong Bearish Momentum.** Trend-following sell setups and pyramiding. | | **$v \le -1.0$** | `clrOrangeRed` | **Bearish Climax** (Exhaustion) | $< 4.5\%$ of events | **Severe Overextended Low.** High probability reversal zone. Prepare to Buy. | --- ## 4. Advanced MQL5 Implementation Details ### A. High-Performance $O(1)$ Complexity The indicator calculates ATR, Velocity, Speed, and the Signal Line incrementally. It utilizes the platform's `prev_calculated` parameter to process only the newest incoming bar, avoiding redundant historic calculations and preserving CPU cycles. ### B. Dynamic Volume-Weighted Signal Pipeline To support volume-weighted types (like **VWMA**) for the Signal Line, `Velocity_Pro` implements an automatic volume-routing pipeline. It queries `SYMBOL_VOLUME_LIMIT` to detect if the broker provides Real Volume, converts it to a double array (`g_double_volume[]`) incrementally, and passes it to the Signal Line calculator: ```mql5 g_signal_calculator.CalculateOnArray(rates_total, prev_calculated, BufVel, g_double_volume, BufSignal, InpATRPeriod + InpVelPeriod); ``` This enables the Signal Line to adapt dynamically to volume distribution during high-velocity breakouts. ### C. Plot Persistency and Data Window Cleanup To resolve MT5 plot persistency bugs, `OnInit()` explicitly restores `DRAW_LINE` and `"Signal"` label when enabled. When `InpShowSignal` is toggled `false`, the indicator dynamically nullifies the plot label: ```mql5 PlotIndexSetString(3, PLOT_LABEL, NULL); ``` This completely purges the disabled Signal Line from the MT5 Data Window, keeping the user interface clean. --- ## 5. Parameters ### A. Core Kinematics Settings * **Velocity Period (`InpVelPeriod`):** The vector/scalar lookback window size (Default: `3` bars). * **ATR Period (`InpATRPeriod`):** The lookback window for the volatility normalizer (Default: `14`). * **Low Threshold (`InpThresholdLow`):** The threshold for "Flow Zone" trend building (Default: `0.3`). * **High Threshold (`InpThresholdHigh`):** The threshold for "Climax Zone" trend exhaustion (Default: `1.0`). * **Show Speed (`InpShowSpeed`):** Toggle to display the orange Speed envelopes (Default: `true`). ### B. Signal Line Settings * **Show Signal Line (`InpShowSignal`):** Toggle to enable/disable the Signal Line (Default: `true`). * **Signal Line Period (`InpSignalPeriod`):** The lookback period for the Signal Line MA (Default: `5`). * **Signal Line MA Type (`InpSignalType`):** Select the MA type for the Signal Line (Default: `SMA`). --- ## 6. Strategic Quantitative Usage ### A. Kinematic Efficiency (The Gap Analysis) * **Trend Efficiency:** If Velocity is high and rides the top of the Speed envelope ($v \approx \text{Speed}$), every tick contributes to the directional move. This confirms a highly efficient, high-conviction institutional trend. * **Intraday Chop:** If Speed is soaring (envelopes are wide) but Velocity remains low (gray bars near 0.0), the market is spending immense energy getting nowhere. Expect immediate fakeouts and stop-hunts. ### B. The Kinematic Reversal Trigger (Wyckoff Setup) The addition of the Signal Line creates an incredibly accurate reversal trigger: 1. Wait for the Velocity histogram to reach or pierce the **Speed Envelope** (signaling a maximum exhaustion/climax event in the DeepSkyBlue/OrangeRed zone). 2. Wait for the Velocity histogram to contract and **cross back over its Signal Line** (typically configured as a 5-period TMA or EMA). 3. **The Signal:** This crossover confirms that the extreme momentum has officially faded. Execute a mean-reversion counter-trend trade, placing the stop-loss strictly beyond the extreme candle's high/low. ### C. Volume-Weighted Squeeze Fading (VWMA Signal Mode) VWMA Signal Lines are exceptionally accurate at detecting low-volume fakeouts. 1. When a breakout of a major horizontal zone occurs, look at `Velocity_Pro` set with a **`VWMA`** Signal Line. 2. If the price breaks out but the Velocity histogram spikes violently into the Climax Zone ($v \ge 1.0$) while the **VWMA Signal Line** fails to follow it rapidly, the price move is unsupported by sustainable volume and is a volume-dry fakeout. 3. Prepare to fade the breakout as a **fakeout**, entering the reverse trade when the Velocity histogram crosses back below the VWMA Signal Line.