Reasons of Order Rejection

From MultiCharts
Jump to navigation Jump to search

It's common for a customer to expect an order to be executed when it is sent from MultiCharts, however, it can be rejected because of incorrect settings in MultiCharts or because of a broker's requirement not being met.

In most cases you can find the reason it was rejected in the Logs tab of the Order and Position Tracker (see Logs Tab). Below are the most common reasons for rejections, their description and explanation of how a customer can fix them to make an order be successfully submitted to a broker.

No Security Definition Has Been Found For This Request

This rejection message occurs when a user has incorrect Symbol Mapping settings.

Since MultiCharts can work with multiple data feeds and brokers, and most of these have a unique instrument symbology and a set of required parameters for a correct order placement, there is a way the software can automatically set up a correct symbol mapping between the same symbols from different sources with different names and exchanges.

However, symbol mapping should be set up manually if the data source of the chart symbol and brokerage of the broker symbol are different.

Example: @ES from IQFeed -> ESU2 from IB
Note: Symbol mapping between the IB symbol on the chart and the IB symbol at the broker is set up automatically and correctly only if you have added the symbol via symbol lookup (see Adding Symbol from Data Vendor Supplied List).

The Price Does Not Conform To The Minimum Price Variation For This Contract

This rejection message occurs when there is an incorrect combination of Price Scale and Min. Movement in the symbol's settings of the broker instrument.

If the settings are not correct, an order can be sent with a price that is not accepted on the broker's end, since for this particular symbol there is no such price.

Example: You cannot place an order to buy at 1,650.01 for ES symbol, since the nearest available prices for this symbol are 1,650.00 and 1,650.25.

In order to resolve the issue, please follow these steps:

  1. Re-add the instruments for both data provider and broker using the Data Vendor Supplied List. This is extremely important because most of the data providers supply the correct instrument settings via their API which are received when the Data Vendor Supplied List (Lookup) is used.
    Note:If you are unable to do that - find out how the symbol updates:
    Example 1: If the symbol's price changes from XXX.00 to XXX.05, it means that the Price Scale should be 1/100 and the Min. Movement should be 5.
    Example 2: If symbol's prices changes from X.123450 to X.123460, it means the Price Scale should be 1/1000000 and the Min. Movement should be 10; or the Price Scale should be 1/100000 and the Min. Movement should be 1.
  2. Open QuoteManager;
  3. Find the broker symbol, right-click on it and select Edit Symbol;
  4. Click on the Settings tab;
  5. Write down / remember/ do a screenshot of the Instrument Settings: Price Scale, Min. Movement, Big Point Value. Click OK;
  6. Find the data provider symbol, right-click on it and select Edit Symbol;
  7. Click on the Settings tab;
  8. Set the Price Scale, Min. Movement, Big Point Value same way they are set for your broker instrument. Click OK;
  9. Rebuild the chart you were using (plot a new chart or close/open your workspace) to make the settings come into effect;
  10. Disconnect the broker profile and open the Symbol Mapping window.
  11. Delete all lines where this particular symbol is used;
  12. Configure the symbol mapping for this instrument anew;
  13. If a new order is placed with an incorrect price, it's price will be rounded to the nearest acceptable value.