Order Mechanics between NeuroShell Trader and Interactive Brokers

Order Types:

NeuroShell Trader supports only the Market, Limit, Stop, and Stop Limit order types for Interactive Brokers.

All other order types are currently unsupported (i.e. order types like Limit if Touched, Trailing Stop, Market if Touched, etc. are unsupported).

Note that Stop and Limit orders are NOT simulated orders, where by NeuroShell Trader would monitor the price action and send out a market order to your brokerage when the price has been reached. The Stop and Limit orders in NeuroShell Trader are actual Stop and Limit orders that get placed with your Brokerage at the end of a price bar. The brokerage will forward the order to the actual market being traded and the order will sit in the market waiting to get executed until the specified stop or limit price has been reached (or until NeuroShell Trader cancels or modifies the order on a subsequent price bar).

For markets that do not accept stop or limit orders, please contact your Brokerage about how they handle stop and limit orders for that particular market. The brokerage may either simulate the stop or limit order on their computer system or they may simply not accept stop or limit orders for that particular market.

Duration of Orders:

NeuroShell Trader currently places all orders as GTC (Good till Cancelled) with Interactive Brokers. However, keep in mind that NeuroShell Trader will cancel any open orders necessary due to the logic of a Trading Strategy.

Take for example a Trading Strategy setup to place a Limit or Stop order only when the last bars volume exceeds 10,000. In this case, NeuroShell Trader will place the Limit or Stop order with Interactive Brokers when a bar expires with a volume exceeding 10,000. NeuroShell Trader will keep the Limit/Stop order active as long as each successive bars volume exceeds 10000 and the Limit/Stop order has not been filled. However, NeuroShell Trader will send Interactive Brokers a command to cancel the Limit/Stop order on the first subsequent bar with a volume less than 10,000 if the Limit/Stop order has not yet been filled.

Simultaneous Orders

There is currently no support for OCO (One Cancels Other) or OCA (One-Cancels-All) group orders. However, keep in mind that NeuroShell Trader will cancel any simultaneous order pairs that need canceling due to the confirmed order fill of one of the orders.

Take for instance a Trading Strategy that has a simultaneous protective stop and price target limit order exits. In this scenario, NeuroShell Trader will place both a stop order to exit and a limit order to exit with Interactive Brokers. When NeuroShell Trader receives a confirmation that one of the orders has been filled, it will immediately send Interactive Brokers a command to cancel the opposite order of the pair.

Order Fills

Fill prices from Interactive Brokers will be communicated back to NeuroShell Trader for use in the Trading Strategy. Even if price action on the chart makes it appear as if a fill should have occurred, NeuroShell Trader will only actually fill an order and proceed with subsequent trading strategy orders after Interactive Brokers has returned a fill price. If Interactive Brokers does not fill the order, neither will the NeuroShell Trading Strategy. This guarantees that the Trading Strategy will not get out of step with the orders/fills occurring with Interactive Brokers and also allows you to view the actual fill prices and related statistics within NeuroShell Trader.

Partial Fills

NeuroShell Trader will wait until Interactive Brokers returns confirmation that an order is completely filled before proceeding with subsequent trading strategy orders. In the case that an entry order is partially filled when the Trading Strategy needs to cancel an order, NeuroShell Trader will automatically adjust any subsequent order sizes to reflect the partial fill.

Take for instance a Long Entry order for 100,000 shares which has only been filled partially with 20,000 shares at the time that a Short Entry reversal signal to short 100,000 shares occurs. In this case, NeuroShell Trader will send out a cancel message for the Long Entry order. NeuroShell Trader then waits for confirmation that the order is canceled. Once confirmed cancelled, NeuroShell will reverify the final number of shares filled by the Long Entry order just in case more shares were filled between the time of the cancel being placed and the cancel confirmation. NeuroShell Trader will then place a sell order for the long position shares and the desired short position. So in this case a sell order for 120,000 shares would be placed to both exit the partially filled long position of 20,000 shares and take a short position of 100,000 shares.

What is the difference between the Protective Stops tab and the Exit tab with Stop Order selected?

The only difference is that selecting a stop order on the Exit tab will conditionally fire stop orders based upon the exit condition, whereas specifying a stop price on the Protective Stop tab will fire stop orders on every bar if the price changes (canceling the old ones).

So for example a stop price of Sub(High,5) put in the Protective Stops tab would send out a stop order 5 points below the high at the end of each bar while still in a position.

However, a stop price of Sub(High,5) entered under the Exit tab with a condition of volume exceeds 10,000, would only send out a stop order 5 points below the high at the end of each bar in which the volume exceed 10,000 and still in a position. On bars where the volume was less than 10,000, no exit stop order would be placed and in fact if the previous bar had a volume exceeding 10,000, then the old stop order would be canceled.

It should be noted that there is absolutely no functional difference between specifying a stop price on the Protective Stop tab and specifying the same stop price on an exit tab whose order type is selected to be a Stop Order and whose exit condition is always true.

When are Protective Stops and Exit Orders placed relative to the Entry Order:

If the entry is made with a market order, then exit stop and exit limit orders specified on the Protective Stop and/or Exit Tab will be evaluated and fired on the same bar that the entry condition was true. This allows a stop and/or limit exit to be placed at the same time that a market order entry is placed.

However, if the entry is based upon a stop or limit order instead of a simple market order, then the Protective Stop and Exit tabs will not be evaluated and fired until the end of the bar on which the entry order stop or limit was actually filled.

Additionally, if your protective stop or exit uses the entry price indicator or any indicator requiring entry info, then even with a market order entry, the stop calculations will not be evaluated and fired until the end of the bar on which the actual entry fill price occurs and is therefore available for use in the calculation.

Was this article helpful?

Related Articles