mirror of
https://github.com/softwaredevelop/mql5.git
synced 2026-07-27 20:47:44 +00:00
new files added
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# Z-Score Distance Pro (Indicator)
|
||||
|
||||
## 1. Summary (Introduction)
|
||||
|
||||
The `ZScore_Distance_Pro` is a statistical oscillator designed to identify market anomalies and extremities. Unlike traditional oscillators (RSI, Stochastic) which are bounded between 0 and 100, the Z-Score is theoretically unbounded but statistically confined. It measures the "distance" between the current price and its mean (average), expressed in units of Standard Deviation (Sigma).
|
||||
|
||||
It is primarily used for **Mean Reversion** strategies: spotting moments where the price has deviated so far from the norm that a snap-back correction is statistically probable.
|
||||
|
||||
## 2. Methodology and Logic
|
||||
|
||||
The indicator is based on Gaussian statistics (Normal Distribution).
|
||||
|
||||
### The Formula
|
||||
|
||||
$$Z = \frac{\text{Price} - \text{Mean}}{\text{Standard Deviation}}$$
|
||||
|
||||
* **Mean:** Simple Moving Average (SMA) of the last $N$ periods.
|
||||
* **Standard Deviation:** Volatility measurement of the last $N$ periods.
|
||||
|
||||
### Statistical Interpretation
|
||||
|
||||
Assuming normal market distribution:
|
||||
|
||||
* **Z = 0:** Price is exactly at the mean (Fair Value).
|
||||
* **Z > +2.0:** Price is 2 Sigmas above mean. This happens only ~2.5% of the time. (Overbought).
|
||||
* **Z > +3.0:** An extreme outlier event. Reversion is highly likely.
|
||||
|
||||
## 3. MQL5 Implementation Details
|
||||
|
||||
The indicator is constructed using the modular "Professional Suite" architecture.
|
||||
|
||||
* **Calculator Engine (`ZScore_Calculator.mqh`):**
|
||||
* **Composition:** It embeds an instance of `CMovingAverageCalculator` to compute the Mean efficiently.
|
||||
* **Standard Deviation:** The engine calculates the population standard deviation over the rolling window.
|
||||
* **Performance:**
|
||||
* Utilizes `prev_calculated` for incremental processing.
|
||||
* Optimized loops ensure minimal CPU usage even on lower timeframes.
|
||||
* **Visuals:**
|
||||
* Uses a `DRAW_COLOR_HISTOGRAM` to visualize the Z-Score.
|
||||
* **Dynamic Coloring:** Bars automatically turn **Red** when above +2.0 (Short warning) and **Lime** when below -2.0 (Long warning).
|
||||
|
||||
## 4. Parameters
|
||||
|
||||
* **Settings:**
|
||||
* `InpPeriod`: The lookback window for both the Mean and the Standard Deviation calculation (Default: `20`).
|
||||
* `InpPrice`: The price source to analyze (Default: `Close Price`).
|
||||
|
||||
## 5. Usage and Workflow
|
||||
|
||||
1. **Trend Continuation (Z between 0 and 2):**
|
||||
If the Z-Score is oscillating between 0 and +1.5, the trend is healthy.
|
||||
2. **Mean Reversion Entry (Z > 2.0):**
|
||||
* Wait for the Z-Score to spike above +2.0 (Red Bar).
|
||||
* **Trigger:** Enter a counter-trend trade when the score starts falling back below +2.0 or when it crosses back below +1.5. This confirms that the extreme momentum is fading.
|
||||
3. **The "Black Swan" (Z > 3.0):**
|
||||
Values above 3.0 indicate panic or euphoria. These levels are rare and often mark major local tops or bottoms.
|
||||
4. **Confluence:**
|
||||
Combine with `Squeeze_Pro`. If a Squeeze "Fires" and hits Z-Score > 3.0, expect a violent snap-back (Fakeout).
|
||||
Reference in New Issue
Block a user