VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Platforms and export

MultiCharts Bar Magnifier Backtest and Intrabar Fills

MultiCharts Bar Magnifier is turned on in the Format Strategies → Properties → Backtesting tab. It uses 1-minute or tick data to fill in the price path inside each bar, so a trade that touches both its stop loss and its profit target within the same bar can be put in the right order. How much the results change depends on how many of a strategy's trades enter and exit within the same bar.

By · Published · updated · Editorial policy

Contents
  1. What is a MultiCharts intrabar backtest, and why can standard backtest fills be misleading?
  2. How do you turn on Bar Magnifier? Setup steps
  3. How are a stop loss and profit target resolved within the same bar?
  4. What tick data does Bar Magnifier need, and how much slower is it?
  5. How much do the results change with Bar Magnifier on, and how do you compare them?
  6. Frequently asked questions
  7. References

What is a MultiCharts intrabar backtest, and why can standard backtest fills be misleading?

The MultiCharts Bar Magnifier (the intrabar backtest) is a feature you turn on in the Format Strategies → Properties → Backtesting tab. It uses finer data (1-minute bars or ticks) to fill in the price path inside each bar, so a trade that touches both its stop loss and its profit target within the same bar can be put in the right order. How much your results change depends on how many of the strategy's trades enter and exit within the same bar.

A standard backtest decides fills using only four prices per bar: open, high, low and close. Think of those four prices as the start, the end, the top speed and the bottom speed of a car trip. You know the car left at 8:00 and arrived at 9:00, but not where it went first along the way. Within one 60-minute bar, price may drop to the low first and then rise to the high, or rise first and then fall. Both paths draw the same bar.

A stop loss is an order that exits automatically when price reaches a level in the unfavorable direction, taking the loss. A profit target is an order that exits automatically when price reaches a level in the favorable direction, taking the profit. When both levels fall between the high and low of the same bar, the platform has to decide which order fills first. Without data inside the bar, it can only assume a path, and when the assumed path differs from the real one, the backtest records that trade wrongly. Platforms handle this differently, and this article covers only MultiCharts.

Within one bar, two different price paths both touch the stop loss and the profit target: one hits the stop first and the other hits the target first, but both draw the same bar Which price is hit first? Both paths draw the same bar Target Stop Stop first Target first Four prices hide the order. So: add finer data inside the bar.
A bar records only four prices. Without finer data, you cannot tell whether price reached the stop or the target first inside the bar.

How do you turn on Bar Magnifier? Setup steps

Bar Magnifier is in the Backtesting tab of the strategy properties. Check the box, choose a magnifier resolution, then recalculate the strategy to apply it. The Chinese-language menu names in MultiCharts vary by version, so each step below includes the original English name; matching on the English is less likely to lead you astray.

  1. Open Format Strategies on the chart. You can find it in the chart's right-click menu or the Format menu. First make sure the strategy you want to test is applied to this chart.
  2. Click Properties. These are the strategy properties for the whole chart, not the input parameters of a single signal.
  3. Switch to the Backtesting tab. The same tab also holds commission, slippage and initial capital. Leave those at their current values so you can compare on and off fairly.
  4. Check Use Bar Magnifier and choose a magnifier resolution. Common options are 1 minute, 1 second or 1 tick. The finer the resolution, the closer the ordering is to the real sequence, and the more data it needs (covered below).
  5. Click OK, then Recalculate the strategy on the chart. After recalculating, open the Strategy Performance Report and compare it with the report you saved before turning the feature on.
Five steps to turn on Bar Magnifier in MultiCharts: Format Strategies, Properties, Backtesting tab, check Use Bar Magnifier and set it to 1 minute, then Recalculate Five steps to Bar Magnifier Steps use the English menu names 1 2 3 4 5 Format Strategies Properties Backtesting tab Use Bar Magnifier Recalculate 1 minute Changes fills only, not signals. So: recalculate, then compare.
The click order for turning on Bar Magnifier; follow the English names shown in the interface.

Two points are easy to confuse. First, Bar Magnifier affects only how fill prices are decided. The strategy's signals are still calculated at the bar close. Having signals calculated at any time inside the bar is a different setting called Intra-bar Order Generation, and the two can be switched on and off separately. Second, MultiCharts loads the finer data separately from the same data source, for the same symbol and the same period. It is not derived from the original bars, so the data source must actually have that finer data for the period.

How are a stop loss and profit target resolved within the same bar?

With Bar Magnifier off, MultiCharts can only decide which of the stop and the target fills first based on its built-in assumption. With it on, MultiCharts uses the real order shown by the finer data, and the result of the same trade can change from a win to a loss or from a loss to a win. The rules are exactly the same under both methods. What differs is only the fact of which line price touched first.

CaseBar Magnifier offBar Magnifier on
Only the stop or only the target is touched inside the barFills at whichever order was touchedSame result
Both the stop and the target are touched inside the barOrder decided by the platform's assumed pathOrder decided by the real sequence in the finer data
Entry and exit in the same barThe order within the whole bar is assumedThe path after entry is decided from the finer data
Exit in the next bar or a later barNot affectedNot affected

