Go to 3Commas

Users often wonder why Grid Bot PnL calculations differ from the calculations on the exchange. Let us elaborate and give a more detailed description of how this calculation works.

Spot account Grid bot

For Spot market trading this feature so far has been implemented as a light version, which means that your PnL will be calculated more accurately only in those cases where you purchased ALL the coins (BASE currency) for sell orders at market price in the process of launching the bot (so-called balancing orders):

Please, note!

If all of the coins your bot is selling were already on your balance, PNL for these coins will not be calculated. If you had on your balance just a part of the coins - the PNL will be calculated inaccurately.

In addition to that, when you stop your bot, both Profit % and PnL % temporarily reset to 0 at the moment your bot stops. Editing a bot can also mess up the statistics, to preserve it we recommend copying the bot and editing a copy instead of editing the original.

We continue to work on improving this functionality to make it more convenient to use, hoping to bring the improved version to you in the near future.

Futures account Grid bot

PnL calculations in the Grid Bot on Futures are different from those on Spot account.


The thing is, the exchange calculates an average profit for the current open position created by the Grid bot (there can be many positions opened and closed over the lifetime of a Grid bot).

For example, you start a Futures Grid bot with the following grids: 400, 300, 200, 100.

The starting price was 450, then dropped to 50, and after increased to 250.

This is what the Grid bot would have done:

  1. BUY on 400

  2. BUY on 300

  3. BUY on 200

  4. BUY on 100

  5. SELL on 200

Currently, the Grid Bot display shows us a profit of +100, which it thinks is right because it sold at 200 but last bought at 100.

At the same time the Exchange considers this a partial position closing with an average buy price at 250 according to the DCA value of the position:

(400 + 300 + 200 + 100)/4 = 250 (DCA price of open position)

That means you actually see a -50 loss on the Exchange.

Such differences may occur at the early stages of Grid Bot operation BUT over time the average price will be much more profitable, as each BUY level will DCA (Dollar Cost Average) the open position entry price. Thus the profit on the exchange will grow faster than shown by the Grid Bot, which is by design.


As a result, once all bought grids are sold, the PnL in the Grid Bot and on the exchange should be identical.

Did this answer your question?