Login Page - Create Account

Support Board


Date/Time: Sun, 19 May 2024 06:12:13 +0000



Post From: Bracket order and OCO order between Lmax and Sierra

[2018-09-01 14:40:24]
Sierra Chart Engineering - Posts: 104368

* Since the SL/TP are not attached to the trade, you can have side effects. For instance, on a couple occasions, I closed manually my order very near to the SL or TP, and the server didn't have the time to close its own SL/TP before it was executed,
We definitely do not agree that this is a side effect. This is simply the result of your target or stop order executing at the same time you are sending an order to offset the current position. LMAX cannot do any better with this. Perhaps slightly better due to timing but it can still and will happen even if using LMAX managed target and stop orders.

But the timing difference between what LMAX can do and what the Sierra Chart server was able to do is very negligible. Less than a millisecond.



We are developing our own exchange functionality which has exchange managed target and stop orders, but this scenario you describe can still happen. And this is in an environment where execution times are down to the microsecond/nanosecond level within the same process. If the target or stop order has filled at the time that those Target and Stop orders are being canceled and an offsetting order has been received, then this will result in a new position.

We think really the only way this could be solved is with an order instruction like BitMex has where it is a reduce only order. But it is still possible, simply due to the multithreaded nature of the exchange functionality, and the fact that order matching is done with extreme performance in a separate thread, without regard to position quantities which are tracked in another thread, that a reduce only instruction is not always going to work perfect and could from the perception of the end user, look like it did not work.

In order for order matching to be extremely fast, it does not involve margin, risk, or positions. All of that is handled on other threads before and after the executions. And we do not think the LMAX disruptor functionality is any different. How could it be.


Have you ever thought about how order matching works. Basically you have a queue orders coming in on one thread and from a network and they have to go through risk and margin checks. And then you have another thread which is going to match those orders. If your target or stop order has been filled and then you have got another order coming in to offset the original position, you are going to simply have a new opposite position.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2018-09-01 14:56:41