What happens if stop order is hit when bar updates
Author: boreland
Creation Date: 11/4/2016 3:34 PM
profile picture

boreland

#1
I've run into a serious problem with algorithmically generated stop orders. He is what happens:

On bar update a new stop value is calculated and the stop live order updates as expected. However, the previous stop order is first cancelled and replaced as it is supposed to be. But if the stop is hit at the time the bar updates, the chart (algorithm) thinks it has been hit and thus no new stop order is generated. This leaves you long the position, while the algorithm (red circle on chart) thinks you have excited the position.

This is a real problem as you can appreciate and is a major flaw since there is no communication going on between Fidelity and WLP. WLP needs to check where you are out of the position and if not issue a new stop order. Simply cancelling the stop and hoping blindly that is has be hit before it is cancelled does not work in the real world.

Can you think of a work around for this problem

profile picture

Cone

#2
There's no good solution here, but as a reference to the discussion, see User Guide: Orders > Features and Limitations of Automated Trading > Limitations > AtStop/AtLimit Orders

There are only two options that I can think of:

1. Disable streaming, double click the chart bar where the stop order hypothetically executed, and change the high or low value so that the trigger price is not hit. Re-enable streaming.

- or -

2. Manually exit the order
profile picture

boreland

#3
Understand. Unfortunately, this means you have to watch things very closely which is not always possible. Also the price can move well past the stop level before you can manually exit the trade. Is there any possibility of this getting fixed?

Also, the ability to read the ask and bid price would allow so programmatic action to taken. Perhaps you can put this forward for the IQFeed data.
profile picture

Cone

#4
It's by design, and it won't change.

Long ago, tradeoffs were assessed in making auto-trade work more easily, especially for customers who wanted to exit discretionary positions automatically. Synchronizing with a live account was problematic, especially when considering discretionary entries and exits.

I write this all the time: Auto-Trade isn't a "turn it on and leave" solution. It's great for reducing trading work load and getting orders to the market quickly, but there are several outside factors and native limitations like this one that require you to monitor trading status and take action if necessary.