SuperTrend on its own flips whenever price closes past its band, which in a choppy market means a lot of flips. The super trend cci indicator keeps the band exactly as it is and adds a second opinion. A CCI reading has to agree with the direction before the arrow appears, so flips without momentum behind them stay unmarked.
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 | Main price chart |
| Plots | 5: SuperTrend Up, SuperTrend Down, BUY, SELL, Trend |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the Super Trend Cci Indicator draws on the chart
SuperTrend Up is the dodger blue line beneath price while the trend state reads up.
SuperTrend Down is the orange red line above price while it reads down.
BUY and SELL arrows mark flips that CCI confirmed.
Trend is a working buffer with DRAW_NONE, holding the state between bars without appearing on screen.
- SuperTrend Up: line, dodger blue, width 2
- SuperTrend Down: line, orange red, width 2
- BUY: arrow, lime, width 2, arrow code 233
- SELL: arrow, red, width 2, arrow code 234
- Trend: hidden buffer

How the Super Trend Cci Indicator calculates its values
The classic SuperTrend bands
median takes (high[i] + low[i]) / 2.0. From there basicUpper adds `Multiplier` times atr and basicLower subtracts it, with atr from iATR over `AtrPeriod`. Those two defaults, `10` and `3.0`, match the settings most SuperTrend references use, so the band behaves the way traders expect.
Ratcheting the band and flipping the state
A raw band would jump around, so the code compares against storedUp and storedDn from the previous bar and keeps the tighter of the two while the trend holds. TrendBuf then flips: close[i] below finalLower sets trend to minus 1.0, and close[i] above finalUpper sets it to 1.0. That state persists in TrendBuf until a close breaks the other side.
Asking CCI to agree
cci comes from iCCI over `CciPeriod` on PRICE_TYPICAL, the high, low and close average that CCI normally uses. A flip alone writes no arrow. The CCI reading has to point the same way, which filters out flips that happen while momentum sits flat or points elsewhere.
How to read the signals
The coloured line is a trailing stop level, not a signal. It shows where the current trend state would end.
An arrow means the flip and the CCI reading agreed on the same bar.
Flips without an arrow still happened, and the line still switched sides. Only the marker was withheld.
A line that sits far from price marks a volatile stretch, since the band is three ATRs wide by default.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Four channels sit under `EnableAlerts`: popup, push notification, email and sound, with `SoundFile` naming the clip. Popup ships enabled and the rest ship off. The guard permits a single message per closed bar, matching the close-based flip test.
Every Super Trend Cci Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
AtrPeriod |
ATR period for SuperTrend. Bars in the volatility measure, default `10`, the usual SuperTrend setting. | 10 |
Multiplier |
ATR multiplier. How many ATRs the band sits from the median, default `3.0`. Lower it for a tighter stop that flips more often. | 3.0 |
CciPeriod |
CCI confirmation period. Confirmation lookback, default `14`. A shorter period makes CCI more responsive and lets more flips through. | 14 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPoints |
Arrow offset (points) from candle. Distance between candle and arrow, default `20` points. | 20 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
(see inputs panel) | on |
EnablePopup |
(see inputs panel) | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Settings that fit your chart
SuperTrend suits instruments that trend in sustained legs, which covers the majors, gold and indices. EURUSD H1 is the reference chart, where a 10 and 3.0 pair produces a handful of flips a week. On M5 the band flips often and the CCI filter removes a good share of them. On H4 and daily flips become rare and each one covers real ground.
When the Super Trend Cci Indicator fails
Both halves lag. The band follows ATR and the confirmation follows CCI, so an arrow arrives well after a move begins.
In a range price crosses the band repeatedly, and CCI often agrees with each crossing because it is reacting to the same swings.
A 3.0 multiplier keeps the stop wide, so a trend can give back a lot before the line finally flips.
Copy the compiled Super Trend Cci 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.
Related on forexmt4systems.com: Heikin Ashi Trend Strategy.
Background reading on the method behind the Super Trend Cci Indicator: CMT Association on Wikipedia, Swingtrading at Investopedia.
Download the Super Trend Cci Indicator for MT4 and MT5
The zip holds the compiled Super Trend Cci 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
What does the CciPeriod confirmation actually remove?
Flips that happen without momentum behind them. SuperTrend switches state whenever a close breaks the opposite band, which in choppy conditions happens repeatedly. Requiring the CCI reading to point the same way withholds the arrow on those. The line still flips, and only the marker stays hidden.
Why is Multiplier set to 3.0?
Because that pairing, with an ATR period of 10, matches how most SuperTrend references present it. The band sits three average ranges from the median, wide enough to stay clear of ordinary noise. Lowering it to 2.0 gives a tighter trailing stop, more flips and earlier exits.
What is the Trend buffer for if it never draws?
It carries the trend state between bars. TrendBuf holds 1.0 or minus 1.0 and the calculation reads its previous value on every bar to decide whether the state persists. It uses DRAW_NONE because it is bookkeeping rather than something to look at, and hiding it keeps the chart clean.
Does the SuperTrend Up line act as a stop level?
Many traders use it that way, and the ratchet logic supports it: while the state reads up, the line only tightens toward price and never loosens. It marks where the current trend state would end. This build does not place or manage orders, so any stop use is yours to implement.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Super Trend Cci Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in CMT Association on Wikipedia.
- Additional market context is at Swingtrading at Investopedia.
