Exchange trading commissions (“Trading fеe”) are calculated based on the volume of the order. The creation and deletion of the order itself is free, only execution is paid. It does not matter what the result of this order was – profit or loss. Even for an order that closes your position as a result of liquidation, the exchange will charge a trading commission.
If a volume in your deal is big, and you fix a small profit (for example, close a position when P&L= 0.2% is reached), it may turn out that the profit from the deal (Gross) does not even cover the trading commission, and the Net result of your deal will be negative.
The trading commission of the exchange can be of two types, maker and taker, they differ in size.
The “Maker” commission rate is charged for limit orders. It is usually smaller in size.
The “Taker” commission rate is charged for market orders. It is almost always bigger.
The exact commission rates please find in the documentation of your exchange.
Limit orders in the bot are all where there is a non-zero indent. These can be grid orders, simple profit, multitakes.
The market orders in the bot are:
– those where the indent is 0, or “Market”,
– the simple stop loss order,
– order stop loss at breakeven (in the “Own” profit mode),
– closing orders based on the indicator signal (profit mode “Signal”).
In practice, it happens that if the indent is greater than zero, but very small (for example, 0.01% or 0.02%), such a limit order still works on the exchange as a market order – it depends on the price movement (in the second while the order is placed, its price flies and the order is executed as a market order).
As in this example, where limit orders were executed with a different trading commission rate, since one of them worked on the market:
Transaction fees on different exchanges can be paid in various ways.
For example, some exchanges like Binance, Yobit, and Gate.io have their internal currency for fee payments. For Binance, this currency is BNB.
Moreover, when paying fees with the exchange’s native tokens, you can get a discount. Binance offers a 25% discount when paying fees in BNB. To get this discount, buy some BNB in advance and keep it on your Spot trading account.
And any discount, as we know, increases your income.
“A penny saved is a penny earned.” – B. Franklin
However, not all exchanges have internal currencies and such tools, and they charge fees directly from the order execution result.
This affects the calculations of trading bots.
When trading on the Spot, the commission for executing orders is charged in the base currency. That is, when buying BTC for USDT, the exchange will calculate its commission from the volume of BTC and write it off from the balance. As a result, you will have a little less coin in your assets than the bot bought. And in the take profit order (for the sale of coins) the bot must set exactly the volume that it purchased. If there is not enough coin (after deducting the commission), the bot will stop with the error “Insufficient balance”.
To prevent this from happening, you need to buy a small amount of coin (equivalent to 1-2 USDT) before launching the bot on the Spot and keep it in your account without using it in trading. Then the commission will be taken from this stock and the bot will work non-stop.
Example 1.
When making long trades, the bot buys an asset with the intention of selling it at a higher price.
For example, the bot buys 1 ETH. The exchange fee will be approximately 0.001 ETH (0.1%), so the result of the transaction will be 0.999 ETH instead of 1 ETH in your account.
It is also important to note that it is not always possible to sell the entire accumulated volume.
For instance, if you buy 0.01 ETH, the fee for it will be 0.00001 ETH, and you will receive 0.00999 ETH.
However, each exchange sets a permissible number of decimal places for prices and order volumes for each trading pair.
For the ETH/USDT pair, the limitation for the order volume is 4 decimal places. This means that you can only sell 0.0099 ETH, while 0.00009 ETH will remain in your balance as a “deadweight.”
Such leftovers will accumulate as the number of transactions increases. In the Veles profile, you will see the amount of this leftovers received from trading on the Statistics page.
You can either accumulate these leftovers or convert them into another cryptocurrency. Many exchanges offer the option to convert small amounts into a unified exchange token (such as BIT for Bybit or BNB for Binance).
Example 2.
When making short trades, the bot sells an asset intending to buy it back at a reduced price. Short trades avoid the issues mentioned earlier since the profit percentage covers the commissions. However, when making short trades, the deposit decreases.
For instance, the bot sells 1 ETH for 2000 USDT per unit. It receives 1998 USDT after deducting the exchange commission of 2 USDT. Even with a profit percentage of 0.5%, the target price would be around 1990 USDT, which is sufficient for to pay commission for take-profit order.
However, when the exchange executes the take-profit and buys 1 ETH for 1990 USDT, it will deduct a commission from the ETH, resulting in 0.999 ETH remaining.
The more trades are executed, the more commissions the exchange will withhold from the deposit.
Therefore, it is recommended to have a small reserve of coins in addition to the deposit when making short trades.
When trading futures, the exchange also counts the Funding fee. The rate of this commission is calculated once every few hours, changes regularly and can be either positive (the exchange charges you) or negative (the exchange pays you for holding a position). The accrued and written-off financing fee is included in the “Realized PnL” indicator for your position.