This version is a big step forward for our platform. We added a huge feature – real-time portfolio trading through all available brokers!

In this version we also concentrated on dramatically improving individual and portfolio backtesting, making it the most accurate version ever. We added new functionality of a second pass when calculating the portfolio, which opens possibilities like rotational trading, pair trading and other interesting implementations. Portfolio Trader now also has walk-forward optimization and custom fitness function. Read below for more!
Make sure you ask our support if you have any questions.
Contact Support
Wiki for Complete Information on MultiCharts
Report Bugs and Request Features in the Project Management System

NEW Portfolio Trader replaces Portfolio Backtester!

Portfolio trading is a very sophisticated feature that used to be available only in institutional-level trading software. We are very excited to be able to offer portfolio trading to our users as part of the MultiCharts package!

It’s now possible to autotrade a large portfolio of instruments on sim and live accounts through all available brokers in MultiCharts. A huge benefit to people trading multiple instruments is that there’s no need to open individual charts for each symbol to trade.

With this new portfolio trading ability it becomes even more important to accurately backtest your strategies. So we added a ton of improvements to both strategy backtesting and optimization in the individual chart and portfolio settings.

Portfolio Trader – Improvements in Optimization
Portfolio management in MultiCharts has undergone great changes in version 9 – Portfolio Backtester is now called Portfolio Trader. We paid special attention to improving strategy optimization. New and exciting features include:
● Walk-forward Optimization in Portfolio Trader. More info here:
● Custom Fitness option for optimization in Portfolio Trader. More details here:
● Quick Access – open Portfolio Trader from the main menu in MultiCharts through File – New – Portfolio Trader.

Dynamic Currency Conversion for Backtesting
We added the notions of base currency for symbols (exchanges) and account currency. This allows us to correctly calculate profits when backtesting currency pairs or non-US symbols. It enables precise calculations of asset allocation for instruments that are listed in different currencies. For example, stocks in US Dollars and Japanese Yen will be brought to a common denominator and only after that MC will calculate how many shares can be purchased based on Money and Risk Management rules.

All currency conversion takes place behind the scenes to make your life as easy as possible. We use our servers to request data in the background and perform necessary calculations. To make the results as close to perfection as possible, we use actual currency rates for each day.

Interactive Brokers Integration Improvements
Interactive Brokers is one of the most popular brokers among MultiCharts traders. We added support for the new API (TWS version 9.69.01) to improve the connection and added many features:
● IB symbol names now reflect how they are called in TWS
● Now Pacing Violation alert (when too much data is requested from IB) pops up in MultiCharts and this violation is more noticeable to users
● No more “cycling through accounts” for logins with multiple accounts (Financial Advisor, Proprietary Trading Group etc).
● Added new fields for IB accounts (Free Margin, Margin, Net Liquidation, etc). Learn more on our Forum:; and PM:

Recalculate All Studies in One Click
This very convenient feature will save a ton of time during backtesting or while setting up autotrading. Now you can simply recalculate all indicators and strategies with one click, instead of having to turn each one off and on again. More info on our Forum:

Added Status for charts with Merged Data Sources
Now it’s easy to spot charts that have merged historical and real-time data sources. A new indication “Merging of different data sources is on” can be seen in the Format Instrument window.

Horizontal & Vertical Trendlines
Easily draw perfectly horizontal or vertical trendlines by holding down CTRL while drawing a trendline. More info here: and PM:

