Skip to main content

Using MultiWalk with TradeStation, MultiCharts and Interactive Brokers

Using MultiWalk with MultiCharts

You will need a TradeStation account In order to use MultiWalk for MultiCharts.  MultiWalk does not run directly within MultiCharts.  Many people have created a TradeStation just to run MultiWalk.  You can then perform all your strategy development and testing using MultiWalk in the TradeStation environment.  You can even use TradeStation’s data feed in MultiCharts, removing the need to subscribe and pay for a data feed in MultiCharts!

EasyLanguage/PowerLanguage Code

TradeStation’s EasyLanguage strategy is highly compatible with MultiChart’s PowerLanguage.  To ensure compatibilty, enable this option in MultiWalk:

MultiWalk Cross-Platform Functions for MultiCharts and TradeStation

MultiWalk Pro comes with a set of functions that can be used in strategies so that they will run on both trading platforms.  They are included in the MultiWalk Pro Pack.  They standardize some functions that have different names between the two platforms as well as offer more efficient functionality (especially those functions running in TradeStation).  I have written them so that they are compatible with both platforms.  These functions begin the name MultiWalk. Some examples of cross-platform functions:

TradeStation Open EasyLanguage Document list of Function studies named MultiWalkCloseD, MultiWalkHighD, MultiWalkOpenSession and similar

Import for MultiCharts:  MULTIWALK FUNCTIONS FOR MULTICHARTS.PLA

TradeStation, MultiCharts and Interactive Brokers

First, a call-out to David Shuvalov ([email protected]) with many thanks.  He added much information from his own hard-earned experiences with MultiCharts and TradeStation and brought the documentation up-to-date with the current version of Interactive Brokers Workstation and Gateway.  The result is a collaborative effort in this knowledge base article.  Thank you, David!

Starting The System

See this quickstart video by MultiCharts

If you want to use TradeStation’s data feed in MultiCharts, you’ll need to run both TradeStation and MultiCharts and configure MultiCharts to use TradeStation’s data feed.

  1. Start TradeStation in administration mode and login
  2. Start Interactive Brokers Workstation or Interactive Brokers Gateway
  3. Start MultiCharts in administration mode
    1. If you have not done so previously, connect to the TradeStation data feed (see Connecting TradeStation Data Feed below)
    2. Connect MC to IB
    3. MultiCharts Trade Bar with the Interactive Brokers tab right-clicked and Connect Interactive Brokers selected
TradeStation Data Feed And Symbols
Connecting TradeStation Data Feed

Using MultiCharts QuoteManager:

MultiCharts toolbar with the Open New QuoteManager Window button highlighted

MultiCharts QuoteManager Tools menu with Data Sources... (Ctrl+D) highlighted

MultiCharts Data Sources dialog with TradeStation selected and the Settings... button highlighted

MultiCharts TradeStation Data Feed Configuration dialog set to TradeStation Version 10.00.00 with Save data to local database checked

Adding TradeStation Symbol

MultiCharts QuoteManager Instrument menu, Add Symbol, From Data Source submenu with TradeStation... highlighted

TradeStation Insert Symbols Into Portfolio dialog on the Future tab with root @CL and an Information box reporting 1 instrument(s) added

When you load a chart using the symbol, MultiCharts will request data from the TradeStation server.  This is SLOW.  It took 8 minutes to load a 15min CL chart from 2010-2023.  You can monitor the progress using MC’s QuoteManager:

MultiCharts QuoteManager Event Log, highlighted, showing TradeStation history requests for @CL 1 Minute Trade downloading quotes

Defining the IB Trading Account

You will need to define the trading account in both IB’s brokerage profile and for each strategy.

Defining IB trading account in brokerage profile

This only needs to be done one time for the brokerage profile.

MultiCharts Interactive Brokers tab menu with Edit Profile Interactive Brokers selected

Interactive Brokers Properties dialog, Financial Advisor Settings tab, with Single Account Allocation selected and the Account field filled in

Defining IB trading account for each strategy

This needs to be done for every strategy you trade in MultiCharts.

MultiCharts chart right-click menu with Format Signals... selected

MultiCharts Format Objects dialog, Signals tab, listing a test strategy with the Properties... button circled

MultiCharts Strategy Properties dialog, Auto Trading tab, with Interactive Brokers chosen under Select Broker Plug-in and its settings gear circled

Then define the allocation account:

