Login Page - Create Account

Support Board


Date/Time: Sat, 20 Apr 2024 10:09:09 +0000



Post From: New Super Enhanced Trade Simulation Service

[2021-08-20 21:06:17]
User987654 - Posts: 65
The new screenshots include the ServiceOrderIDs.

The position limit is set using sc.MaximumPositionAllowed and I have yet to see this limit exceeded, so I think it is working properly.

This is my guess; even though 44529 is filled and the quantity has updated to -4, the system still thinks 44529 is open. When 44530 tries to execute, it adds it's -2 to the -2 of 44529 (which is still showing open even though it has filled) and the system cancels 44530 because if both orders execute, then the total position would be -8. If you look at the order in which 44529 and 44530 are "Open" under Order Status, you can see that 44530 (23:17:41:427000) opens before 44529 (23:13:41:427001). Also, 44529 shows that it is open again afterwards at 23:17:41.477.

I've also attached another set of trades executed using the same block of ACSIL code that worked properly. You can see how the timestamps for the properly executed set of trades are sequential in terms of when each OrderID is opened.

My ACSIL study enters 44529 in one block of code and then enters 44530 in the next block of code during the same iteration through the study and then checks for fills/etc. on subsequent iterations. Maybe if the server gets bogged down I am not giving it enough time to update the fill status before I try to execute the second trade? It happens very rarely though, I think only 3 or 4 times in the last week, but when it happens it really throws things off.
imageMalfunctioning Trades.jpg / V - Attached On 2021-08-20 21:04:17 UTC - Size: 263.23 KB - 252 views
imageWorking Trades.jpg / V - Attached On 2021-08-20 21:04:33 UTC - Size: 253.3 KB - 245 views