@trader29 You are true.
I’m also facing such issue and sometimes even order is getting rejected.
The reason is that Zerodha OMS (TR) unable to handle the request during volatility.
I always say
**Many Brokerage Firm has Large Client base But Zerodha ® Zerodha Only has Large Active Client Base.**means some X Broker may have 10 lacs client base but only very few say 5000 or 10000 may trade, but in Zerodha almost all of their clients actively trading.
@nithin has already explained in a discussion that their OMS (TR) has capacity to handle only 1000 request/sec.
So here is what happening during volatility.
Suppose at 11:10:15, some bad news out and people are reacting to that news which resulted in increased volatility.(Here, I’m considering only Zerodha Clients and Just taking 2 seconds)
11:10:15 | 15000 Orders Placed (by different zerodha clients on different stocks)
11:10:16 | 10000 Orders Placed (assume that the 10000 Orders include your order and it is the last order i.e 10000th Order)
Since zerodha OMS (TR) has capicty to handle only 1000 request/sec.
Order Execution as follows;
All Order Requests are processed as FIFO (First In First Out)
11:10:15 | 1000 Orders Processed
11:10:16 | 1000 Orders Processed
11:10:17 | 1000 Orders Processed
11:10:18 | 1000 Orders Processed
11:10:19 | 1000 Orders Processed
11:10:20 | 1000 Orders Processed
11:10:21 | 1000 Orders Processed
11:10:22 | 1000 Orders Processed
11:10:23 | 1000 Orders Processed
11:10:24 | 1000 Orders Processed
11:10:25 | 1000 Orders Processed
11:10:26 | 1000 Orders Processed
11:10:27 | 1000 Orders Processed
11:10:28 | 1000 Orders Processed
11:10:29 | 1000 Orders Processed
It took almost 15 seconds to process all 15000 order requests placed at 11:10:15
11:10:30 | 1000 Orders Processed
11:10:31 | 1000 Orders Processed
11:10:32 | 1000 Orders Processed
11:10:33 | 1000 Orders Processed
11:10:34 | 1000 Orders Processed
11:10:34 | 1000 Orders Processed
11:10:35 | 1000 Orders Processed
11:10:36 | 1000 Orders Processed
11:10:37 | 1000 Orders Processed
11:10:38 | 1000 Orders Processed
It took almost 10 seconds to process all 10000 order requests placed at 11:10:16
Your Order Placed at 11:10:16 might have executed at 11:10:38 (After 25 Seconds)
Everything has default timeout/Expiry after that it goes worthless and so in our case,connection to zerodha server.All our terminal and API’s are using TCP/IP for communication which has default timeout (Appx 30Sec).
If there are more order requests are pending before your request and if it takes more than 30 sec to process the pending orders, then most probably connection will timeout and result in rejection of your order or error. Another way to understand is if 30000 requests are pending before your request, then your request will be rejected or will not be processed or will not be honored.
The above example is just for illustration.
But in real, during volatility, more and more orders are placed every second and all are put in a very long queue if you are at the end of the queue, then most probably your order will be rejected or executed with delay.(Delayed execution ultimately result in heavy slippage and loss).
Now the question is What is the Solution…?
There is no Immediate Solution to the above issue.
Zerodha is really working hard to fix the issue.
But whatever Zerodha tries(Like Changes in AMO Placement) have only very little effect on the issue
Then…?
The One needs to blame is **TR (Omnesys now Thomson Reuters).**I don’t think that TR is seriously doing anything to fix this issue.Because, the issues are there for very long time.
The permanent solution for this issue is to make the OMS robust to handle more requests/sec (NSE has 50000/s capacity) and it is the TR who needs to do necessary modification or up-gradation of their OMS.
I hope Zerodha is pressurizing the TR, but TR is not responding much or not taking any serious interest.I believe, the TR(their OMS) is damaging the Zerodha Reputation and Good Will.
Even if Zerodha upgrade their Kite Server, Trading Platform (Pi,Kite) and API to high efficient and robust, but still no use until unless the OMS is upgraded. The OMS is the final thing to which all the platform communicates.
The solution is
Either the TR should upgrade their OMS immediately(Not sure, they will do)
OR
Zerodha should build their own OMS(Even if Zerodha has plan, it may take year to build the beta one)
@nithin, correct me if anything wrong in the above.