In this article
After this article, you can
- Explain a missing initial SMA using the observations available to its window.
- Record loaded-history start separately from the displayed interval.
Terms at hand: Simple Moving Average (SMA) · Backtesting · Trading Journal · bid and ask (bid-ask prices) · CFD (contract for difference) · Commission
MultiCharts is a trading platform with charting, strategy testing and automation tools. Its PowerLanguage environment is relevant when you already have compatible strategy code or need a particular testing workflow. Check those requirements against the software you currently use before deciding whether a change is useful.
Who is MultiCharts actually for?
One use case is systematic trading: coding rules, testing them on historical data and checking portfolio behaviour. MultiCharts offers Portfolio Trader for testing and executing strategies across instruments. Whether it suits your workflow depends on the required data, code compatibility and portfolio settings.
Write down the missing capability before buying another platform. The MT4 versus MT5 comparison and a TradingView setup can help organise that comparison. MT5 already supports real-tick testing, genetic optimisation, forward testing and strategies using multiple instruments; these features alone do not establish a need to migrate.
PowerLanguage, .NET and the status of Python
Classic MultiCharts uses PowerLanguage and supports EasyLanguage resources, subject to checks of the exact imported code. MultiCharts x .NET supports C# and VB.NET; its Help Center specifies .NET Framework 4.8, so a library’s latest version is not automatically compatible. The purchase page still lists Python in beta, but the Help Center says MultiCharts x Python is no longer actively developed or supported. Confirm the version and support status with the vendor before relying on that environment.
Check the current MultiCharts purchase page for the plan, licence terms and included features. Free provides sample historical data and simulation; Standard adds data-feed and broker connections for manual and automated trading; Advanced includes Portfolio Trader, Matrix optimisation and walk-forward optimisation. Verify the exact edition and plan rather than treating a trial as the permanent free offering. Include any separately required market-data service and broker charges in the budget.
An initial SMA can depend on prices outside the view
The displayed interval and loaded calculation history are different ranges. Check our SMA(3) before treating blank initial values as an indicator error.
Scroll sideways to see the full diagram
Our invented Close series is earlier 92 and 96, then visible 100, 104, 108, 112 and 116 at equal intervals. Our algorithm calculates a mean only when three consecutive observations are available and never replaces missing values with zero. This is not a MultiCharts screenshot or a definition of a specific indicator's default MaxBarsBack. MultiCharts — What is MaxBarsBack confirms that MaxBarsBack specifies the minimum earlier data needed to calculate an indicator or signal.
With earlier history, the first visible mean is (92 + 96 + 100) / 3 = 96. Loading only visible values leaves the first two points without enough inputs. At 108, values 100, 104 and 108 are available, giving 104. MultiCharts documents MaxBarsBack as a required earlier-data range for calculation. A particular script's actual start depends on its logic and settings; do not extend our point count to every indicator. Record both the displayed interval and loaded-history start when comparing charts.
How does a tick backtest differ from a candle test?
A tick test and a bar test can represent different price paths. MT5 can use broker-collected real ticks; MultiCharts documents assumptions when a historical test uses only OHLC bars. Suppose a hypothetical long enters at 100, with a stop at 95 and a target at 108; the bar’s high is 110 and low 90. Both exit levels lie inside its range, but OHLC alone does not reveal which was reached first: the gross result could be +8 or −5 price units under those respective assumed fills. Bar Magnifier uses more detailed history; missing detail can still be emulated from OHLC. Intra-Bar Order Generation controls when strategy calculations and orders occur, rather than supplying missing ticks. Check chart type, data coverage, spread, costs and fill assumptions; neither option guarantees live execution.
Optimisation searches parameter combinations; a genetic search need not examine every combination. A walk-forward workflow repeatedly separates a training window from a later evaluation window. This is one validation method, not a guarantee against overfitting. Decide the windows, search ranges and acceptance criteria before inspecting the evaluation results.
A hypothetical shared risk budget
Consider a hypothetical account with 10,000 PLN of equity and a planned aggregate risk budget of 2%, or 200 PLN. Three simultaneous signals each require 100 PLN of estimated loss at their planned stops. The first uses 100 PLN; accepting the second uses the full 200 PLN budget; accepting all three would use 300 PLN, or 3%. A portfolio rule therefore has to reject, defer or resize at least one signal. These are assumed loss estimates, not margin requirements or maximum possible losses: gaps, costs and correlated positions can change the realised outcome. PLN is the model’s account currency, not a statement about the account holder’s residence.
For a meaningful runtime comparison, match data, code, costs and test settings, then record elapsed time on the same hardware. MT5 can test strategies using multiple instruments without an external portfolio tester. Check how each engine handles simultaneous positions and shared capital before comparing the results.
What does MultiCharts connect to?
Check the vendor’s current data-feed and broker connection lists for the exact service you need. A listed connection does not establish that your account, instrument or order type is supported. If you plan to use Interactive Brokers for live execution, verify the relevant account permissions, connection setup and current pricing rather than assuming an institutional default.
Separate software compatibility from account requirements. IBKR lists a zero minimum balance for individual accounts in its required-minimums table; permissions and margin requirements still apply. Requirements for broker accounts are a different category. Before choosing a platform, test the account and API workflow described in our first steps in algorithmic trading.
MultiCharts versus NinjaTrader — which one for what?
When comparing NinjaTrader with MultiCharts, use your own requirements: supported instruments and broker, required scripting language, portfolio workflow and add-ons. Test an imported strategy instead of assuming compatibility, and verify each connection against the relevant vendor’s current documentation.
Use the same strategy and documented inputs for a comparison. Check whether a difference comes from missing history, bar-path assumptions, costs or order handling before attributing it to backtest quality. A larger simulated profit does not by itself identify the better platform.
What MultiCharts will not do for you
The PowerLanguage editor has its own language rules and execution semantics. Start with a small strategy and verify what instructions such as buy this bar on close mean in your chosen test mode before importing a library. Plan time for a practical backtesting workflow, including data checks, parameter review and result analysis; no universal learning duration applies.
More granular data helps only when its quality and coverage fit the strategy. Check timestamps, gaps, quote type and instrument mapping. For a hypothetical futures roll, suppose the expiring contract has observations 100, 100 and the next contract 110, 110, all in price units. Concatenating them creates changes of 0, +10, 0 and an apparent crossing of 105, although neither individual contract moved between its two observations. An illustrative adjustment that adds 10 to the old segment produces 110, 110, 110, 110: no such crossing remains. This is an explicitly chosen model, not a claimed MultiCharts default. Continuous-series indicators depend on the construction method; actual orders use the tradable contract, with roll trades and cash flows accounted for separately. Budget for the exact data service rather than assuming a paid feed creates an advantage.
Your next step
- Try the appropriate MultiCharts offering from the official site. Open charts, inspect a small sample PowerLanguage strategy and run a controlled historical test. Check the plan’s data and trading restrictions and the trial terms separately. Record which required tasks work; there is no universal number of evenings sufficient to evaluate a platform.
- Cost out the real twelve-month total: the selected MultiCharts plan, required data service, broker charges and any additional tools. Use current offers for your intended instrument and account. Compare the total with the cost of your present workflow; do not assume every setup requires the same paid data package or a four-figure first-year outlay.
- Run one of your existing strategies in parallel on matching data and parameters. Document costs, bar resolution and execution assumptions before comparing drawdowns and losing streaks. Use the result to identify a concrete workflow benefit; a backtest comparison cannot establish that a licence will pay for itself.
- If you are migrating from TradeStation, start with a small control strategy whose expected signals and orders you can calculate. Compare the actual imported code, data mapping and execution semantics before moving a larger library. Compatibility support does not establish that every script or external component works unchanged.
Related reading: thinkorswim — the Charles Schwab trading platform. For a broader operational view of the trader’s toolkit see our platforms section.
Check your understanding
One short exercise
About 2 min · you can try again
Only closes 100, 104, 108, 112, 116 are loaded. Our SMA(3) needs three consecutive values and does not fill gaps. What is its first calculated average?
- 100 at the first visible point.
- 104 at the third visible point.
- 96 at the first visible point.
Check the answer and explanation
104 at the third visible point.
Only then are 100, 104 and 108 available. Their sum 312 divided by 3 is 104.
Frequently asked
Does MultiCharts make sense for a retail forex trader?
What is the difference between MultiCharts and MultiCharts .NET?
MultiCharts or NinjaTrader — which one should I pick?
Sources & bibliography
-
MultiCharts Algorithmic trading features (EasyLanguage, strategy testing, optimisation) · The provider describes its backtesting, genetic-optimization and walk-forward modules. www.multicharts.com ↗
-
MultiCharts Supported brokers and data feeds · The provider's list of supported brokers and data feeds. www.multicharts.com ↗
-
TradeStation EasyLanguage — developer reference · Official reference documentation for EasyLanguage syntax and programming constructs. developer.tradestation.com ↗
-
IQFeed Technical specifications and data coverage · The provider's technical specifications and data-coverage information for IQFeed, including its use with trading platforms. www.iqfeed.net ↗
-
MultiCharts Plans and pricing · Lists Free, Standard and Advanced features and the purchase-page Python beta label; it does not resolve the Help Center’s separate support warning. www.multicharts.com ↗
-
MultiCharts Help Center: PowerLanguage, .NET and Python · Specifies .NET Framework 4.8 and says MultiCharts x Python is no longer actively developed or supported. www.multicharts.com ↗
-
MultiCharts Bar Magnifier · Describes detailed historical replay and OHLC emulation where detail is missing; simulated fills are not guaranteed live fills. www.multicharts.com ↗
