Support Board
Date/Time: Fri, 09 May 2025 16:31:03 +0000
Order price off by 1 tick in replay mode (question)
View Count: 825
[2015-12-22 21:13:22] |
onnb - Posts: 663 |
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] |
|
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: 663 |
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] |
|
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: 663 |
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] |
|
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: