Character Band Pro
- インディケータ
- バージョン: 1.0
- アクティベーション: 5
Character Band Pro is an indicator for MetaTrader 5. It draws market structure (swing highs and lows, breaks of structure and changes of character) with a volatility trend band. It then filters the change-of-character signals by higher timeframes, trend strength and volatility, scores each one from 0 to 10, and draws its stop and three targets. A panel sums up the chart and three higher timeframes.
It places no orders. Everything comes from closed bars, so an arrow, a score or a level never changes after its bar closed.
Standalone: everything is built in. You do not need to buy or install any other product named on this page.
Quick start
- Attach it to any chart. With the defaults every change of character is a signal and the panel shows H1, H4 and D1.
- For fewer, cleaner signals, switch on "Higher timeframes must agree" (2 of 3 by default), "Minimum trend strength (ADX)" or "Volatility score range".
- Read the score next to each arrow, and the stop and targets of the latest signal on the right of the chart.
What you see on the chart
- Structure lines: BOS (break of structure) and CHoCH (change of character), from the broken swing to the bar that broke it.
- The trend band: the lower band in an up trend, the upper band in a down trend.
- Buy and sell arrows with a score such as "7/10".
- Pullback dots where price touched the band and closed back on the trend side.
- Levels of the latest signal: entry (the signal close), stop, and targets at 1R, 2R and 3R (you set the multiples).
- The panel: trend, strength (ADX), volatility score 0 to 10, bars since the last signal, the current session, the state of the three higher timeframes and the last signal with its score.
How it works
- Structure: a swing high is the highest high with the chosen number of lower highs on each side, known once those bars have closed. A close beyond the newest unbroken swing is a break. Against the trend, it is a change of character and the trend flips.
- The band: a 100-bar weighted moving average of the close, plus or minus 2 times the 21-bar average of the 14-bar ATR.
- Higher-timeframe state: from that timeframe's last closed bar. Bullish when its own structure trend is up and its close is above its own band basis, bearish for the mirror case, flat otherwise.
- Stop: the lowest low (for a buy) or highest high (for a sell) from the broken swing to the signal bar.
- Score, five parts of 0 to 2:
- higher timeframes in agreement (3 gives 2, 2 gives 1);
- closeness to the band (within 0.5 ATR gives 2, within 1.5 ATR gives 1);
- body of the break candle (at least 1 ATR gives 2, at least 0.5 ATR gives 1);
- candle quality (a close in the outer 30% of the range, and a body of at least 60% of the range, 1 each);
- stop size (up to 2 ATR gives 2, up to 4 ATR gives 1).
- Volatility score: 5 times the ATR divided by its 100-bar average, rounded and limited to 0 to 10. 5 is normal.
Who it is for
For traders who read structure and want each change of character checked against the bigger picture in one place, with a stop and targets they can act on.
Inputs
| Input | Default | What it does |
|---|---|---|
| Swing size | 10 | Bars on each side of a swing high or low (1 to 50). |
| ATR period | 14 | For the band, score and stop size. |
| Basis WMA / width SMA / ATR multiplier | 100 / 21 / 2.0 | The band. |
| Show the band, signals, pullbacks | on | What is drawn. |
| Pullbacks: minimum bars between two marks | 5 | Spacing of the pullback dots. |
| Higher timeframes must agree | off | Signal filter. None of the three may oppose. |
| How many of the 3 must agree | 2 | 1 to 3. |
| Minimum trend strength (ADX) | off | Signal filter. |
| ADX period / minimum ADX | 14 / 20 | Wilder ADX. |
| Volatility score range | off | Signal filter. |
| Minimum / maximum volatility score | 2 / 9 | 0 to 10. |
| Timeframe 1 / 2 / 3 | H1 / H4 / D1 | For the panel, score and filter. One not above the chart uses the chart itself. |
| Show stop and targets | on | The levels of the latest signal. |
| Target 1 / 2 / 3 (R) | 1.0 / 2.0 / 3.0 | Multiples of the stop distance. |
| Show BOS / CHoCH lines, show the panel | on | Display. |
| Draw objects for the last N bars | 500 | How far back lines and labels are drawn. |
| Colours | green / red / amber | Bullish, bearish, pullback. |
| Panel sessions: server time minus UTC | 0 (auto) | Only for the session line of the panel. |
| Alert on BUY / SELL, pullbacks, every BOS / CHoCH | on / off / off | Which events alert. |
| Pop-up, sound, push, e-mail | on, off, on, off | Alert channels. |
| Debug log for bug reports | false | Found a problem? |
How often it signals
With the filters off: buy and sell signals per month per symbol on EURUSD, GBPUSD, USDJPY and XAUUSD, October 2023 to October 2026 (D1: ten years), closed bars. Each filter you switch on gives fewer. A code count, not a trading result.
| Timeframe | Signals per month | Pullbacks per month |
|---|---|---|
| M15 | about 26 to 30 | about 22 to 25 |
| H1 | about 6 to 7 | about 5 to 7 |
| H4 | about 2 | about 1 to 2 |
| D1 | about 0.2 to 0.3 | about 0.2 to 0.3 |
How it was checked
- Non-repainting: in the Strategy Tester on XAUUSD H1, every tick based on real ticks, January to October 2026 (91 million ticks, 4,406 bars), 52 signals appeared. None changed after its bar closed or was drawn on the forming bar.
- Code check: all 15 buffers (band, signals, score, stop, the three timeframe states) were compared bar by bar with an independent Python calculation. EURUSD and XAUUSD, D1, H4, H1 and M15, three settings including all filters: identical.
- No trading claim: the signals were also tested as a mechanical strategy on 31 symbols and three timeframes, with the settings fixed before the test. They showed no edge over chance. The score and filters describe a setup; they do not predict its outcome.
Alerts and Expert Advisors
One alert per event, on the bar that gives it, with the score and stop: pop-up, sound, push notification and e-mail, each switched separately. Nothing is sent while history loads, never twice for the same bar, and not in the Strategy Tester.
Buffers: 0 band in a down trend, 1 band in an up trend, 2 buy arrow (the bar's low), 3 sell arrow (the bar's high), 4 pullback up, 5 pullback down (band price), 6 trend (+1, -1, 0), 7 structure (+1/-1 BOS, +2/-2 CHoCH), 8 signal (+1 buy, -1 sell), 9 score 0 to 10, 10 stop, 11 band basis, 12 to 14 the three timeframe states (+1, 0, -1; empty while unknown).
Questions
- Does it repaint? No. Closed bars only, and each higher timeframe is read from its last closed bar.
- Why does the panel show "..." for a timeframe? Its history is still loading, or the chart bar is older than the 3,000 bars kept for that timeframe. The indicator recalculates once the history arrives.
- Is a 9/10 signal a better trade? Not proven. The score describes how clean the setup is. Test it on your symbol before relying on it.
Works well with
These are workflow suggestions. I have not found that any pair gives better trading results. You do not need any of them.
| Product | How to use them together | Why |
|---|---|---|
| Risk Position Tool | Put the entry and stop lines on the indicator's entry and stop. | It gives the lot for your risk. The tool places no orders. |
| SMC Session Scanner MT5 | Scan many symbols for fresh breaks, then open the chart with this indicator. | One finds the chart, the other shows the setup in detail. |
Related products
- Character Band: the free edition with the structure, band, signals, pullbacks and alerts, without the filters, score, levels and panel. Search "Character Band" on the Market.
- SMC Zones: the same structure engine with order blocks, fair value gaps and liquidity sweeps.
- All my products on MQL5
Found a problem?
- In the inputs, set "Debug log for bug reports" to true.
- Repeat what went wrong.
- Open the Experts tab in the Toolbox. Copy the lines that start with "DBG" and paste them in a comment on this page, with the symbol and timeframe.
- Set the debug log back to false.
The debug lines never contain your account number, name, server, balance or equity.
Questions: use the comments on this page or send me a message on MQL5.
Trading involves risk. The indicator shows market structure, a trend band and a setup score. It does not predict the market, and past signals are no indication of future results.
