I have entered the attached orders on Kite at 13:33:25. On Kite it shoows that the ordr got executed without any delays at 13:44.25. However, I check the Quantity Filed in GetPositions(), and if there is any quantity available, I exit these to ensure that I end with 0 Position. Since GetPosition() does not get updated in less than 3 seconds sometimes, I end up with an additional Lot of Options, which creates a huge risk for me. 1. Is GetPosition() reliable and if yes, what is the max time in seconds that updation of Quantity filed should take? 2. If I am trying to exit order which are having more than 2800 lots, I am forced to look at GetPosition(), to ensure that my Quantity becomes 0....Is there any other alternative way to do this?
1. Yes, positions api is reliable. And is updated instantly. However,there might be a few seconds delay sometimes. It's recommended to add some delay between placing orders and checking orderbook/positions.
2. You can save your positions locally and accordingly manage your positions without having to fetch positions again and again.
Sometimes Getposition() takes above 10 seconds....Generally happens during expiry and peak load periods. This causes huge problem for lot sizes for 6000+ . I cant work as per 2, since orders can be rejected at Zerodha/Exchange end for many reasons. Check my orders as per attachment, and you will see how instead of exiting with my position, I ended up with twice the size of my position!
Also, I can work on 2...if you can tell me what is the max delay I can expect for market order in FNO to be executed. Right now I check the quantity in GetPosition() and place subsequent orders in same contract.
2. You can save your positions locally and accordingly manage your positions without having to fetch positions again and again.