What Trend Panel does
Trend Panel applies the classic twelve-month time-series momentum rule: hold the side of the past year's move, and size every market so it carries the same risk. It decides once a month, on closed monthly bars.
The monthly rule
Long this month when last month's close is above the close twelve months before it; otherwise short. The lookback is adjustable from 1 to 24 months.
Volatility sizing
Yearly volatility from daily log returns, weighted exponentially with a centre of mass of 60 days. Size = target volatility / the market's volatility.
The basket panel
Up to 10 markets on TradingView and 12 on MT5: the lookback change, the side held this month, volatility, size, and a count of longs and shorts.
How to trade Trend Panel
Add it to any chart
The rule reads monthly and daily bars, so the chart timeframe does not change it. On MT5 the panel shows "loading monthly history" until enough monthly bars are available.
Read the side held
The background shows LONG or SHORT for the current month. A marker shows the month the side flipped.
Size with the panel
The Size column is how many units of exposure per unit of capital give the target volatility. At 40% target and 20% market volatility, size is 2.0x.
Act once a month
The side only changes when a monthly bar closes. Check at the start of each month, not on every tick.
Prompts, not trade instructions. A SETUP READY prompt tells you to review the structure on a closed candle. It is never a command to enter blindly.
Setups and chart grammar
Trend Panel has two sides and one flip marker.
| Setup | Context | What the indicator sees | Goal |
|---|---|---|---|
| LONG month | Last month's close above the close 12 months before it | Background in the long colour | Hold long for the month |
| SHORT month | Last month's close at or below the close 12 months before it | Background in the short colour | Hold short for the month |
| Flip | The side differs from the month before | Up or down arrow at the start of the month | Change sides |
LONG: the market rose over the lookback.
SHORT: the market fell over the lookback.
The broker has no symbol by that name, or its history has not loaded yet.
Settings
| Input | Type | Default | What it does |
|---|---|---|---|
| Lookback (months) | Integer | 12 | Long this month when last month's close is above the close this many months before it; otherwise short. 1 to 24. |
| Target Volatility (% a year) | Float | 40 | Each market is sized so its position would move this much in a typical year. Size = target / the market's own volatility. |
| Market 1 to Market 10 | Symbol | OANDA: EURUSD, GBPUSD, USDJPY, AUDUSD, USDCAD, SPX500USD, NAS100USD, DE30EUR, XAUUSD, XAGUSD | The markets in the panel. |
| Show Panel | Boolean | true | Shows the basket panel. |
| Shade Side Held | Boolean | true | Shades the background in the side held. |
| Mark Flips | Boolean | true | Marks the month the side flipped. |
| Long Color | Color | #26a69a | Colour of the long side. |
| Short Color | Color | #ef5350 | Colour of the short side. |
| Input | Type | Default | What it does |
|---|---|---|---|
| InpSerialKey | string | "" | Your serial key from the member portal. The indicator stays locked without it. |
| InpLookback | int | 12 | Lookback, in months. |
| InpTargetVol | double | 40 | Target volatility, % a year. |
| InpMarkets | string | EURUSD,GBPUSD,USDJPY,AUDUSD,USDCAD,US500,NAS100,GER40,XAUUSD,XAGUSD | Panel markets, comma separated, as your broker names them. Up to 12. |
| InpShowPanel | bool | true | Show panel. |
| InpShowBg | bool | true | Shade side held. |
| InpShowMarks | bool | true | Mark flips. |
| InpAlerts | bool | true | Alert on a flip. |
| InpLongColor | color | C'38,166,154' | Long colour. |
| InpShortColor | color | C'239,83,80' | Short colour. |
Use it in your EA
On MetaTrader you can read the levels and setup state from an Expert Advisor with iCustom().
// MQL5 — check the last closed bar for a trend flip
int h = iCustom(_Symbol, _Period, "iTradeAIMS\\AIMSTrendPanel", "YOUR-SERIAL-KEY");
double up[], dn[];
CopyBuffer(h, 0, 1, 1, up); // != EMPTY_VALUE: turned long
CopyBuffer(h, 1, 1, 1, dn); // != EMPTY_VALUE: turned short| Buffer | Name | Value |
|---|---|---|
| 0 | Turned long | Price on the bar where the side flipped to long; EMPTY_VALUE elsewhere |
| 1 | Turned short | Price on the bar where the side flipped to short; EMPTY_VALUE elsewhere |
Frequently asked questions
Each market is judged against its own past, not against other markets: if it rose over the last year, hold it long; if it fell, hold it short.