Interactive Brokers Properties dialog, Financial Advisor Settings tab, with Single Account Allocation selected for the strategy account

Configuring Interactive Brokers

The MultiCharts/Interactive Brokers interface can be accomplished in two ways:

  1. Using TWS (IB Traders Workstation) standalone software
  2. Using IB Gateway

Option #1 is better because it has the entire trading GUI interface to track and confirm trade status and/or correct trades.

Option #2 is better because it is more lightweight on the system and does not have the overhead of TWS.

Note that both options require a daily reset but there is an option to “Auto Restart” at a chosen time, within Global Configuration. If this option is selected, you will still be required to enter in your log in details at least once a week.

Interactive Brokers Trader Workstation Lock and Exit settings with Auto restart selected at 06:45 AM

Interactive Brokers Symbol Mapping

Symbols must be mapped from TradeStation data feed to IB symbols in order to trade that symbol at IB.

When your data source is not the same as your broker (as in yourthis case – data source is TradeStation and broker is IB), you need to use symbol mapping to map chart (data source) symbols to broker symbols for trading.

See the How to Set Up Symbol Mapping guide.

Note that if you use continuous futures from TradeStation, they should be mapped to front-month IB contracts. Continuous IB contracts are not tradable.

The symbol quote multiplier (if necessary), session hours, etc., must all be set up correctly.  You will need to know the symbol names used in both TradeStation and Interactive Brokers in order to map TS symbols to IB symbols.  See this guide to symbol names used by IB can be found here:

Adding Data Multipliers

If the data stream coming from TS does not match the brokerage data quote decimal precision expectations, the data may need to be adjusted using MC’s multiplier – a multiplier that is appended to the end of the description:

MultiCharts QuoteManager symbol list with yen, coffee and orange juice futures descriptions ending in *0.01 highlighted

For example: the changes to make the TradeStation Yen compatible with IB need to be made in the Description by adding “*0.01” at the end, as well as changing the Big Point Value and the Price Scale in the Settings Tab. Please remember this needs to be updated for each roll.

MultiCharts Edit Symbol dialog for @JYZ24 on the Futures tab with the Description field ending in *0.01 MultiCharts Edit Symbol dialog for @JYZ24, Settings tab, with custom Price Scale 1/10000000 and Big Point Value 12500000

For the avoidance of doubt, the Min Movement should remain unchanged. For instance, imagine that ES prices were 100 times higher at TradeStration (at roughly 400.000) than at IB (the market) (4.000), the ticks (= min. move * scale) should be reduced from 25 (which would be its value at TS in this example) to 0.25 (its “real” value). This would require to change the scale from 1/1 to 1/100 (without changing the min. move, i.e. 25).

If you need to look up an IB symbol to determine the multiplier they use, open TWS (IB Traders Workstation) and enter the symbols ticker:

Interactive Brokers Trader Workstation order entry with symbol JPY typed and the Futures entry circled

Enter the symbol (such as JPY above) and hit ENTER. A box will appear below showing all the possible matches. Click “Futures”.

Interactive Brokers Trader Workstation JPY futures contract list with More/Multiple circled

Interactive Brokers Contract Selection window for Japanese yen with the Trading Class 6J, symbol 6JZ2 and multiplier 12500000 circled

In TradeStation you’ll see the multiplier used is 125000. So a factor of 0.01 needs to be used to adjust this data for IB.

TradeStation Customize Symbol Properties tab for @JYZ22 with Price Scale 1/100000, Min Move 5 and Big Point Value 125000 highlighted

Configuring Kevin Davey’s Strategy Settings in MultiCharts and TradeStation

To be consistent with Kevin’s preferred Strategy Settings for Backtest and Automation you need to choose the following Strategy Properties in both MultiCharts and TradeStation.

MultiCharts:

MultiCharts Strategy Properties dialog with the Auto Trading tab selected

MultiCharts Strategy Properties Auto Trading options with Async Mode (AA) and Assign Initial Market Position From Chart selected

TradeStation:

 TradeStation Strategy Properties for All Strategies on this Chart, Automation tab, showing the Strategy fill logic options

MultiCharts:

MultiCharts Strategy Properties dialog with the Backtesting tab selected

MultiCharts Strategy Properties Backtesting Assumptions with Fill limit order when trade price goes beyond limit price by 1 tick selected

TradeStation:

