Wyckoff Phase Tracker
Wyckoff method material is usually taught with annotated screenshots of hand-picked, textbook-perfect examples. This EA instead runs the same event vocabulary live and mechanically against real price, so a trader can see how often a "spring" actually looks like the diagram versus how often the rule almost fires and then does not. A trading range is only recognised once volatility has genuinely contracted: the rolling high/low over a lookback window must fit inside a configurable multiple of ATR. Inside a valid range, a spring is a bar that pierces the range low by a minimum point distance and then closes back above it within a configurable number of bars - the reclaim is required, not assumed, so a clean breakdown that never comes back is correctly left unlabelled. An upthrust is the mirror image at the range high. A test is a later low that revisits the spring's low within a tolerance, without breaking it, on reduced volume relative to the spring bar itself. A sign of strength or weakness is a bar that closes beyond the range with an above-average range and above-average volume, which also resolves the range and starts a hold-the-breakout confirmation window before the phase is marked E (markup/markdown). Every event is drawn as a coloured arrow with a text label at the exact bar and price that triggered it, and logged to the Experts journal with the rule that fired. This EA never calls OrderSend - it exists purely to make the Wyckoff vocabulary testable against real charts rather than taken on faith from a diagram. Notes and limitations This is a teaching aid, not a signal generator - it never trades and carries no forward-looking claim about what happens after any labelled event. The range/event rules are one reasonable, documented mechanical reading of Wyckoff's vocabulary; other practitioners draw the same diagrams with different exact thresholds, and this EA's labels will not always agree with a discretionary analyst's eye on ambiguous structures. Detection only runs on closed bars of the chart's own timeframe - it does not look down to a lower timeframe for finer event timing.
Expert advisor · MT5 · v1.0 · Free
About Wyckoff Phase Tracker
Wyckoff Phase Tracker is a script for MetaTrader 5 based on ATR. It draws buy and sell arrows on the chart and can alert you with a pop-up, sound, email or push message. It has 18 settings, such as Range lookback, Atr period and Range width atr multiple. MQL source code included.
Files in the download: WyckoffPhaseTracker.ex5, WyckoffPhaseTracker.mq5, WyckoffPhaseTracker.txt.
Settings
| Setting | Default | What it does |
|---|---|---|
| Range lookback | 60 | Bars used to measure the rolling range high/low |
| Atr period | 14 | ATR period used to judge range tightness and breakout strength |
| Range width atr multiple | 3.0 | Range is only "valid" while (high-low) <= this many ATRs |
| Penetration points | 30 | Minimum points beyond the range edge to count as a genuine pierce |
| Reclaim bars | 3 | Bars allowed for price to reclaim the range after a pierce (spring/upthrust) |
| Test tolerance atr multiple | 0.35 | How close a later low must sit to the spring low to count as a test |
| Test volume ratio | 0.85 | Test bar's volume must be below this fraction of the spring bar's volume |
| Volume avg period | 20 | Bars used to compute the average volume for breakout confirmation |
| Breakout range atr multiple | 1.2 | Breakout bar's own range must be at least this many ATRs |
| Breakout volume multiple | 1.5 | Breakout bar's volume must be at least this multiple of the average |
| Markup confirm bars | 3 | Bars price must hold beyond the range before Phase E (markup/markdown) confirms |
| Max labels on chart | 80 | Oldest event labels are pruned once this many are on the chart |
| Range line colour | clrSilver | Colour on the chart |
| Spring colour | clrLime | Colour on the chart |
| Upthrust colour | clrOrangeRed | Colour on the chart |
| Test colour | clrYellow | Colour on the chart |
| Sos colour | clrDodgerBlue | Colour on the chart |
| Sow colour | clrMagenta | Colour on the chart |
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 → Scripts.
- 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 script onto a chart to run it once.
Tags: Buy/Sell Arrows · Alerts · ATR · MT5 Expert Advisor · MQL5 Source Code