DCA not stopping out properly

Bug info: Just got filled on every Combo DCA bid, did not get stopped out at 3% loss and I believe I was stopped out by the exchange when I lost 99.87% of the funds allocated to that coin. Please explain.

  • Bot URL →
  • [Optional] Steps to reproduce →
  • Expected result →

Not sure about SL, but I’ve seen my bot not trigger notifications that a deal has completed. Restarting the bot (Roy from IT Crowd style :rofl:) seems to wake up the sync between exchange and bot and you realise you didn’t lose anything, it was just the bot never got told by the exchange (KuCoin for me) that the deal completed. Try restart and see if it has completed after all

We need the bot ID to investigate.

https://app.gainium.io/combo/6749b23e5216cb0914b751b9

I truly wish that would have happened. Unfortunately I got an email from the exchange saying I was on margin call and stopped out.

Thank you for bringing this to our attention. It seems the stop loss was triggered slightly earlier than the dump started but wasn’t able to cancel orders and close the deal before liquidation occurred. During rapid market movements, there can sometimes be delays in ticker updates, especially when stop loss in combo tracking is following live price updates. We’re looking into how this process can be improved to handle such situations more effectively. Let us know if you notice anything else.

Sorry, I think you misunderstood me. There was NO stop loss order whatsoever. The exchange stopped my position out. Firstly, I should not have been filled on all my bids, as they were in excess of the stop limit, maybe two or three but not seven and according to the time and sales of the trades these were executed over the course of a few minutes. I am far more concerned that the bot is unstable when the market is busy. Please can you explain firstly why there was no stop loss order sent to market and secondly why my resting bids were all filled? Using “fast market” as an excuse is BS and if this is to be used for commercial or larger accounts there needs to be accountability. Thanks in advance.


Please see the attached message from Binance, which was the first I knew of any issue. If I wouldn’t have been stopped out I probably would have been long and left hanging with $7k of Luna2 well in the red.

Sorry in advance if there is any misunderstood from me, thank you for clarifying, this bot is not affected by the Redis connection issue. The issue stemmed from exceptionally high market activity, which can lead to irregularities in order execution during volatile periods.

Again, thank you for that but what happened to my stop order?
You must have records you can check?
“The issue stemmed from exceptionally high market activity, which can lead to irregularities in order execution during volatile periods.” Is a fob off and not a technical answer. If every front end GUI and exchange hid behind that nobody would trade.
I would simply like someone to check what happened to my stop order?
Thank you.

Thank you for your follow-up. We are currently reviewing the records and logs to determine exactly what happened to your stop order, I’ll update you as soon as possible

Many thanks, I look forward to hearing from you.

The combo bot needs to cancel the grid before it can sell the base, this process can take longer during high volatility because exchanges take longer to respond. In this case the liquidation happened before the bot had a chance to place the stop loss. There is nothing we could have done about this. I suggest using less leverage, or even better only spot. Also as you can see in the email the liquidation was triggered at 80%, every exchange had their rules.

I understand what you are saying, but the stop was set to 3% and the bids were filled over the course of a few minutes not seconds. Only the first two should have been filled and the stop activated but all seven were filled. Are you saying that the messaging between the exchange and Gainium slows down during times of high activity, as this is obviously a great cause for concern, especially when using futures and leverage to achieve a decent return. The fact that the record in the bot on the fill report is saying only 3 of 8 orders filled worries me along with the fact that my orders were filled according to the timestamps over the course of 30 plus seconds. If you are saying that every time we get an extraordinary move (which are becoming less extraordinary at the moment) that the exchange fill server and reporting server are out of synch then the bot will be unusable. This is not a witch hunt and I will happily take the loss on the chin, but there must be answers deeper than “when it gets busy everything turns to sh$t” as thats what we were told 20 years ago by CME,EUREX,NYMEX, LIFFE etc and it was fixed. If that is what we are being told about crypto exchanges then surely its a step backwards for traders?

Filling orders over the course of 30 seconds is not out of the ordinary for high volatility. Even if our server had zero lag it still needs to receive a response from the exchange. Our server could also take longer to respond due to the high volume.

If you use leverage you understand that the risk is higher. If you would rather not have the risk of that happening I cannot recommend to use leverage and the combo together. If it depended on me I would deactivate leverage on combo, but is not up to me to decide what level of risk you should have. I can only give you a recommendation.

I totally understand the leverage part, thats on me totally. What makes me nervous is the orders were timestamped thirty seconds apart but no stop order was initiated. If there is congestion in the exchange giving you the fills then that is an exchange issue. Would it be that the fills are delayed in being reported to you and when you have received them I was already stopped out by the exchange?

I had similar problems yesterday, and I understand that Gainium and/or the exchange is busy, but when I look at the chart/orders I don’t see any issues. But still deals are closed when they shouldn’t be, or more DCA orders are executed than are configured.

Correct, that is the problem. The orders were sent in advance and placed in the order book. As the price went down, the exchange filled all those orders and sent the notification, but due to the sudden drop the liquidation happened before the bot had a chance to sell the remainder. Keep in mind that the stop loss of the combo gets triggered when the value of the position reach a specific %, then cancels the grid, then sends a market order. You wondered why there were fills under the stop loss, and the answer is that we don’t know at which price the position will reach the specific %, so the combo bot sends all orders in advance. The stop loss % of a dca bot can be calculated before hand, and in this case we don’t send dca levels that are under the sl.

1 Like

Ok, thank you that makes alot of sense. Would you therefore say in times of volatility it would be safer to aviod the grid and just work dca, as the grid orders combined with the resting dca orders of the combo bot could therefore “clog” up the order and fill confirmations making it very hard for the combo bot to work efficiently due to order and fill confirmations not being transmitted efficiently from the exchange to the bot? PS sorry for taking up so much of your time today!

1 Like

In an ideal world yes we would stop the combo before volatility hits. But in reality, it can happen quickly and we won’t always be able to stop the bot, specially if the upnl is negative.

I would say that the best way to deal with it is account for it. Whatever the backtest say, we can pretty much assume that real trading won’t have as nice results, specially with leverage. So you can account for a bigger safety margin. Also the bot has live statistics, if events like this make the strategy unprofitable, you should consider another approach. But if the strategy is profitable despite the hiccups, then we can say that is the “cost” of making money.