Fisher Transform
Price is not normally distributed - it clusters near recent levels, then gaps or spikes away from them - which is exactly what makes turning points hard to time from raw price or from indicators built on simple averages of it. The Fisher Transform corrects for this in two steps. First, the median price's position inside its own recent high/low range is rescaled to sit between -1 and 1, with light recursive smoothing so the raw value does not jump around every bar. Second, that rescaled value is run through the inverse hyperbolic tangent, a log-based transform that pushes the result toward a Gaussian shape: values near the extremes of the recent range get stretched out disproportionately, which is what makes a genuine sharp swing visually separate itself from the ordinary noise a raw oscillator would treat the same way. A one-bar-lagged copy of the same line is plotted as a trigger, matching the construction Ehlers uses throughout his indicator work - crossovers between the two are the usual timing signal, sharper and generally earlier than a plain zero-line cross on the Fisher line alone. Notes and limitations - Needs roughly InpPeriod + 2 bars of history before the first value appears; earlier bars are intentionally left empty. - The rescaled value is clamped just inside -1/+1 before the log transform, since the transform is mathematically undefined exactly at the boundary and real price data does reach it. - The very first computed bar in the loaded history seeds both recursions from zero rather than true prior history - this settles out within a few bars and never affects anything after warm-up. - Fisher can and does produce large extreme readings during strong trends; treat those as "stretched", not as an automatic reversal signal on their own.
Indicator · MT5 · v1.0 · Free
About Fisher Transform
Fisher Transform is an indicator for MetaTrader 5. It can alert you with a pop-up, sound, email or push message. It has 2 settings, such as Period and Alerts. MQL source code included.
Files in the download: FisherTransform.ex5, FisherTransform.mq5, FisherTransform.txt.
Settings
| Setting | Default | What it does |
|---|---|---|
| Period | 10 | Lookback for the median price's high/low range, in bars |
| Alerts | true | Alert once per closed bar when Fisher crosses the trigger |
How to install
- Download the ZIP from your PolyMaria library and unzip it.
- In MetaTrader 5 open File → Open Data Folder, then go to MQL5 → Indicators.
- Copy the .mq5 file(s) there. Put any .mqh files in MQL5 → Include.
- Open the .mq5 file in MetaEditor and press Compile (F7) if MetaTrader does not show it.
- Drag the indicator from the Navigator onto a chart and adjust the settings.
Tags: Alerts · MT5 Indicator · MQL5 Source Code