Login Page - Create Account

Support Board


Date/Time: Fri, 10 May 2024 10:00:13 +0000



[Programming Help] - Detecting Slippage via ACSIL while using Teton Order Routing

View Count: 103

[2024-04-11 16:55:18]
brianmonagha - Posts: 1
Hello,

I am entering the market with a stop order, which, as you know, is technically a stop-limit order on the CME. What I would like to accomplish, is detecting via ACSIL when the fill price differs from that of the original stop order what was placed. I am utilizing the Teton Order Routing Service. And just to be clear - I am not entering the market with a stop-limit order - I am entering with a stop order, and that is getting converted to a stop-limit order by the exchange (in other words, I am not setting the limit price).

I noticed that when my stop-limit order is in the OPEN state, it shows Price1, is the "limit price" (in other words, about 3 points away from my order on ES), and that Price2 is the price where I am placing the order on the chart. However, once the order enters the FILLED state, Price1 is still the limit price, and Price2 is blank. So, in my thinking, I would wait until the order is in the FILLED state, and access Price2 and compare it to the fill price - but it's not possible because Price2 is blank there.

Am I missing something here - or is there a better way to accomplish this?

I did get the detection to work the way I want in the Sim account, but the fields there are not exactly the same as when I am placing real orders via Teton, and it is more difficult to test this on live trading.

Apologies if this question is outside of your scope.

Thank you
[2024-04-12 20:16:16]
ondafringe - Posts: 248
I don't think you are stating things quite right. My understanding is:

When you place a Stop, the exchange does not automatically convert that to a Stop-Limit. It remains on the book as a Stop, but is considered a Stop-with-Protection. Once that Stop is triggered, Protection points are applied, and the Protection point price becomes the Limit price. So the effect is the same as a Stop-Limit, but there's a subtle difference worth noting: With a Stop-Limit, you set the Stop price and the Limit price. With a Stop-with-Protection, you set the Stop price and the exchange sets the Limit price.

And when the Stop order is still Open, TradeOrderData.Price1 should show the price where the Stop order is resting, not the Limit price because there is no Limit price on a typical Stop (see above).

And when the Stop order is triggered and filled, TradeOrderData.Price1 should now show the Fill price.

One way to determine slippage is to just retain the price where you placed the Stop, and then, after the order fills, find the difference between that price and TradeOrderData.LastFillPrice.

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account