More Important Features
● Added a new option “Use the actual position at the broker” (under “Do not show the Assign Initial Market Position” in the Strategy Properties Auto Trading tab).
● “Compile on Import” checkbox is enabled by default in the studies import window. More info here:
● Added “Export all available fields” option to the File – “Export data” in MultiCharts. Learn more here:
● Added “Go to Chart” command to the context menu in Order and Position Tracker – Strategy Positions.
● Added 6 Hours, 8 Hours and 12 Hours options for Hourly Bar button under Resolutions toolbar. More info here:;
● Added Arw_Exist(ID) function. More info here:
● It is now possible to add Forex instruments for CSI feed using the lookup functionality.
● Added Solid Blocks option for Volume Delta charts.
● Added new indication of DataServer Mode to the status line of the main MultiCharts window.
● Added a registry key for disabling the logs packing in archives when their size reaches 100 MB.
● Added an option Remove All Visible Drawings to the chart menu. More info here:
● New reserved words introduced: i_setplotvalue and i_getplotvalue. These reserved words allow sending information from a signal to an indicator that will do a plot on the chart. More details here:
● Added an option to search for CQG symbols according to Symbol Root and Description in Insert Symbols Into Portfolio dialog.
● “Use a Static Font Size” option added to Volume Profile settings window.
● Added new keywords Arw_SetLocation_bn and Text_SetLocation_bn.More info on our Forum:
● Added string constants that return currency code.
● Now one can edit fields in Edit Data dialog with a precision of up to 15 characters.
● AutoTrading orders can now be sent if the barstatus value is -1. More info here:
● Each Exchange now has a default Holiday List.
● Expiration Rules functionality has been improved and now one can specify “Next Business Day”.
● GetRTAccountNetWorth is now supported in PowerLanguage. More info on our Forum:
● Improved Time Scale on a chart – more info on our Forum here:
● Improved display of Status Line on a chart in Enable Multiline Mode. Learn more on our Forum:
● Intra-Bar Order Generation mode selectors have been improved.
● It’s now possible to monitor how many tickers are remaining to be scanned under Status Line in Market Scanner.
● Now a single mouse click and double mouse click are recognized by the Status Line elements.
● Manual Trading: Open PnL for currencies on IB broker profile is now calculated based on average value between Ask and Bid or is taken from TWS Accounts tab.
● Market Scanner On Demand data requests (without real-time data) are now optimized.
● Market Scanner: added a registry key to regulate the plotting of the last historical bar of a lower resolution. More info here:
● Maximum Order Position Profit at the broker setting is now removed from the Assign Initial Market position at the broker dialogue window.
● Now a user will get a notification if the physical memory of the system is going to end.
● Millisecond precision is added to the time indication in Order and Position Tracker.
● MultiCharts now works with the studies folder when Windows is in Offline Files mode. More info here:
● New keyword added for returning ExpirationDate value that is received from API.
● Now POC on Volume Delta charts is displayed as hologram surrounding a block with the highest volume.
● Now Performance Report of Portfolio Trader contains the resolution of an instrument info if the resolution of other instruments is different. Learn more here:
● Now Symbol Mapping has Import/Export functionality.
● Now a user will be informed if there is a queue of retained orders that are not yet sent to the broker.
● Now auto trading orders won’t be sent to the broker when auto trading is using “backfilled real-time ticks”.
● Bars on Volume Delta charts with Bid Ask Volume parameter are now displayed as Profile style. Get more details on our Forum:
● Now historical manual orders are connected with Entry/Exit lines like auto trading orders are.
● Optimized CPU usage by MultiCharts.exe process and optimized memory usage by TradingServer.exe process.
● Now if one clicks Cancel during opening the workspace, this particular workspace won’t be opened. More info here:
● Messages are now fully shown under Logs tab in Order and Position Tracker window.
● It became possible to delete a drawing that has been created by a study, without removing the study itself. See the discussion of this issue here:;;
● Now the colors of wicks, Status Line and arrows are differentiated on Volume Delta charts.
● Time and Sales: added an option for turning off Pause. See more details on our Forum:
● Filling the tick data gaps process is now ceased according to a timeout in order to prevent further real-time data stops.
● Now there is no empty API messages related to rejected orders from IB under Logs tab in Order and Position Tracker.
● Now upgrading your MultiCharts won’t change the path to the databases in the registry that the user has specified under Preferences – Directories menu. More info here:
● Now when editing multiple symbols in QuoteManager one will be able to specify Symbol Root.
● One can now add the missing exchange right away when adding a new symbol.
● It’s possible now to place all kind of manual orders even when there is no Bid/Ask price coming from the broker.
● Now the quotes are not re-requested when the number of displayed lines in a Time and Sales window is increased..
● Optimized Trading Technologies data request sent to the data provider server.
● Portfolio Format Strategy window is now resizable.
● PowerLanguage: error message now contains additional info – symbol name and the resolutions applied. More info here:
● “TradeVolume” and “q_TradeVolume” reserved words are now supported. They return the Volume of the Last Price from the chart’s status line.
● The DOM window cells are now resized if text does not fit in them.
● Inputs of applied indicators and signals are now shown in the Status Line. More info here:
● Special utility has been added for gathering log and dump files.
● Tick by Tick Bar Magnifier is now available on Day resolution in MultiCharts 64 bit.
● Time and Sales corrected behavior: the filtering is now applied only after aggregation.
● Improved aggregation in Time and Sales. Learn more on our Forum here:
● Toolbars of MultiCharts window are now shown only on screens that are used by the system.
● “Update on every tick” option is now disabled by default for Pivot High and Pivot Low indicators.
● User Defined Scaling is now saved to the workspace. See the feature requests here: ;
● Volume Delta: Open and Close arrows are now linked to the text.
● Walk-Forward Optimization corrected behavior: MaxBarsBack won’t be counted to determine the possibility of further calculations for Days WFO.
● Walk-Forward Optimization now has improved calculation when splitting intervals.
● The name of the file is now generated automatically when exporting data from QuoteManager.
● When requesting DOM data from the script the requested symbol should be the one that gets real-time (important when using Merge Data functionality).
● CQG connection no longer requires installing the API, as the API is now integrated into MultiCharts.
● That is now possible to “Add Symbol Manually” directly from Format instrument window of MultiCharts for data sources that do not have the Lookup functionality (Free Quotes, MB Trading, Universal DDE).
● An option added to LMAX broker profile/data feed configuration to switch usage of heartbeats for connection loss detection.
● “Use as default” checkbox added to Backtesting tab of the Strategy Properties window.
● “New inputs applied successfully” popup window will no longer be shown after new inputs were applied in the optimization report.
● Added new reserved word Array_contains.
● “Use a Static Font Size” option added to Volume Profile settings window.
● ZenFire data provider and broker now removed from the MultiCharts.
● Now only the actual Time In Force parameters supported by a selected broker are represented in MultiCharts. More info here:
● New option “Show Order on Chart” added to the context menu of Order and Position tracker window for Filled and Pending orders. More information here: ;
● TradeBar now supports switching between the controls using the Tab keyboard button.
● “Not enough data” warning message now appears for WFO optimization if none of the samples matched (IS & OOS).
● Added “Extended Logging” tool. Now one can easily switch between the regular data provider module and the module with extended logging that is used for debugging.
● When one tries to turn on the “Collect Data without plotting” option in QuoteManager while being in offline mode – “Data Server Mode” dialogue window pops up.
● Order and Position Tracker window can now display the “Buying Power” value from Interactive Brokers.
● Charts with Custom Futures instrument and charts with “Merge Data Sources” turned on are now able to obtain DOM data from the script.
● Volume Profile:now K and M abbreviations can be turned off using “Always Show Entire Number” option.


