Getting Started with AutoTrading

From MultiCharts
Jump to navigation Jump to search

Implementing automated trade execution involves:

  1. Setting Up the Order Execution Gateway, and
  2. Setting Up Auto Trading in MultiCharts


Setting Up the Order Execution Gateway

Please choose the order execution gateway and follow the instructions.


Setting Up FXCM

Please refer to FXCM's documentation.


Setting Up Interactive Brokers TWS

  1. Install a standalone version of Trader Workstation according to the instructions provided by Interactive Brokers.
  2. Start Trader Workstation and log in using a user name and password provided by Interactive Brokers.

    Important: It is strongly recommended that automated order execution process is initially extensively tested using a Simulated Account. Testing strategies and automated order execution using a real account can result in a substantial financial loss! All Interactive Brokers clients with a real trading account also receive a simulated trading account that provides real-time data and enables traders to and test the functions and features of the Trader Workstation platform.

    In addition, Interactive Brokers provides a Demo Account that is accessible by people who aren't clients. A demo account supports only some of the symbols, has limited historical data, and provides delayed quotes.
    The user name is edemo and the password is demouser.
  3. In Trader Workstation, click the Configure icon on the toolbar, or click Configure in the main menu.
  4. Click API and then select the Enable ActiveX and Socket Clients check box.


Setting Up Patsystems

Please refer to Patsystems' documentation.


Setting Up Rithmic 01

Please refer to Rithmic's documentation.


Setting Up Rithmic Test

Please refer to Rithmic's documentation.


Setting Up Trading Technologies

Please refer to Trading Technologies' documentation.


Setting Up Zen-Fire

Please refer to Zen-Fire's documentation.


