I have now received a response from Dhan regarding the BEPL-EQ trade, and I want to clarify the actual issue because I believe an important technical point is being missed.
Dhan reply:
As per our records, you placed the order through the API using the Super Order feature on 19 October 2026 at 1:14:54 PM, with the following parameters:
- Stop-Loss Price: ₹127.17
- Target Price: ₹144.06
- Trailing Jump: ₹1.59
As the price moved in your favour, the trailing stop-loss was adjusted from ₹127.17 to ₹128.76 and subsequently to ₹130.35.
When the stop-loss price of ₹130.35 was triggered, the order remained pending, potentially may be due to limited trading volume at that time. Subsequently, the stop-loss leg was cancelled by you further at 13:26:38 and the position was exited manually at the prevailing market price.
Dhan’s response states:
“When the stop-loss price of ₹130.35 was triggered, the order remained pending, potentially may be due to limited trading volume at that time.”
I understand that there may be limitations in the API regarding whether a user can configure the Super Order stop-loss leg as a market order. I am not disputing that limitation.
My question is about what Dhan does when the stop-loss is triggered and has to be converted into a limit order.
If the Super Order mechanism requires the stop-loss to become a limit order after the trigger, why is Dhan not placing that limit order at a sufficiently aggressive price to maximize the probability of execution?
For example, if the stop-loss trigger is ₹130.35 and the market is moving down rapidly, placing a limit order at or around ₹130.35 can result in the order simply sitting there while the market moves further down.
Instead, if the exchange permits it, shouldn’t the system use an appropriately lower limit price — effectively giving the order sufficient price tolerance to execute against the available liquidity — rather than leaving a protective stop-loss pending at a price that is no longer available?
I am not suggesting that Dhan should guarantee execution at ₹130.35. I understand that execution depends on market liquidity.
The issue is that a stop-loss is fundamentally a risk-management mechanism. Once it is triggered, the objective should be to exit the position, not to leave a limit order pending because there isn’t sufficient liquidity at the exact trigger price.
This becomes even more important in a fast-moving stock, where the market can move several ticks away from the trigger price within milliseconds.
What I would like Dhan to explain
-
When my SL at ₹130.35 was triggered, what exact limit price was submitted to the exchange?
-
What were the best bid/ask prices and available quantities at the exact time the SL was triggered?
-
Was the limit order placed at ₹130.35, or at some other price?
-
If the order was placed at ₹130.35, why was a more aggressive limit price not used, subject to the maximum permissible price range under the exchange rules?
-
What is Dhan’s logic for determining the limit price when an API Super Order stop-loss is triggered?
-
Is this behaviour documented in the Super Order API documentation? If so, please point me to the relevant documentation.
-
Most importantly, what is the intended risk-management behaviour of a Super Order stop-loss when the market moves rapidly through the trigger price?
I also want to emphasize that saying the order remained pending “potentially due to limited trading volume” does not fully answer the question.
If liquidity was available at ₹130.34, ₹130.30, ₹130.25, etc., but the system submitted a limit order at ₹130.35, then the problem is not simply “lack of liquidity.” The question becomes whether the order was given sufficient price tolerance to actually consume the available liquidity.
A stop-loss that triggers but then remains pending while the market continues moving against the position can expose the trader to substantially more loss than the risk level at which the stop-loss was intended to protect the position.
I want Dhan to explain how the Super Order stop-loss mechanism is actually designed to behave after the trigger, why the limit price used in my case was insufficient to get the position exited, and what changes were actually made following my earlier complaint.
And given that I had already reported this problem previously, received written confirmation from Dhan that the issue had been identified, followed up for an update, and have now suffered another substantial loss, I expect Dhan to take responsibility for this incident and compensate me for the resulting loss.
I would appreciate a detailed technical response rather than simply attributing the non-execution to “limited trading volume.”