Charting/Data Handling
● ASCII Mapping: timezone settings were not saved when re-opening ASCII Mapping window if the ASCII file itself was located in the root directory.
● A minute chart from ОЕС stopped getting real-time before the session ended.
● Some ticks of the same second were not always saved to the database upon chart close (especially the rollover tick between history and real-time).
● ASCII Import: date was not recognized when Hungarian date format was used.
● Added “Spread” category for ASCII Mapping instruments. More info here:
● Any trading session on OpenECry symbols was ignored.
● Ask and Bid quotes from MCFX data feed in the Status Line erroneously had the same value.
● At the beginning of the trading session there were no real-time quotes coming on Renko charts with Break on Session enabled.
● It was impossible to export instruments with no data and unknown exchange in the Symbol Root.
● IB symbol AHa on СHIXEN exchange didn’t not work.
● Issue with displaying data correctly while plotting CustomFutures on a chart.
● MetaStock data was loading for unacceptably long time.
● No bid/ask data displayed for Sweden Stock VOLV.B from IB.
● No session break on a chart with CustomFutures in Local timezone if the rollover happened in real-time.
● Not all the symbols got reconnected as supposed to after QuoteManager restart.
● Real-time chart on CustomFutures stopped updating at futures rollover. Get all the details of the issue on our Forum:
● Real-time ticks with identical time were not saved to the database.
● There were redundant real-time data request after chart reload.
● Snap Mode was not functioning properly on charts with multiple data series. Learn more here:
● Symbol names starting with lowercase letters were not displayed under Recent Instruments dropdown menu. More details on our Forum:
● Symbols were not disconnected when Collect Data had been disabled. More info here:
● There were no daily bars for the previous day session on $OMXS30 and Sweden stocks from eSignal if a chart had been plotted before the trading session.
● Unstable data streaming if there was an expired symbol in a workspace.
● Volume Delta based on daily data was not ploted and returned No Data.
● Volume Profile was not plotted on bars when applied to a CustomFutures chart.
● When changing Data Server Mode option Collect Data functionality got disabled in QuoteManager.
● When exporting .qmd file one could not set up a specific time for any dates except the last one.
● When one was switching between identical symbols but on different exchanges in Market Scanner that was linked to a chart, the symbol on a chart was not changed.
● eSignal daily data failed to be saved to the database.
● Session Break lines disappeared when changing Bar Spacing.
● There was a gap when requesting EURUSD 1 Tick data from MBTrading for the 6th of March 2014 because MBTrading was sending ticks with zero volume.
● Reloading minute and hourly data of American stocks resulted in enormous volume on the history and real-time border.
● Incorrect “Waiting for data” status in the pre-scanner window when timeout was ended but no data was received.
● Right scroll arrow on horizontal bar did not work when bar spacing was too low (Bar Spacing < 1 ). ● Realtime data stopped after session break on VolumeDelta and other New Chart Types if there was a regular chart for the same instrument. ● Custom Futures got realtime data from an incorrect contract if there were only current and future contacts in the database. ● Down Volume values in MC were different from TradeStation when using 1 Tick resolution (Build Volume on: Tick Count). ● Sometimes ASCII Import window allowed to specify the resolution, while it should not. ● The opening tick of the session was missing for eSignal instruments when Collect Real-Time tick data in the QuoteManager was enabled. ● In some situations indicator scaling was not the same as the instrument scaling when Same as Instrument scaling was selected. More info here:
● There was a situation when an order was plotted on a chart while actually it was not generated by the strategy.
● Volume Profile was built incorrectly when there was data with incorrect time and tick ID.
● TradingTechnologies message “Market Data Request missing MDReqID” was erroneously shown in the logs when there was repeated data subscription.
● Now historical data will not be requested after connection restore when a data source that does not provide historical data is used.
● Daily bar had incorrect date on a chart in a certain scenario.
● MultiCharts is now compatible with TradeStation 9.5.
● In some situations it was impossible to plot a chart for an expired futures contract.