Setting Up AutoTrading in MultiCharts

  1. Determine the symbol to plot on a chart. In QuoteManager, verify that that the Price Scale, Min Movement, and Big Point Value settings for the symbol are correct. MultiCharts will have the correct settings for most of the symbols, but it is not possible to cover every symbol. If these settings are not correct, then the chart will not plot properly and orders may be rejected by the execution gateway. To learn more, see [[LINK /101-01_SettingIndProp.html name=""; |Setting Properties]].
  2. Create a chart of the necessary symbol. To learn more, see [[LINK /22-0100_CreatingChart.html name=""; |Creating Charts]].
  3. Add the necessary signals to the chart. To learn more, see [[LINK /0270_Indicators/22-7000_Studies.html name=""; |Using Studies]].
  4. Set signal and strategy properties. To learn more, see [[LINK /0270_Indicators/22-7006_SignalSettings.html name=""; |Signal Settings]] and [[LINK /0280_Backtesting/22-8003_StrategyProp.html name=""; |Strategy Properties]].
  5. Open the Strategy Properties window.

    To open the Strategy Properties window:
    1. Open the Format Objects window.

      To open the Format Objects window, right-click on an empty area of the chart and then click Format Signals.

      The Format Objects window can also be opened by one of the following methods:
        - Select Format in the main menu and click Signal.
        - Double-click any one of the signal's labels on the chart.
        - Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer Pointer.png changes into a Hand Hand.png, right-click the label and then click Format Signals.

    2. Select the Signals tab.
    3. Click Properties to open the Strategy Properties window.

  6. Select the Auto Trading tab.
  7. Select the Require order confirmation check box to have the opportunity to confirm or reject each order before it is sent to the execution gateway.
  8. Select Replace to Market Partially Filled Orders check box to automatically convert the remaining portion of a partially filled limit order into a market order. For example, there is a sell limit order above the market price for 10 contracts. The trading price touches the sell limit price, but pulls back. Six of the contracts are filled and the remaining four contracts are unfilled. MultiCharts will convert the sell limit order for the remaining contracts to a sell market order at the close of the bar. (e.g., If the chart is plotting 5 minute bars, then the remaining portion of the limit order will be converted to a market order at the close of the 5 minute bar.)

    Note: As long as there is a partially filled order, MultiCharts will always convert the order as described in this step regardless of any settings that are in Unfilled Strategy Order Replacement. If the order was not partially filled and Unfilled Strategy Order Replacement was turned on, then MultiCharts will convert the order according to the settings in Unfilled Strategy Order Replacement.

  9. Select the Show order execution status check box to have a status message displayed every time an order is sent, canceled, filled, or rejected, or any other informational message is received from the gateway application.
  10. Select the Audio Alert check box and choose a sound file to activate an audio alert every time a notification window appears.
    To learn more, see [[LINK Selecting an Alert Sound File]]
    Selecting an Alert Sound File:
    1. Enter the path and name of the wave (.wav) sound file to be used into the File text box, or click the ... ellipse.gif button on the right side of the text box for Open dialog box, navigate to and select a sound file, and click the Open button.
    2. Click the Test button to test the alert.
    3. Select Play Once or Repeat for the alerts to be played once or repeatedly, respectively.
  11. In the Mode Selection section, there are two options: synchronous and asynchronous [[LINK /0295_AutoTrading/02-9501_AT_Understanding.html name=""; |mode]].
    1. Select Entries/Exits are based on the execution confirmation by the broker (Sync) option for synchronous auto trading mode (SA).
    2. Select Entries/Exits are independent of the execution confirmation by the broker (Async) option in the Mode Selection section for Asynchronous auto trading mode (AA). If AA is selected, two group boxes become available.

    Unfilled Strategy Order Replacement
    This feature gives the strategy the ability to automatically convert limit orders or stop orders into market orders after a certain period of time.
    • Select Convert unexecuted limit or stop entry orders to market orders check box to convert unexecuted limit or stop entry orders to market after a specified number of seconds. Enter the number of seconds in the list box.
    • Select Convert unexecuted limit or stop exit orders to market orders check box to convert unexecuted limit or stop exit orders to market after a specified number of seconds. Enter the number of seconds in the list box.
      Note: The waiting period for converting unfilled limit or stop orders to market orders must be less than the duration of a single bar.

      Note: As long as the order is completely unfilled, MultiCharts will always convert the order as described in this step regardless of any settings under Replace to Market Partially Filled Orders. If there is a partially filled order and Replace to Market Partially Filled Orders was turned on, then MultiCharts will convert the order according to the settings in Replace to Market Partially Filled Orders.


    Assign the Initial Market Position at the Broker Settings
    To learn more, see [[LINK /0295_AutoTrading/02-9503_AT_Working.html name="10"; |Synchronization of Market Position in Auto Trading Mode]].
    • Select Show the Assign the Initial Market Position at the Broker radio button to display a dialog box to input the initial position and average entry price. This dialog box will appear when auto trading is turned on in the chart (see last step).
    • Select Do not show the Assign the Initial Market Position at the Broker radio button to set the initial position here instead of in the dialog box.
      There are two choices:
    • Select Assume the initial market position at the broker FLAT to set the initial position to 0.
    • Select Assume the initial market position at the broker the SAME AS on the CHART to set the initial position to the position that's on the chart.
    Note: Synchronization of the Market Position in the Auto Trading Mode may not work correctly if pyramiding was used in the strategy. It may also not work correctly if more than one active entry was generated on a chart when auto trading is launched. The reason for this limitation is that dialog window is set up to define only one active entry.
  12. Choose the broker/gateway from the list box in the Select Broker Plug-in section.
  13. Click Settings.
  14. Input the settings for the appropriate broker/gateway.
    • Broker Plug-In Settings for FXCM
      • Account Settings Tab: Please get the Login, Password, and Account information from the broker. In the Connection setting, select Demo to connect to the demo account or Real to the real trading account.
        Note: Due to FXCM's restrictions, MultiCharts will not send limit or stop orders to FXCM. All limit or stop orders will be sent as market orders.
      • Symbol Dictionary Tab: If the data source is different from the execution gateway, it is possible that they do not use the same symbol for the same contract. In this situation, the chart, because it is plotted from the data source, will send an order using the data source’s symbol. The execution gateway will not understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this problem by matching the symbol from the data source to the symbol from the execution gateway. The table has two columns. Input the symbol from the data source under the Chart column. Input the symbol from FXCM under the Currency Column.
    • Broker Plug-In Settings for Interactive Brokers TWS
      • General: By default, MultiCharts disables auto trading immediately if connection with the execution gateway is lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect the strategy. The disconnection may also be a scheduled disconnection by the execution gateway, and the intention is to have auto trading on when the connection is reestablished. The Connection setting keeps auto trading on unless the disconnection lasts longer than the time period specified.


When TWS loses its connection with MultiCharts while auto trading is on, MultiCharts will try to reconnect with TWS every 10 seconds until the connection is established or auto trading is turned off.


Note: If TWS is closed, MultiCharts cannot start TWS and automatically log into TWS for the user.


