UT Bot Scanner MT4
- 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
Watch twenty-eight symbols on four timeframes at once, and see the trade on the chart in the same breath. UT Bot Scanner runs the ATR trailing stop across your whole watchlist, sorts the board by what flipped most recently, tells you how many timeframes agree on each symbol, and draws the indicator itself on the chart under the table, so the moment the board finds something you are already looking at it. Every cell that could not be measured explains itself in words instead of going blank.
The price increases by $10 every 10 purchases.
It is two products in one file. The first is UT Bot MTF itself, drawn on the chart in front of you: the ATR trailing stop coloured by the side it is on, and the flip arrows, with the same optional filters the single-chart product carries. The second is a board that runs the same calculation across a list of symbols on several timeframes at once.
Both halves run the same filters, so the board and the chart can never disagree about what counts as a signal.
The filters
Every filter ships switched off. Each one is a separate hypothesis about the market and each can be turned on alone. The trend filter keeps only the signals that agree with a moving average on a higher timeframe, and the timeframe, the period and the method are all yours to choose. A signal older than the filter's own data is left alone rather than judged, and the panel counts those.
The session filter keeps only the signals inside a window given as HH:MM in GMT, with the broker's GMT offset given by hand or detected from the server clock. The volatility filter drops signals taken while ATR is under a floor in points; a floor of zero never rejects anything, and the panel says so rather than pretending the filter is working.
The panel prints, permanently, which filters are on and with what settings, and one line saying how many signals were kept of how many raw ones, broken down by which filter rejected the rest. A filter that is switched on but cannot do its job says so in its own line.
The board
A row per symbol, a column per scanned timeframe, up to four columns and up to twenty-eight symbols. The list ships scanning fifteen and is raised to twenty-eight from one setting. 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: which side the trailing stop is on, and how many bars ago it flipped there. The word flat means the calculation ran and found no flip in the window. Three dots mean the cell has not been measured, and hovering it says why in words once tooltips are switched on, along with the ATR distance. A flip older than the freshness threshold keeps its hue and loses its weight. A row with a fresh flip anywhere in it gets a wash of the accent colour.
The AGREE column takes the visible timeframe columns for that symbol, finds the majority side and prints something like 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 a verdict. With one timeframe visible the column is dropped entirely rather than printing a 1/1 that only restates its neighbour.
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, with a full house outranking a partial one of the same count. The active header carries the accent colour and a caret. A separate Sort button cycles freshest, grade and name.
A Show button cycles all, buys, sells and fresh. Buys and sells follow the AGREE verdict and not any single cell, so a row shown under buys always reads an up glyph in AGREE, and a tie shows under neither. This is a filter on the view and not on the calculation: a hidden row is still measured and can still alert.
The legend above the table decodes the notation and can be switched off. Timeframe buttons show and hide a column without stopping the measurement behind it. Clicking a cell switches this chart to that symbol and that timeframe rather than opening a window per click.
The visible row count is fitted to the chart pane and the row setting is a maximum. Page buttons appear only when the rows do not fit; when they do fit, no dead controls are drawn. 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.
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 the price window: the trailing stop coloured by its side, and BUY and SELL arrows, with the optional trend fill and line glow. It can be switched off from the Styles tab if you only want the board. Its timeframe is set separately from the timeframes the board scans, and separately again from the trend filter's timeframe, which is a filter rather than a display setting.
The settings sheet
The gear opens three tabs. Values covers the timeframe, key value, ATR period, Heikin Ashi source, the trend filter with its timeframe, MA length and MA method, and the volatility filter with its ATR floor. 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 covers the master switch, the per-event switches, the four channels, the cooldown and a test button.
Styles covers the legend, whether the indicator is drawn on this chart, the palette, the stop line, the arrows, line width, arrow size, the trend fill, the line glow, the stop level on the price scale, and a right margin for the stop label. 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, including a colour-blind safe one that uses 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
Off out of the box, with a master switch on the panel and a Test alert button beside it that fires through every channel currently on.
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. There is a minimum grade setting; this port does not grade, so every signal counts as grade one for it.
The channels are a popup window, a sound, a push to the mobile terminal and e-mail. The cooldown is kept per cell and per event, thirty minutes by default, because a board watching many symbols has many more chances to repeat itself than one chart does.
Load on the terminal
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 board's own readings are on the panel; the chart half publishes buffers. MetaTrader 4 draws at most eight buffers and has neither colour-indexed lines nor a filling style, so this edition has its own map and it is not the MetaTrader 5 one. The two signal buffers carry the arrow price on a flip bar and EMPTY_VALUE otherwise, with the filters already applied, so an EA reading them sees the same signals a person sees on the chart. The trailing stop level and its side are published as their own buffers, and one buffer counts how many settings were changed from the panel, so a strategy can detect that a chart instance is running on hand-changed numbers. An instance created by iCustom is read-only and always uses the parameters you passed.
The single-chart indicator behind this one, UT Bot MTF, is free. If you follow one symbol, take that one; this scanner exists for watching many at once.
Provenance
This is a port of "UT Bot Alerts" from TradingView, an idea by HPotter with the alert variant published by QuantNomad and Yo_adriiiiaan. The script is openly published, which makes a port by formula admissible, and this implementation was reconstructed from the formulas as a working specification rather than translated line by line.
The product carries the method's name because that is what it implements. The original work belongs to its authors and no authorship of it is claimed here.
Honest limits
A trailing stop flips late by construction. In a range it will flip again and again, and every one of those is a real flip of the stop and a bad trade. The board tells you what flipped and how recently and how many timeframes agree; it does not tell you the market is trending, and there is no test here for that.
A board is only as good as the data behind it. A symbol your broker does not quote, or one short of history, is reported as such and never quietly counted as flat.

