Bug info:
- Bot URL → Gainium app
- Expected result →
“% USDT Total” selected; however, deals open at “% USDT Free” instead.
Bug info:
Oh yes, it seems to only use the free amount.
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
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 dealsUSDT Total
: Total balance of free funds, funds in open limit ordersUSDT Free
: Total balance of free fundsTotal 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
butUSDT 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
butUSDT 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.
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
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