Linear Regression Oscillator runs on MT4 and MT5 and puts one line in a sub-window. Most
of the work it does is deciding which of that line's zero crossings are worth telling you
about โ which turns out to be very few of them.

What the line measures
Fit a straight line through the last 20 closes. Take where that fitted line sits now,
compare it against its own average over the last 100 bars, and express the gap in
standard deviations.
So the number isn't "price versus a moving average". It's the trend line's own level
against how far that level normally wanders โ which is why the scale is honest: 1.5
means one and a half standard deviations, on any symbol, at any price.
Blue above zero, orange below. Guides sit at 0 and at your upper and lower thresholds,
1.5 and โ1.5 by default. The pane is clamped to ยฑ4 on MT5, which is far enough out that
you'll rarely see the edge.
The signal takes two steps, and that's the point
A zero crossing on its own means almost nothing โ the line crosses zero constantly in a
quiet market. This indicator makes a crossing earn its arrow.
Step one, the Reversion. The line has to push past 1.5 (or under โ1.5) and then turn:
a bar that is lower than the bar before it and lower than the bar after, while still in
extreme territory. When that happens you get a tick mark in the pane and a "Reversion"
label on the price chart. That's a warning, not a signal.
Step two, the crossing. Now the line crosses zero. If the last thing that happened was
a Reversion in the matching direction, you get the actual signal: an arrow on the price
chart, a horizontal line, and an alert. If there was no Reversion first, the crossing
passes in silence โ you'll see a small diamond in the pane and nothing else.
On the gold chart above, that filter leaves two signals across three weeks of H1. The
Reversion labels are far more frequent, and they're meant to be.
The line the signal draws
When a signal fires, it draws a horizontal line at the highest high of the last five bars
(for a sell) or the lowest low (for a buy).
That line then extends bar by bar while it holds. The moment price closes beyond that
five-bar extreme, the line turns dotted and stops extending. So a solid line is a level
that hasn't been taken yet, and a dotted one is the record of a level that has.

That EURUSD chart also shows the honest downside: on M15 the Reversion labels come thick
enough to overlap each other. They're readable on H1 and above; below that, expect
clutter.
MT4 and MT5
Same maths, same two-stage filter, same drawing. Here is MT4 on the same market and
timeframe as the first chart โ same reversion sequence, same signal at the same bar.

One difference worth knowing: MT5 clamps the pane to ยฑ4 and MT4 doesn't, so on MT4 the
axis stretches to fit whatever the line does.
Repainting, honestly
The line on the forming bar moves with price. It has to โ the close hasn't happened.
The signals are decided once per new bar and read bars that have already closed, so an
arrow that appears never disappears, and the Reversion labels are placed on bars whose
shape is final.
Version 1.02 fixed something that mattered more than either of those; it's below.
Warm-up
Nothing is drawn until the indicator has 100 bars of its own history to normalise
against, on top of the 20 the regression needs. On a fresh chart the left-hand side will
be empty for a while. Scroll back once to pull in history if you want the whole picture.
Lookback bar controls how far back it calculates, 5000 by default; set it to 0 for
every bar the chart holds.
What it doesn't do
- No trend filter. It's a mean-reversion tool. In a strong trend the line will sit
beyond 1.5 and print Reversions that the trend runs straight through. - No stops or targets. The horizontal line is a level, not a stop loss.
- No multi-timeframe. One chart, one setting.
- Alerts default to on โ popup, unlike most of the others here. Set
Notification typeto None on charts you don't want to hear from, or you'll hear from all of them.
Settings I'd start with
Leave Length at 20 and the thresholds at ยฑ1.5. They're a matched pair: widen the
threshold and you get fewer Reversions and therefore fewer signals, which is the dial to
turn if you find it too talkative.
Use it on H1 or higher. The logic works on M15, but the labels crowd.
What changed in 1.02
The same bar gave a different value depending on how much history the chart had
loaded.
The regression is fitted in local coordinates โ the current bar is x = 0, and x counts
backwards โ so the fitted value at the current bar is the intercept. Both builds instead
evaluated the line at the bar's position in the whole series, a number in the thousands
that grows every time the chart loads more candles.
Measured on a 600-bar test series: loading 3,000 more bars of history moved the
oscillator by up to 1.22 standard deviations on the same bars, and flipped the sign on 5
of 480 of them. Since the signals are zero crossings, a sign flip is a signal appearing or
vanishing because of how far back you happened to scroll. After the fix the output is
identical no matter how much history is loaded.
If you have been running an earlier build, your signals will change. That's the point of
the release, but it's worth saying plainly.
Questions you'll have
Does Linear Regression Oscillator repaint? The line on the forming bar moves with
price, as any oscillator's does. Signals are decided on closed bars and don't move. Before
1.02 the historical values did shift when more history was loaded; that's fixed.
Why did the line cross zero without giving me a signal? Because there was no Reversion
before it. A crossing only produces an arrow when the line had first been stretched past
the threshold and turned back.
What is the horizontal line at a signal? The five-bar extreme in the signal's
direction. It stays solid while it holds and turns dotted once price closes through it.
MT4? Both platforms are included, one download each. Same maths and the same signals.
Why is my chart empty on the left? It needs 100 bars of its own values to normalise
against, plus the 20 for the regression, before it can draw anything.
Why so few arrows? The two-stage filter is doing what it's for. On H1 gold, three
weeks produced two.
Can I make it signal more often? Lower the upper and lower thresholds. More Reversions
means more crossings qualify.
Both platform builds are included with a subscription. This listing makes no
profitability claim: the indicator measures how stretched a short regression line is and
marks when it comes back, and nothing about that says what price will do next. You won't
find a win rate table here, and I'd be careful with any indicator listing that has one.