Linda Raschke built this from two very short averages. The 3 10 oscillator indicator takes a ten-bar simple average off a three-bar one, then draws a sixteen-bar average of that gap as a signal. Everything then gets a thousandfold scale, because raw currency differences plot flat.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 0) |
| Plots | 4: 3-10 histogram (above zero), 3-10 histogram (below zero), 3-10 fast (SMA3 – SMA10), 3-10 signal (SMA16 of fast) |
| Alerts | popup, push notification, email, sound |
| Inputs | 15 |
What the 3 10 Oscillator Indicator draws on the chart
Four plots below price.
`3-10 histogram (above zero)` fills medium sea green.
`3-10 histogram (below zero)` fills crimson.
`3-10 fast (SMA3 – SMA10)` runs deep sky blue.
`3-10 signal (SMA16 of fast)` runs orange.
A level sits at zero.
- 3-10 histogram (above zero): histogram, width 3
- 3-10 histogram (below zero): histogram, width 3
- 3-10 fast (SMA3 – SMA10): line, width 2
- 3-10 signal (SMA16 of fast): line, width 2

How the 3 10 Oscillator Indicator calculates its values
A very short gap
Two simple averages. `FastSmaPeriod` `3` less `SlowSmaPeriod` `10`, both on the close. Three bars is short enough that the fast one tracks price closely.
The slower line
`SignalSmaPeriod` `16` averages the gap itself. So the orange line averages an average, and it turns well after the blue one.
Why the scaling
`DisplayScale` `1000.0` multiplies every series. A three against ten gap on a currency pair is a fraction of a pip, which would plot flat without it.
How to read the signals
Column colour splits the two sides of zero.
The blue line turns first and the orange follows.
Zero is where the two short averages match.
Height carries a scale, so compare within one chart.
`MaxBars` `1500` caps how much history builds.
A crossing of the two lines is the tracked event.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` governs the crossing alerts and arrives true with `EnablePopup`. Set `EnablePushNotify` for a phone, `EnableEmail` for mail, or `EnableSound` to sound `SoundFile`. Those three start off and each crossing reports once.
Every 3 10 Oscillator Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
FastSmaPeriod |
Fast simple moving average period. Shorter average, `3`. | 3 |
SlowSmaPeriod |
Slow simple moving average period. Longer average, `10`. | 10 |
SignalSmaPeriod |
Signal SMA period applied to the fast line. Average of the gap, `16`. | 16 |
Display settings
| Setting | What it does | Default |
|---|---|---|
DisplayScale |
Same scale factor on every plotted series. Multiplier on every series, `1000.0`. | 1000.0 |
HistUpColor |
Histogram color above zero. Above zero, `clrMediumSeaGreen`. | medium sea green |
HistDownColor |
Histogram color below zero. Below zero, `clrCrimson`. | crimson |
FastColor |
Fast line color. Gap line, `clrDeepSkyBlue`. | deep sky blue |
SignalColor |
Signal line color. Signal line, `clrOrange`. | orange |
Alert settings
| Setting | What it does | Default |
|---|---|---|
MaxBars |
History bars to scan (0 = all). History the build covers, `1500`. | 1500 |
EnableAlerts |
Master alert switch. Master switch, `true`. | on |
EnablePopup |
Popup alert. | on |
EnablePushNotify |
Push notification to phone. | off |
EnableEmail |
Email alert. | off |
EnableSound |
Sound alert. | off |
SoundFile |
Sound file. | alert.wav |

Settings that fit your chart
Three against ten is very fast, so this belongs on a chart with movement. EURUSD H1 is the reference chart. Crossings come several times a day there. On M5 they arrive constantly. On H4 each one covers a session.
When the 3 10 Oscillator Indicator fails
A three-bar average reacts to almost any bar.
The scaled height will not compare across symbols.
In a range the two lines cross back and forth.
The signal line averages an average, so it lags twice.
Copy the compiled 3 10 Oscillator Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the 3 10 Oscillator Indicator for MT4 and MT5
The zip holds the compiled 3 10 Oscillator Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
Why does DisplayScale multiply by a thousand?
Because the gap between a three-bar and a ten-bar average on a currency pair is often a fraction of a pip. Without a multiplier it would plot flat at zero, so every series takes the same one.
What does SignalSmaPeriod 16 average?
The gap itself, not price. That makes the orange line an average of an average, which is why it turns later than the blue one and why a crossing between them is a slower signal.
Why are FastSmaPeriod and SlowSmaPeriod so short?
Because Linda Raschke designed this to react quickly. Three against ten catches a change of pace within a few bars, at the cost of reacting to bars that turn out to mean nothing.
Does MaxBars 1500 affect the readings?
Only how far back they reach. Fifteen hundred bars is about two months of H1 history, and past that the plots simply stop rather than changing how they calculate.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the 3 10 Oscillator Indicator as one input. Always backtest before trading live.
Authoritative references
- Learn more about technical indicators.