Hypothetical example

An NQ strategy on 60-minute bars goes long at 18,000 with a 20-point stop loss (17,980) and a 40-point profit target (18,040), and both orders sit inside the same bar. That bar's low is 17,975 and its high is 18,045, so both levels are touched. With Bar Magnifier off, the platform assumes the stop fills first, and the trade is recorded as −20 points. With Bar Magnifier on, the 1-minute data shows price rose to 18,045 first and then fell back, so the target fills first and the trade is recorded as +40 points. Same bar, same orders, 60 points apart. At $20 per NQ point, that is a $1,200 difference, before commission and slippage.

Hypothetical NQ long trade, a single 60-minute bar: with Bar Magnifier off, the stop fills first for a 20-point loss; with it on, the target fills first for a 40-point gain, so the same orders differ by 60 points Same bar, 60 points apart Hypothetical NQ trade, one 60-minute bar Magnifier off Stop first −20 pts Magnifier on Target first +40 pts Same order: may lose or may win. So: check bars that touch both.
The same bar and the same stop and target give different results depending on whether the path inside the bar is known. The numbers are a hypothetical example.

The $20 per point and the 0.25-point minimum tick ($5) used in the example come from the CME E-mini Nasdaq-100 contract specifications. The exchange may change these values, so check CME's contract page for the latest specs, or use the futures contract calculator to convert points to dollars. The closer the stop distance and the closer the target distance, the more likely both levels fall inside one bar, so short-stop intraday strategies are affected most by this. For how to choose a stop type, see Stop loss in a futures strategy.

What tick data does Bar Magnifier need, and how much slower is it?

Bar Magnifier needs data for the same symbol and period that is finer than the chart's bars. Backtest time rises roughly with the number of pieces each bar is cut into, and the actual speed depends on your processor and the amount of data. For a 60-minute bar filled in with 1-minute data, the platform reads 60 extra small bars. With tick data, the number of records depends on market volume and is far more than 60.

Magnifier resolutionData neededExtra reads per 60-minute barRemaining uncertainty
1 minute1-minute bars for the same period60 barsWhen the stop and target fall inside the same 1-minute bar, the order is still assumed
1 secondSecond bars for the same periodAbout 3600 (60 minutes × 60 seconds)The order within the same second is still assumed
1 tickTick (trade-by-trade) dataDepends on volume; far more than 60Almost none, but the data is the largest and the files are the hardest to keep complete
Number of price points read per 60-minute bar: 60 at 1-minute resolution, about 60 times that at 1-second resolution, and at tick resolution it depends on volume and is far more than either Finer data, more reads Reads per 60-minute bar 1 minute 60 1 second 60 times more 1 tick Far more Each step up multiplies run time. So: test at 1 minute before ticks.
The finer the resolution, the more price points the backtest must read. The extra work is roughly the multiple by which the backtest slows down.

In practice, there are three steps. First, confirm that the data source's finer data covers the whole backtest period: if a stretch is missing, the bars in that stretch cannot get a path. Second, shorten the chart's backtest period to one or two months for a trial run, note how long it takes, then scale up in proportion to the full period. Processor, memory and record count differ, so the same setting can take very different times on two computers. Third, run once at 1 minute first and see whether the results change; if they do, then decide whether to switch to ticks. For most intraday strategies, the difference is already visible at 1-minute resolution. Check the quality of the finer data itself too: missing and bad ticks are written directly into fill prices, and the article Backtest data quality lists what to check.

How much do the results change with Bar Magnifier on, and how do you compare them?

There is no general answer. The only reliable method is to run the same strategy once with the feature off and once with it on, and compare trade by trade; the differences concentrate in the trades that touch both the stop and the target inside the same bar. Below, the comparison method comes first, then this article's NQ daily backtest shows which kind of strategy should in theory be almost unaffected.

  1. Run once with Bar Magnifier off and export the Strategy Performance Report trade list to a file.
  2. Change only the Use Bar Magnifier setting, leave commission, slippage and data period untouched, run again and export.
  3. Align the two lists by entry time and mark the trades whose exit price differs. Trades that exit in a later bar should match on both sides; if they do not, something besides this setting changed.
  4. Compare three numbers: number of trades, net profit and number of same-bar exits. The share of same-bar exits in the total number of trades shows how much this strategy depends on the order inside the bar.
Two hypothetical trade lists, Bar Magnifier off and on, aligned trade by trade: trades that exit in a later bar should match exactly, and only trades that exit in the same bar as the entry differ Only same-bar exits differ Hypothetical lists, Magnifier off vs on Off On Later-bar exits: same Same-bar exits: different All other trades must match exactly. If not, something else changed.
Comparing the two backtests trade by trade, the differences appear only in trades that enter and exit within the same bar. The list is a hypothetical example.