● During backtesting DollarTrailing, BreakEven and PercentTrailing were calculated incorrectly.
● Issue with entering the price manually for some Exit Strategies during manual trading. More info on our Forum:
● Master Strategy worked incorrectly on broker profiles with support of native OCO Group (IB).
● Orders with time-in-force specified as GTC or GTD sent to Patsystems broker had incorrect TIF.
● Stack overflow appeared when connecting to IB broker profile with a great number of open positions (ex. 187 positions).
● Stop-Limit orders failed to convert to market orders during auto trading.
● When highlighting the whole value of the price or offset of some exit strategies: Stop Loss, Profit Target, Breakeven and then entering a new value it was displayed incorrectly.
● When orders got partially filled quickly in several transactions then position desynchronization happened.
● Auto-Attach Bracket orders were placed with incorrect price when reversing position for Avanza broker.
● Password was not saved for the TradingTechnologies broker profile, if it was the only settings modification.
● Now commission rule settings from MultiCharts window have priority over commission rule settings stored in the workspace if there is a template with the same name.
● New version of OEC API is now supported.

● A signal stopped calculating on two tick data series with frequent real-time streaming.
● An error message popped up saying that one lacked Data3 info while in fact Data3 was presented and Data2 was missing in Portfolio Backtester.
● TL_GetValue returned incorrect value if the beginning and the end of a drawing coincided.
● The Backtesting and Forward-testing calculations on several data series were different. Learn more here:
● The wrong error message popped up if the first input of tl_setbegin_bn function was set to -1. Learn more here:
● Study inputs went corrupted in the scanner upon opening a workspace if there were new inputs added in the study code between the old inputs.
● Calculation results in MC 9.0 were different from MC 8.5 when arrays were used in the code.
● GetAppInfo has been extended with a new attribute: aiChartShiftPercent. It returns the ChartShift value in percents from Format Window -> X – Time Scale. The value is updated on the fly.

