"% USDT Total" selected, however deals open at "% USDT Free" instead

Bug info:

  • Bot URL → Gainium app
  • Expected result →
    “% USDT Total” selected; however, deals open at “% USDT Free” instead.

Oh yes, it seems to only use the free amount.

1 Like

When you started the bot your balance was 10k.
First deal has 2.5k value. After it started your usdt balance become 7.5k.
Second deal is 7500 * 0.25 = 1800. Your balance is 5700.
Third deal 5700 * 0.25 = 1400. Your balance is 4300
Fourth deal 4300 * 0.25 = 1075. Your balance is 3225.
These are theoretical values. Real bot rounds according to the coin settings. Final balance is correct.

After each deal bot bough some coin, therefore total balance of usdt is less

1 Like

I understand.

However, I selected “% USDT Total,” not “% USDT Free.”

So it should be 10k *25% every time.
As 10k is my Total.

No, it use balance value at the deal start not the bot start.
When the first deal started you have 2500 worth of btc and 7500 usdt, so 7500 was used as reference for the second deal.
Is you had another bot on usdt that used 2500 usdt in limit order than you free balance would be 5000, and total 7500.
Option called % of asset. Before each deal starts bot retrieves current asset balance and use free or total as reference for orders sizes

So is it like the following?

  • <no name>: Total balance of free funds, funds in open limit orders, funds in open deals
  • USDT Total: Total balance of free funds, funds in open limit orders
  • USDT Free: Total balance of free funds

Total balance is free balance + locked balance. Every exchange has free and locked values. Total is just sum of it. It could be locked not only in limit orders, but also for other reasons.
Free is what you free on exchange.

When using % from balance, when deal start triggered bot retrieved info about balance from exchange and use either free or free+locked.

Values of other opened deals, bot, grids not used in order size calculation. Only balance from exchange.

Its pretty straightforward logic.

So to say that:

If initially there are 10k USDT. Then

  • USDT Total and USDT Free are the same, i.e. 10k USDT.

If a buy limit order is placed of size 2.5k USDT but not yet opened, that USDT is locked. That is

  • USDT Total is still 10k USDT but
  • USDT Free is only 7.5k USDT.

If a buy limit order of size 2.5k USDT has been opened, that USDT is neither locked nor free but no USDT anymore. That is

  • USDT Total and USDT Free are the same, i.e. 7.5k USDT.

If additionally a limit safety order is placed of 2.5k USDT its USDT is locked as well. Thus

  • USDT Total is still 7.5k USDT but
  • USDT Free is only 5k USDT.

And so on.

In this case need to consider that deal has only base order, no dca. And base order is market.
Deals are opened one by one, not in parallel, because we need to follow max number of deals and max number of deal per pair.
So first deal placed base order of 2.5k USDT, which is immediately filled, so there is no locked 2.5k USDT, only 2.5k worth of BTC and 7.5 USDT.

In general what you described is correct. If deal has base order limit, than in some cases next deal could use 10k USDT as total, if base order from previous deal not filled yet.
If deal has DCA orders, than their amounts will be used in USDT total, because DCA orders are limit (except DCA by indicators, but in case of indicators there is no locked in advance) and wont be used in USDT free

Except you introduce to start trades with an offset from the signal. This way a deal start could also become a limit order.

Deal start order type taken from Base order type setting in Strategy box

However, without an offset, a market-price limit order will almost always be executed on the exchange with role taker, so it will behave as if it were a market order.

To clarify, if in bot settings you set Limit order - than order will be sent with type Limit, if Market - with type Market.
Its a common behaviour that limit orders filled as taker, in other words as market. But the property we send to the exchange is what in the Strategy box

1 Like

That’s true - I would say a good 85% of the limit orders are executed as market by the exchanges because of liquidity, full order books and other silly reasons