The cci alert indicator puts its marks where the reading actually is. Most tools place an arrow at a fixed height. Here the buy and sell buffers take the index value itself, so each mark sits directly on the line at the point the level was crossed.
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 -100 / 0 / 100) |
| Plots | 3: CCI, BUY, SELL |
| Alerts | popup, push notification, sound |
| Inputs | 8 |
What the Cci alert Indicator draws on the chart
CCI is the dodger blue line in its own pane.
BUY places a lime arrow on the line where it crosses up through `LowerLevel`.
SELL places a red arrow on the line at the upper crossing.
Reference lines mark 100, 0 and minus 100.
- CCI: line, dodger blue, width 2
- BUY: arrow, lime, width 2, arrow code 233
- SELL: arrow, red, width 2, arrow code 234

How the Cci alert Indicator calculates its values
Reading the index
iCCI supplies the value at `CciPeriod` `14` on typical price, for the current bar and the one before it. Typical price averages high, low and close, which is the original definition.
Testing the levels
A buy needs the previous reading below `LowerLevel` `-100.0` and the current one at or above it. The sell case mirrors that against `UpperLevel` `100.0`. Both are inputs rather than fixed constants.
Placing the mark on the line
BuyBuf takes cci_now itself rather than a fixed pane height. So a crossing at 101 draws its mark at 101. The marks then trace the line, which makes a run of them easy to follow.
How to read the signals
Marks sit on the reading, so their height tells you where the crossing happened.
Moving `UpperLevel` to 150 makes crossings rarer and later.
The index has no bounds, so an extreme has no ceiling to work against.
Two separate sound files let you tell buy from sell by ear.
Alert channels in this build: popup, push notification and sound, one message per closed bar.
`EnableAlerts` and `EnableSound` both ship on, which is unusual here. `EnablePush` starts false. Two clips split the direction, with `SoundFileBuy` and `SoundFileSell` naming each. No email channel exists, and the guard allows one message per closed bar.
Every Cci alert Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
CciPeriod |
CCI period. How many bars the index averages, default `14`. | 14 |
UpperLevel |
Upper trigger level. Level a sell trigger needs the reading to leave, default `100.0`. | 100.0 |
LowerLevel |
Lower trigger level. Level a buy trigger needs the reading to leave, default `-100.0`. | -100.0 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Popup alerts. Popup alerts on a level trigger, default `true`. | on |
EnableSound |
Sound alerts. Sound playback on a level trigger, default `true`. | on |
EnablePush |
Push to phone. Phone push on a level trigger, default `false`. | off |
SoundFileBuy |
Clip for a buy trigger, default `alert.wav`. | alert.wav |
SoundFileSell |
Clip for a sell trigger, default `alert2.wav`. | alert2.wav |

Settings that fit your chart
Mean deviation scaling lets the index travel between instruments. EURUSD H1 is the reference chart, where `CciPeriod` at `14` covers a little over half a day. On M5 the reading crosses the level pair several times a session. On daily charts it does so a handful of times a year.
When the Cci alert Indicator fails
A crossing back inside the levels can happen mid-trend and lead nowhere.
Marks drawn on the line can overlap it when several arrive close together.
This build carries no email channel at all, so mail delivery is not an option.
Copy the compiled Cci alert 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 Cci alert Indicator for MT4 and MT5
The zip holds the compiled Cci alert 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 do the BUY marks sit on the CCI line?
Because the buffer takes the reading itself rather than a fixed pane height. A crossing at 101 draws its mark at 101. That makes the sequence of triggers easy to follow, since each one sits where it happened.
Can I move UpperLevel and LowerLevel?
Yes, both are inputs. The defaults sit at plus and minus 100, which is the usual convention. Widening them to 150 makes crossings rarer and later. Narrowing them produces many more triggers, most of them mid-range.
Why two sound files rather than one?
So direction is audible. `SoundFileBuy` and `SoundFileSell` name different clips, which matters when the terminal sits behind other windows. It is the one place this build offers more than the usual single file.
Does CciPeriod use typical price?
Yes, and the code fixes it there. Typical price averages high, low and close, which is the original definition. No applied price input exists here, so the whole bar always contributes to the reading.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Cci alert Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Also, truly, browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see icci (CCI) at the MQL5 Documentation.
- For broader market context, see CCI at Investopedia.
