Login Page - Create Account

Support Board


Date/Time: Fri, 10 May 2024 06:51:23 +0000



Order price off by 1 tick in replay mode (question)

View Count: 710

[2015-12-22 21:13:22]
onnb - Posts: 661
I am running an automated study that places limit orders. In replay, I am "seeing" that sometimes, the order gets placed one tick off from the price I submit. I am still investigating this but just wanted to check if there are any cases that you are aware of that that might happen?
[2015-12-22 21:30:21]
Sierra Chart Engineering - Posts: 104368
The prices that you set in the s_SCNewOrder structure will be rounded to the nearest tick.

So what is the Tick Size of the chart and what exactly is the value that you set?
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
[2015-12-22 21:40:18]
onnb - Posts: 661
I see this using ES (tick size 0.25) and I set the entry price to BaseDataIn[SC_OPEN][sc.Index]
[2015-12-22 21:41:05]
Sierra Chart Engineering - Posts: 104368
This would seem very unusual then unless the Open array does not contain prices that are to the exact tick size.
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: 2015-12-22 21:41:22
[2015-12-22 21:53:16]
onnb - Posts: 661
ok - I will look some more into the rounding. I'm guessing one way to see this is to use sc.RoundToTickSize and print it to a log. That should be the value you are using to set the order price, yes?

something like this: sc.FormatGraphValue(sc.RoundToTickSize(sc.BaseDataIn[SC_OPEN][sc.Index]), sc.BaseGraphValueFormat).GetChars()


also say that I set order.Price1 = X;
then I call SellOrder(order);
After the call to SellOrder, if any rounding is done by SC, will I see the rounded price in Price1?
[2015-12-22 22:08:33]
Sierra Chart Engineering - Posts: 104368
This will be a good way to determine the value that Sierra Chart will use:

something like this: sc.FormatGraphValue(sc.RoundToTickSize(sc.BaseDataIn[SC_OPEN][sc.Index]), sc.BaseGraphValueFormat).GetChars()


After the call to SellOrder, if any rounding is done by SC, will I see the rounded price in Price1

No because this is done at a later place in the code.
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

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

Login

Login Page - Create Account