TradeStation Strategy Properties General tab with Fill entire order when trade price exceeds limit price selected

Troubleshooting

Expected Mis-matches

In the Order and Position Tracker window, there is a Positions Match column on Strategy Position tab. It shows you if a strategy position and net position at the broker are the same or not: True (the position at the broker matches the strategy position) or False (the position at the broker does not match the strategy position) status.

Unlike TradeStation, MutliCharts does not check the Strategy Position at a portfolio level, rather only at unique symbol (per broker) and strategy.

As such, MultiCharts requires some additional thought in managing Strategy Positions.

MultiCharts Order and Position Tracker, Strategy Positions tab, with Positions Match True or False per strategy and the Hide Flat Strategy Positions button

The two solutions that I have found helpful is:

  • Hiding flat positions so the number of strategies to check are reduces
  • Exporting the Strategy Positions to CSV and doing the calculation yourself. This task can be easily automated with a little be of coding.
Setting up MC and Interactive Brokers Tutorials/Resources

https://www.multicharts.com/trading-software/index.php?title=Interactive_Brokers_Broker_Profile

Connecting to Interactive Brokers data feed:

TradeStation connection issues

If you get the pop-up window:

TradeStation Client Access Layer warning: TradeStation/ORCAL already in use.. closing down!

Or you are trying to load a symbol a chart and get a blank chart with the message “Establishing connection…”

Then try the following:

  1. Exit both TradeStation and MultiCharts.
  2. Start TradeStation as an administrator.  Type “tradestation” in Windows Start box:

Windows Start search for tradestation with the TradeStation App as the best match

Right-click on “TradeStation App” and select “Run as administrator”:

Windows Start search result menu for TradeStation App with Run as administrator highlighted

Start MultiCharts and try to load your chart again.

Getting stuck on “backfilling…”

There have been times that a chart just never completes data retrieval in MultiCharts. It gets stuck forever on the “backfilling…” message:

MultiCharts chart title bar for @HGZ22 30 Minutes showing the Backfilling... status highlighted

The way that I have fixed this is to do the following:

  1. Load the exact same symbol/time frame in TS and wait for the PD to disappear/complete. You may need to do a Ctrl-R on the chart to ensure all data is loaded.
    1. TradeStation Chart Analysis window for @HGZ22 30 min with the PD (pending data) indicator while data loads
  2. Go back to MultiCharts and close the workspace containing the “stuck” chart. (I wasn’t able to simply do Ctrl-R at this point in MC, it just seemed to be ignored while in this “stuck” state).
  3. Re-open the workspace and the backfill should complete.

One quick way to tell if the chart is stuck or still backfilling data is to move the scrollbar to the left of the chart.  If it keeps “shrinking” or moving, then the chart is still backfilling data.  If data is no longer appearing on the left of the chart and scrollbar is static, the chart is stuck…

MultiCharts @HGZ22 30 Minute chart still backfilling, with the scrollbar at the bottom highlighted to check whether it keeps moving

You can also watch the event log in QuoteManager, although I can’t always tell if it is stuck or still updating:

MultiCharts QuoteManager with the Event Log highlighted showing @HGZ22 1 Minute Trade history downloads from TradeStation

Data Discrepancies

There are times where the data within MultiCharts does not reconcile with the same symbol in TradeStation. I have noticed this when there has been a contract roll and MultiCharts does not reload the new continuous contract but keeps the historical data it had collected on the previous continuous contract. There may be other reasons such as TradeStation correcting data etc.

Regardless this can happen, and it is not obvious if it has occurred unless you notice a discrepancy in the signal between TradeStation and MultiCharts on the same strategy.

As a precaution, you can follow my steps to ensure that MutliCharts is storing the latest data:

  1. Close TradeStation.
  2. Close all charts in MultiCharts.
  3. Open QuoteManager and on the TradeStation symbol, delete Cashe and delete Data.
  4. Open TradeStation (in administrator mode).
  5. Reload all charts in MultiCharts and wait for the strategies to backfill.

If an issue is identified you can also delete the symbol entirely and re-add it.

Other known issues that can relate to these discrepancies are:

  • Antivirus software as they are known to interfere with processes of other applications.
  • Check same TradeStation version as specified in QuoteManager → Tools → Data Sources → Trade Station→ Settings.

If the issue persists, try clearing the TradeStation cache (see instructions to clear cache here).

Table of Contents