MultiCharts will not reconnect with TWS in the following scenarios:

        • Interactive Brokers is used only as the broker and another provider is used as the data feed
        • The strategy sent an order while TWS was disconnected
      • IB Settings Tab:
        The Server, Port, and ClientID settings under the IB Settings tab are detected automatically. The settings need to be changed only if Trader Workstation and MultiCharts are running on different computers. For the correct settings consult the system administrator.
        The Order Settings section is for specifying Time in Force, Settling Firm, Clearing Account, and All or None Execution settings for the orders. Time in Force determines the life span of the order before the order is cancelled. The Settling Firm and Clearing Account fields are institutional settings. Institutional account holders should contact the broker for the correct settings. All or None Execution determines whether partial fills in entry and exit orders are permitted.
      • Symbol Dictionary Tab:

        If the data source is different from the execution gateway, it is possible that they do not use the same symbol for the same contract. In this situation, the chart, because it is plotted from the data source, will send an order using the data source’s symbol. The execution gateway will not understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this problem by matching the symbol from the data source to the symbol from the execution gateway.

        To map a symbol:
      1. Click Add to add a symbol. A new row will be created. The name of the symbol from the data source will populate the Chart column.
      2. Enter the root of the symbol that the execution gateway uses in the Underlying column.
      3. Enter the exchange name that the execution gateway uses in the Exchange column.
      4. Enter the expiration date in the format that the execution gateway uses in the Expiry column. (This field is only required for Futures and Options).
      5. Enter the currency in the format that the execution gateway uses in the Currency column.

Example:

Symbol Underlying Exchange Expiry Currency
ES #F ES GLOBEX 200806 USD



The above Symbol Dictionary example maps the eSignal ES #F (S&P E-mini Future Continuous Contract) symbol to the ES June 2008 contract from Interactive Brokers TWS.



Important: Make sure that the format is YYYYMMDD. The format YYYYMM will not work for all symbols.


To find the expiration date, right click on the symbol in TWS and select Contract Info.

      1. Financial Advisor Settings Tab:

        Interactive Brokers TWS offers a possibility of trading multiple sub-accounts using a single main account. Financial Advisor Settings are optional and can be left blank. Consult Interactive Brokers for information on appropriate settings.
    • Broker Plug-In Settings for Patsystems
    • Broker Plug-In Settings for Rithmic 01
    • Broker Plug-In Settings for Rithmic Test
    • Broker Plug-In Settings for Trading Technologies
    • Broker Plug-In Settings for Zen-Fire
  1. Turn on auto trading. There are two ways to do this.
    • Turning on auto trading on the chart
      • SA Mode
        1. Select the [[LINK /0295_AutoTrading/02-9503_AT_Working.html name="11"; |Auto Trading Status Switch]] and select Automate Order Execution.
        2. Read the disclaimer and click Yes.
        3. The button will turn green which means auto trading is on.
      • AA Mode
        1. Select the [[LINK /0295_AutoTrading/02-9503_AT_Working.html name="11"; |Auto Trading Status Switch]] and select Automate Order Execution.
        2. Read the disclaimer and click Yes.
        3. If Show the Assign the Initial Market Position at the Broker dialogue was selected earlier, then a dialog box will appear.
          Enter the initial market position and average entry price. Then select Yes.
        4. The button will turn green which means auto trading is on.
    • Turning on auto trading from main menu
      • SA Mode
        1. Select Format from the main menu.
        2. Select Automate Order Execution.
        3. Click on the switch and select Automate Order Execution.
        4. Read the disclaimer and click Yes.
        5. The button will turn green which means auto trading is on.
      • AA Mode
        1. Select Format from the main menu.
        2. Select Automate Order Execution.
        3. Click on the switch and select Automate Order Execution.
        4. Read the disclaimer and click Yes.
        5. If Show the Assign the Initial Market Position at the Broker dialog was selected earlier, then the dialog box will appear. Input the initial market position and average entry price. Then select Yes.
        6. The button will turn green which means auto trading is on.
  2. Turn off auto trading. There are two ways to do this.
    • Turning off auto trading from the chart
      1. Select the [[LINK /0295_AutoTrading/02-9503_AT_Working.html name="11"; |Auto Trading Status Switch]] and deselect Automate Order Execution.
      2. If there are orders pending, a dialog box will appear to ask if pending orders should be cancelled. Select Cancel Orders or Do Not Cancel Orders to proceed.
      3. If there are open positions, a dialog box will appear to ask if open positions should be closed. Select Close Positions or Do Not Close Positions to proceed.
      4. The Auto Trading Status Switch will turn gray which means auto trading is turned off.
    • Turning off auto trading from the main menu
      1. Select Format and deselect Automate Order Execution.
      2. If there are orders pending, a dialog box will appear to ask if pending orders should be cancelled. Select Cancel Orders or Do Not Cancel Orders to proceed.
      3. If there are open positions, a dialog box will appear to ask if open positions should be closed. Select Close Positions or Do Not Close Positions to proceed.
      4. The Auto Trading Status Switch will turn gray which means auto trading is turned off.