Hey folks
As always, we’ve been listening to your feedback and working towards building features that genuinely improve your Dhan Algos trading experience.
Recently, many of you experienced situations where orders remained pending or did not get filled due to LIMIT orders under the updated exchange framework. We understand how important reliable execution handling is, and this was a challenge for us as well.
Our engineering team has worked extensively on this, and we’re excited to bring you Version 1 of our Retry Mechanism
Here’s how it works:
Entry Orders
For entry orders, the Algo will continue to follow its execution logic without retries.
Single Leg Algos
For single-leg option strategies, orders are placed as usual.
If the order remains pending, it will automatically be cancelled once the exit for that signal is achieved.
There is no benefit in entering a trade after the signal has already closed. This functionality has been available on the platform for a long time.
Multi-Leg Algos
For multi-leg strategies (Straddles, Strangles, Credit Spreads, etc.):
-
The Algo first places the order for Leg 1
-
The order status is checked every half-second for 3 seconds (6 checks)
-
If Leg 1 executes successfully, the Algo immediately places the order for Leg 2
-
If Leg 1 remains pending after these checks, the Algo proceeds with placing Leg 2
In some cases, the second leg may be rejected as per RMS rules since the hedge benefit is not unlocked yet due to the first leg still being pending.
If this happens:
-
Cancel the pending first-leg order
-
If the first leg gets executed, close the position manually
Alternatively, the Algo will manage the exit for positions that were entered by the Algo itself.
Please do not manually place the rejected leg again to recreate the multi-leg strategy, as the Algo will only manage exits for trades that were placed through the Algo.
Exit Orders
Single Leg Exit
If an exit signal is generated and your LIMIT order remains pending:
-
The Algo will wait for 2 minutes
-
Cancel the pending order
-
Place a fresh retry order
Two-Leg Hedge Strategies
The Algo will first place the order for the leg that releases the hedge benefit.
If the first leg executes:
-
The Algo places the second leg order immediately
-
If the second leg remains pending, after 2 minutes, the Algo cancels the pending order and retries with a new order
If the first leg remains pending:
-
The Algo waits for 2 minutes
-
Cancels the pending order
-
Retries the first leg with a fresh order
After retrying, if the first leg still remains pending, the Algo will continue with the execution checks:
-
The Algo will check the order status 6 times (once every half-second) for a total duration of 3 seconds
-
If the first leg gets executed during this window, the Algo will immediately place the order for the second leg
-
If the first leg still remains pending after these checks, the Algo will proceed with placing the second leg order
In some cases, the second leg may be rejected as per the RMS rules since the hedge benefit is not unlocked yet due to the first leg still being pending.
Important Note
During the 2-minute retry window, we request users to avoid manual intervention.
Manually modifying orders during this period can result in the Algo not receiving the latest order status, which may lead to duplicate positions or incorrect execution handling.
This is our first version of the Retry Mechanism, and we will continue monitoring real-world execution behaviour and improving it further. We know execution reliability is one of the most important parts of Algo trading, and this is another step towards making the experience more seamless for you.
Thank you for your patience, feedback, and trust ![]()
More optimisations coming soon ![]()