MultiCharts review: backtesting, optimizer and broker automation
MultiCharts suits a trader who wants one Windows desktop program that backtests with intrabar detail, optimizes parameters and sends orders to a futures broker through the trader's own data feed. Its report is only as honest as the commission, slippage, fill and intrabar settings you enter, and the program does not set those for you.
By Soren Huang · Published · updated · Editorial policy
Contents
- Is MultiCharts worth using for backtesting and automated futures trading?
- Is MultiCharts good for beginners, and who does it suit?
- What does MultiCharts backtesting and optimization actually do?
- How do you set up data and execution in MultiCharts?
- How much does MultiCharts cost, and how steep is the learning curve?
- How does MultiCharts differ from TradingView and other alternatives?
- How does a PowerLanguage strategy get from the editor to a live MultiCharts chart?
- Frequently asked questions
- References
Is MultiCharts worth using for backtesting and automated futures trading?
This MultiCharts review answers one question: MultiCharts is worth using if you want one Windows desktop program that backtests with intrabar detail, optimizes parameters and sends orders to your futures broker through your own data feed. If you want browser charts or a free starting point, MultiCharts is the wrong tool; read the MultiCharts vs TradingView comparison instead.
MultiCharts is a charting and strategy program for Windows. You connect a data feed for the bars, a broker account for the orders, and you write or import the strategy. On a fresh install you can open the program, but no chart shows a bar until a data feed is added in QuoteManager, the program's symbol and data manager, and no order button works until a broker profile, the saved connection to your trading account, is set up. The table below separates what the program provides from what you supply, so you know before buying how much of the setup falls on you.
A MultiCharts report is only as honest as the commission, slippage, fill rule and intrabar settings you type into it. The program gives you every control. It does not choose the values. A trader who treats the first report as the truth, with zero slippage and same-bar fills, has not tested anything yet.
Is MultiCharts good for beginners, and who does it suit?
MultiCharts suits a trader who already has a written rule to test and is ready to learn PowerLanguage or to bring source code from an external code generator; a complete beginner usually spends the first weeks on data, sessions and compile errors before reaching any trading idea. PowerLanguage is the scripting language MultiCharts uses for indicators and strategies, and it is close to EasyLanguage, the language TradeStation uses.
The first-week obstacles are the same for everyone, but they land differently depending on what you bring:
| Question | Beginner with no rule yet | Written rule, no coding | Already codes |
|---|---|---|---|
| First-week obstacle | Deciding what to test at all, then data and sessions | Turning the rule into compiling PowerLanguage | Learning the fill and session settings |
| Time to first honest backtest | Weeks, often longer | Days with a code generator, weeks by hand | Days |
| Good first platform? | Yes, with a code generator or a course first | Yes | Yes |
If you are in the left column, read the MultiCharts software overview for systematic traders before you pay for anything. It explains the parts of the program and the order in which to learn them. If you are in the middle column, your shortest path is a tool that writes the PowerLanguage for you, so the first weeks go into testing rules rather than fixing syntax.
What does MultiCharts backtesting and optimization actually do?
The MultiCharts backtester replays a strategy bar by bar with the commission, slippage and fill rules you set, can look inside each bar with finer data, and offers exhaustive, genetic and walk-forward optimization, so the report you read is a product of those settings as much as of the rule. The steps run in a fixed order, and two of them change the result more than all the others.
Bar Magnifier is a MultiCharts setting that loads a finer data series, for example 1-minute bars inside a 60-minute chart, so the backtester can tell whether a stop or a target was touched first inside one bar. Without it, the engine has to assume an order of events inside the bar. The difference is largest for strategies with a stop and a target close together; the MultiCharts intrabar backtest guide shows how much a fill inside the bar can move a result.
Commission and slippage are entered per contract or per trade in the strategy properties. Slippage is the difference between the price a signal used and the price a real order would have filled at. A report with zero slippage measures price movement, not what an account would have kept.
Hypothetical example
A strategy shows $18,000 net profit over 400 trades with zero slippage. You estimate one tick of slippage on each side, worth $12.50 per side on this contract, so $25 per round trip. 400 trades × $25 = $10,000. The honest net profit is about $8,000, less than half the first report. Nothing about the rule changed; only the setting did.
Optimization is where the biggest flattery enters. Exhaustive optimization tests every combination of parameter values in the ranges you set. Genetic optimization searches a large range by keeping and combining the combinations that scored best, which is faster but does not test every value. Walk-forward optimization is a test that tunes parameters on one window of history, runs them unchanged on the next window, moves forward, and repeats; Pardo (2008) describes it as the standard way to check whether an optimized setting holds on data it did not see. Whatever the mode, the best combination out of many is partly real and partly luck that fitted that history, and Bailey, Borwein, López de Prado and Zhu (2014) show that the more combinations you try, the larger that luck component gets.
To show what a report with costs charged in it looks like, here is a run from AlphaPrime (Valynox). It is not a MultiCharts report and it is not a benchmark for MultiCharts. The run tested the one candidate the search kept out of 1,024 it tried, chosen for its return against its drawdown, using a CCI rule as its only entry and exit, with no stop, target or filter. It is a stand-in rule built from a standard indicator, not a test of MultiCharts itself. The market is ES daily bars from 2019-01-02 to 2025-06-30, long and short, one contract, with $20 commission and $25 slippage per trade and next-bar fills.
Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $25 slippage per trade.
| Number | Result |
|---|---|
| Net profit (closed trades) | $117,700 |
| Max drawdown | $50,127.5 |
| Trades | 200 |
| Win rate | 60.5% |
| Profit factor | 1.41 |
| Average trade | $588.5 |
| Time in market | 60.07% |
Read it the way you should read any optimizer output. The net profit of $117,700 belongs to the one candidate kept after 1,024 were tried, so picking it after the fact flatters it; the other candidates are not in the table. The max drawdown of $50,127.5 against that profit is what the selection was based on, and 200 trades over six and a half years is a moderate sample. It describes the past of one selected candidate; it is not what the CCI rule earns and not what a reader can expect. The same reading applies to a MultiCharts Strategy Performance Report after an exhaustive run: the top row of the optimization table is the most flattered row.
How do you set up data and execution in MultiCharts?
A working MultiCharts setup has three separate connections: a data feed for the charts, a broker profile for the orders, and an automation mode that keeps the strategy position and the broker position in step, and each one is confirmed with a one-contract order before the strategy runs unattended. Many traders assume one login covers all three. In MultiCharts they are configured separately, and each can fail on its own.
- Data feed. A data feed is the service that sends historical bars and live quotes to the charts. In MultiCharts it is added in the QuoteManager, and the symbol's session template and roll settings for futures are set there too. Confirm it by opening a chart and checking that the last bar's time matches the exchange session you expect.
- Broker profile. A broker profile is the saved connection through which MultiCharts sends orders and receives fills from your futures account. It is separate from the data feed; the same broker can supply both, or two different providers can. Confirm it by sending one manual one-contract order from the chart trading panel and watching the fill return.
- Automation mode. The automation mode decides what happens when the strategy's position and the broker's actual position disagree, for example after a rejected order or a disconnect. MultiCharts offers a mode that keeps the two in sync and a mode that lets the strategy continue on its own signals; the sync mode is the one to start with. Confirm it by running the strategy on one contract while you watch the first few orders.
Only after all three checks pass should the strategy run without you at the screen. Each check costs one round-trip commission and a few minutes; a mismatch found later costs much more.
How much does MultiCharts cost, and how steep is the learning curve?
The total cost of MultiCharts is the licence plus a data feed plus broker commission and exchange fees plus a machine that stays on, and the learning curve is measured in weeks of reading the PowerLanguage reference and the backtest settings, so budget both money and time before deciding. Read every amount from its official page or your broker statement on the day you decide, because all of them change.
- Licence. MultiCharts sells a one-time licence and a lease paid per period. Some brokers also supply a broker-tied build to their customers; the breakdown of MultiCharts licensing, data and fee costs explains how the broker build and the full licence differ.
- Data feed. Paid monthly to the data provider or broker. Historical depth matters here: a short history limits how far back a backtest can run.
- Broker commission and exchange fees. Charged per contract per side. These are the same numbers you should type into the strategy properties, so take them from a real statement.
- A machine that stays on. Automation only runs while MultiCharts is open and connected, which means a dedicated desktop or a rented virtual server.
On time, plan for the PowerLanguage reference, the strategy properties dialog and the session templates as three separate topics, each a few evenings. A trader who codes already shortens the first; nobody skips the other two.
How does MultiCharts differ from TradingView and other alternatives?
MultiCharts, TradingView and TradeStation differ in where they run, which language they use, whether finer intrabar data is available in backtests, and how orders reach a futures broker; the right choice follows from how you research and where you execute. The table states the differences as facts, without ranking.
| Feature | MultiCharts | TradingView | TradeStation |
|---|---|---|---|
| Where it runs | Windows desktop | Browser and apps | Windows desktop, tied to the TradeStation brokerage |
| Strategy language | PowerLanguage | Pine Script | EasyLanguage |
| Intrabar backtest detail | Bar Magnifier with finer data | Finer intrabar data on higher plans | Finer intrabar data option in the strategy settings |
| Order routing | Many brokers through plug-ins | Selected brokers through connectors | Integrated broker |
| Where the bars come from | A feed you connect yourself | Supplied by the platform | Supplied by the brokerage |
The practical reading: if you want to pick your data vendor and your broker separately, MultiCharts is built for that. If you want charts that open on any device and draw their bars from the platform's own feed, that is TradingView's design. If you want the broker and the platform to be one account, that is TradeStation's. Many traders use two of them, one for looking and one for executing. The wider field, including platforms that need no code at all, is covered in the comparison of platforms that automate trading without code.
How does a PowerLanguage strategy get from the editor to a live MultiCharts chart?
A strategy arrives in MultiCharts as PowerLanguage source, is compiled in the PowerLanguage Editor, is inserted on a chart with the same bar size, session, commission and slippage that the research used, and is first run as one-contract automation. Every one of those four settings must match the research settings, or the live chart tests a different strategy from the one you studied.
- Bring in the source. Paste or import the PowerLanguage file into the PowerLanguage Editor as a new strategy. If your rule was found in AlphaPrime, the supported-platform list for strategy export shows MultiCharts (PowerLanguage) among the six targets the source code can be written for, so this step starts from a file rather than a blank editor.
- Compile. The editor reports errors by line. A clean compile means the syntax is accepted, not that the logic is right.
- Insert on a matching chart. Open a chart with the same symbol, bar size and session template the research used. In the strategy properties, enter the same commission and slippage and the same fill rule. The step-by-step guide to importing a strategy into MultiCharts walks through this dialog field by field, and the PowerLanguage comparison checklist for generated strategies lists the settings to align and the usual reasons two reports differ.
- Run one contract. Turn on automation in sync mode with one contract and watch the first few signals become orders and fills before you leave it alone.
Your next step: open the strategy properties of a strategy you already trust in MultiCharts, write down its commission, slippage and fill settings, and then run the same strategy with slippage doubled. If the report still shows a positive average trade after that one change, the setting you chose was not carrying the result.
Frequently asked questions
Can MultiCharts automate futures trading?
Yes. MultiCharts sends strategy orders to a futures broker through a broker profile and keeps the strategy position and the broker position in step through its automation mode. The data feed, the broker connection and the automation mode are configured separately. Automation runs only while the program is open and connected, so it needs a desktop or virtual server that stays on.
Where does MultiCharts get its price data?
From a data feed you choose and add in its QuoteManager, paid for separately from the licence. The depth of history the feed offers sets how far back your backtests can go. The same broker can often supply both the bars and the order routing, but they are still two connections inside the program.
What is the difference between MultiCharts and TradeStation?
MultiCharts is a standalone Windows program that connects to the data feed and broker you pick, and it uses PowerLanguage. TradeStation is a Windows platform tied to the TradeStation brokerage, which supplies the bars and routes the orders, and it uses EasyLanguage. The two languages are close, so many strategies move between them with small changes.
What does Bar Magnifier do in MultiCharts backtesting?
Bar Magnifier loads a finer data series under the chart's bars, for example 1-minute bars inside a 60-minute chart, so the backtester can see the order of price moves inside each bar. This matters when a stop and a target could both be hit in the same bar. Without it the engine must assume which came first, and that assumption can change the result.
References
- 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. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.

