Wave Trend Oscillator Scanner
- Indicators
-
Evgenii Sutulov
I build trading indicators, strategies, and dashboards that don't repaint.
Seven years doing this. MetaTrader 4, MetaTrader 5, TradingView.
Closed bars only. What you see is what happened.
The bar being formed never changes a published value. - Version: 1.3
- Activations: 20
Wave Trend Oscillator Scanner is two products in one file. The first is the Wave Trend oscillator itself, in this chart's own sub-window: the fast and slow wave lines and the histogram of their difference, coloured by whether momentum is expanding or fading, with divergence lines that can also be drawn on the price chart itself.
The second is a board that runs the same calculation across a list of symbols on several timeframes at once. This is one of the two products in the family where the grade actually appears on the board, because the Wave Trend oscillator grades its crosses one or two by how deep into the zone the market was.
The board tells you which instruments have crossed and how recently. The sub-window under it shows you the oscillator that did it, so you do not need to attach a second indicator to act on what the table found.
The board
A row per symbol, a column per scanned timeframe, up to four columns and up to twenty-eight symbols. The symbol list is comma separated, or the board can take the Market Watch list instead. Broker prefix and suffix are detected from the chart you are on, or given by hand. Out of the box the board scans four timeframes: M15, H1, H4 and D1.
A cell reads like ^14b G2: the direction of the cross, how many bars ago it fired, and its grade. The word flat means the calculation ran and found no cross in the window. Three dots mean the cell has not been measured, and hovering it explains why in words, along with the current slow-line value. A signal older than the freshness threshold keeps its hue and loses its weight. A row with a fresh signal anywhere in it gets a wash of the accent colour.
The AGREE column takes the visible timeframe columns for a symbol, finds the majority side and prints v3/4: the direction and how many of the visible timeframes stand on it. Full agreement is drawn bold in that side's colour, because that is the row the board exists to surface. A tie prints a dash and is deliberately not treated as a verdict. With one timeframe visible the column is dropped entirely rather than printing a 1/1 that restates the cell beside it.
Column headers are buttons. Click a timeframe header to sort by that column, freshest first, rows with nothing at the bottom; click again to reverse. Click AGREE to sort by agreement, full agreement first. The active header carries the accent colour and a caret. A separate Sort button cycles freshest, grade and name, and here the order by grade is a real order.
A Show button cycles all, buys, sells and fresh. Buys and sells follow the AGREE verdict rather than any single cell, so a row under buys always reads an up glyph in AGREE, and a tie appears under neither. The filter is on the view, not the calculation: a hidden row is still measured and can still alert.
The legend above the table decodes the notation in one line, including the grade half, which it prints only because this port grades. It can be switched off. Timeframe buttons show and hide a column without stopping the measurement behind it.
The visible row count is fitted to the pane and the row setting is a maximum. Page buttons appear only when the rows do not fit. Because the board never draws more rows than the pane holds, the page buttons are always on screen and always reachable, however tall the row setting is.
Clicking a cell switches this chart to that symbol and timeframe. Two status lines are always on show: symbols ready of total, time since the last update, signals in the lookback window; then either the watchdog line or a sentence explaining why nothing is showing.
Diagnostics
A second panel, off by default, answers the question "why is there no signal": symbol coverage, which series are short of bars and by how much, how many signals were found in the window, and how many symbols this indicator switched on in Market Watch. A cell that could not be measured is explained rather than left blank.
The chart indicator
Drawn in its own sub-window with a dotted zero level: the fast and slow wave lines and the momentum histogram between them. Divergence lines are drawn in the sub-window and, optionally, on the price chart between the two price pivots, so you see the divergence where you actually trade. Its timeframe is set separately from the timeframes the board scans.
The settings sheet
The gear opens three tabs. Values holds the timeframe, the channel length, the average length, overbought level 1, oversold level 1, whether divergence lines are drawn, and the shortest and longest pivot span a divergence may have. Every row has steppers, a range and a sentence of help. Changing one recalculates the whole board, and the panel reports progress while it does.
Alerts holds the master switch, the per-event switches, four channels, the cooldown and a test button. Styles holds the legend switch, the palette, whether the WT1 and WT2 lines are drawn, whether the momentum histogram is drawn, the line width, and whether divergence is drawn on the price chart. These are the same display controls the matching single-chart indicator carries, under the same names, so a chart set up one way can be reproduced on the other.
Three colour schemes are included, one of them colour-blind safe, using blue and orange rather than red and green. Panel position, scheme, the sort, the filter, the visible columns and every value changed on the sheet persist per chart across a timeframe change and a terminal restart. The interface is English.
Alerts
Alerts are off out of the box, with a master switch on the panel and a Test alert button beside it. The events are a fresh BUY and a fresh SELL, declared separately for each scanned timeframe, plus data health, which speaks when a symbol loses or regains its data. The minimum grade setting does real work here: set it to two and only the crosses that reached the deeper level will speak.
Four channels carry them: popup window, sound, push to the mobile terminal, and e-mail. The cooldown is kept per cell and per event, thirty minutes by default. Telegram is not part of this product.
Cost
The work is budgeted: a set number of symbols is refreshed per timer tick, so a long list spreads its load rather than stalling the terminal. The first pass is progressive and the panel reports the percentage measured.
Reading it from an EA
The chart indicator's buffers are readable through iCustom and CopyBuffer. Buffer 0 is WT1, the fast wave line, and buffer 1 is WT2, the slow wave line. Buffer 2 is the momentum histogram, WT1 minus WT2, and buffer 3 is the colour index that goes with that histogram. Buffer 4 is Signal: +1 on a BUY cross, -1 on a SELL cross, 0 when there is none. Buffer 5 is Grade, 1 or 2 on a signal bar. Buffer 6 is Div, the divergence state. Buffer 7 is Zero: +1 when the fast line crossed zero upwards, -1 when it crossed downwards, 0 when it did neither.
There are no separate Buy and Sell price buffers in this product. The signal is buffer 4 and its grade is buffer 5.
The Styles tab hides a plot by taking its colour away, never by emptying a buffer. Every index listed above stays readable through iCustom and CopyBuffer, and stays visible in the Data Window, with the display switches off.
The board is a panel, not a buffer. It is read by eye and by alert.
Provenance
This is a port of "WaveTrend [LazyBear]" from TradingView. The provenance is a reconstruction: the formulas are canonical and widely mirrored, and they were used as this file's working specification. The script is openly published, which makes a port by formula admissible.
The product carries the method's name because that is what it implements. The original work is LazyBear's and no authorship of it is claimed here.
Honest limits
The board reads closed bars and counts a cell's age in closed bars. In the sub-window the oscillator is live on the forming bar, and a cross that exists mid-bar can be gone at the close. A value published on a closed bar does not change afterwards.
Divergence marks are never placed on the forming bar. A pivot needs the bars either side of it to exist, so divergence appears after the fact by construction. Nothing here draws a divergence into a past bar that did not have one.
The grade describes how deep into the zone the market went, not probability. A grade 2 cell went further. That is all it says.
A cross is not direction. In a trend the oscillator reaches one zone repeatedly and every cross it produces is against that trend, and on a board that means several correlated pairs light up together.
AGREE counts timeframes. Four correlated readings of one instrument agreeing is not four independent confirmations. A tie deliberately produces no verdict and is hidden by both the buys and the sells filters.
Scanning costs. Twenty-eight symbols on four timeframes is a hundred and twelve cells; the budget setting is what you turn down on a slow machine.
No profit figure, win rate or backtest result is claimed here.