● After declining Windows shutdown process MultiCharts still ceased functioning and showed a false report.
● Assert popped up and manual entry and exit orders were not connected with a line.
● Assert popped up when trying to delete several lines in Edit Data dialog in Quote Manager.
● Exception popped up when closing a workspace with Order and Position Tracker.
● An error message was possible when a session with multiple breaks was used.
● MultiCharts consumed a great amount of memory and hanged up.
● Renko charts plotted in percentage consumed the full tsServer.
● When opening the script of an indicator in Power Language Editor it consumed almost all the physical and virtual memory of a machine.
● Workspaces were opening for unwarrantedly long time because of the indicators applied.
● Exception when a signal was used in Extended Backtesting mode.
● TradingServer produced exception on MultiCharts start.
● Exception in TradingServer.exe process if position update was received with the empty currency field.
● Sometimes PowerLanguage Editor window became unresponsive after a click on the border of Menu Bar toolbar and the main window frame.
● Sometimes activating workspaces after opening them on start went into a loop with 100% CPU usage.


● Chart Trading controls for historical orders in “Format Chart Trading” window were reversed. More info here:
● Command Line: “.rld glob” didn’t work for identical symbols.
● DOM window sometimes switched to displaying No Data (showing grey background).
● If screens in the system are arranged vertically then Ask/Bid prices were shown on the other monitor.
● Changing Enable Alerts and Alert Conditions Check options on the Alerts tab did not take the changes until the study recalculation.
● If there was a chart with CustomFutures and it was the day of rollover then a trace was added to the log file on each tick.
● Save Image functioned incorrectly when the left Price Scale was enabled.
● Scrolling the groups of symbols in the scanner didn’t work properly.
● Some .NET components produced log files even when the logging was off. Learn more here:
● It was not possible to move or drag some charts with a mouse if there was a great number of open workspaces.
● “Open position” and “Close position” sound alerts were not working.
● Symbols with disabled data feed were displayed in Format Instrument dialog.
● The script was shifted when relocating the cursor.
● When a chart and a scanner were linked, it was impossible to switch between the instruments in the scanner using arrow keyboard buttons.
● Chart style changed when “Show Volume as” was switched for Volume Delta chart.
● Sometimes the dates were overlapping on the Strategy Report graphs.
● DOM window position was not saved correctly to the workspace. More info here:
● An incorrect auto trading ToolTip was shown after changing the instrument on the chart.
● Mouse click went through on a detached chart behind MultiCharts window when clicked on a workspace tab.
● Sometimes text got cut height in the List of Trades (Report window).
● Removed the comma from the end of the header line of the optimization report .csv file.
● “Format Instrument” and “Format Signal” windows can be called by double clicking on an instrument/signal in Portfolio Tree.
● Text selection using a mouse did not work properly in PowerLanguage editor window.