To show which strategies are less affected, here is a real backtest from AlphaPrime (Valynox). This search tested NQ daily bars, from 2019-01-02 to 2025-06-30, long and short, 1 contract. The only entry and exit condition is a Standard Deviation channel, with no stop loss, no profit target and no filters, filling at the next bar's open. It is a stand-in rule built from a standard indicator, not a test of Bar Magnifier itself. The table shows one of the 1,024 candidates the search tried, kept on return to drawdown. Picking the kept one after the fact flatters the result, so these numbers do not mean this rule or this indicator earned that money, and they are not a result you should expect.

Source: AlphaPrime product engine (CPU), run 2026-10-31. NQ daily, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $10 slippage per trade.

NumberResult
Net profit (closed trades)$116,360
Max drawdown$110,535
Trades35
Win rate54.29%
Profit factor1.487
Average trade$3,324.57
Time in market95.01%
This summary is the one kept from 1,024 candidates. Look at the number of trades and time in market: few trades and a position almost all the time mean each trade spans many bars, and the exit does not happen in the same bar as the entry.
This summary is the one kept from 1,024 candidates. Look at the number of trades and time in market: few trades and a position almost all the time mean each trade spans many bars, and the exit does not happen in the same bar as the entry. NQ · Daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

The reasoning is as follows. This rule has only one market order, filled at the next bar's open, and no waiting price level sits inside any bar, so the question Bar Magnifier exists to settle, which order is touched first, never arises. The 35 trades and 95.01% time in market also show that each trade spans many trading days. After you import it into MultiCharts, the fill prices should in theory not change with Bar Magnifier on or off. But this is reasoning, not a measured on/off comparison; to confirm, use the four steps above. AlphaPrime's backtests already fill at the next bar's open and count commission and slippage on every trade, so its trade list can serve directly as the first list for the comparison.

Conversely, if you add a fixed-point stop loss and profit target to a rule like this in MultiCharts, it immediately becomes a strategy that Bar Magnifier affects, and after adding them you need to repeat the on/off comparison. This is also the point Pardo (2008) keeps returning to when discussing strategy evaluation: the fill assumptions in the backtest simulation must match how orders are actually placed, or the numbers mean nothing however good they look.

After you move PowerLanguage source code exported from AlphaPrime into MultiCharts, check in this order: whether the data period and timeframe match, whether the commission and slippage in the Backtesting tab match the export, whether fills are set the same way at the next bar, whether the number of trades matches, and only last the net profit. Each export and import step is in How to import a strategy into MultiCharts and match the backtest, and the item-by-item checklist is in From generated strategy to MultiCharts: a PowerLanguage comparison checklist; the other export platforms AlphaPrime supports are listed on the platform export page.

Next step: pick an intraday strategy you are running now that has both a stop loss and a profit target. In MultiCharts, use the last two months of data and run it once with Bar Magnifier off and once with 1-minute Bar Magnifier on, then count what share of all trades have a different exit price. That share is your answer to whether Bar Magnifier should be your default.

Frequently asked questions

What tick data does Bar Magnifier need?

You need data for the same symbol and the same backtest period, finer than the chart's bars, supplied separately by the data source; MultiCharts does not derive it from the original bars. You can choose 1 minute, 1 second or 1 tick as the resolution. One-minute data is the easiest to get and the smallest. Tick data settles the order most accurately, but its record count depends on volume and its files are the largest. First confirm that the finer data covers the whole period, since bars in a stretch with missing data cannot get a path.

Does turning on Bar Magnifier make the result correct?

It only replaces the assumption about fill order with the order the finer data shows. The remaining uncertainty depends on the resolution. With 1-minute data, a stop and target inside the same 1-minute bar still rely on an assumption; with tick data this problem almost disappears. Commission, slippage and next-bar fills do not become correct just because Bar Magnifier is on; you still have to set them yourself.

Is a Bar Magnifier backtest the same as Intra-bar Order Generation?

No. Bar Magnifier only changes how it is decided which of the already-submitted orders fills first inside the bar, and signals are still calculated at the bar close. Intra-bar Order Generation lets the strategy calculate signals and place orders at any time inside the bar. The two are switched on and off in different places, and you can turn on just one of them.

Do daily-bar strategies need Bar Magnifier too?

It depends on whether the strategy has price levels that can trigger inside a bar. If a daily strategy only enters and exits with market orders at the next day's open and has no stop loss or profit target, no pending orders sit inside the bar, and in theory Bar Magnifier does not change fill prices. If a daily strategy has a stop loss or profit target, a daily bar's high-low range is wide and the chance of touching both levels is actually higher, so you need to turn it on and compare.

References

  • CME Group. E-mini Nasdaq-100 Futures contract specifications (contract size $20 × index, minimum tick 0.25 index points = $5.00). cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2017). The Probability of Backtest Overfitting. Journal of Computational Finance, 20(4), 39–69.