CoinTaxman icon indicating copy to clipboard operation
CoinTaxman copied to clipboard

trade and fee resolving edge cases

Open jhoogstraat opened this issue 2 years ago • 2 comments

resolve_trades currently only works when there is exactly one Buy and one Sell op for any particular utc_time. This leaves many cases unhandled, which could result in miscalculated gains. Here are four such cases:

  1. Multiple buy/sell-pairs at a particular utc_time
  2. Orders not being fulfilled at once, leading to Buy/Sell ops later on.
  3. Commissions / Withdrawals / Deposits / Airdrop / CoinLendInterest increasing the op count (more than 2 ops in that case)
  4. It can happen that bnb small asset exchange happen at multiple utc_times (sell ops one second before buy ops)

The first case can be resolved for 3 coins if there is a "bridge coin" (sell btc -> usdt, buy eth -> usdt), because usdt is included in both orders. The third case can be resolved by filtering the irrelevant ops.

Binance does provide an order history, which contains the required information to resolve trades correctly, even when multiple trades occur. Maybe that can help us.

pr: #136

jhoogstraat avatar May 16 '22 08:05 jhoogstraat

Looks like deposit of eur and direct conversion to BNB. Transaction related should be something like buy/sell

provinzio avatar May 16 '22 19:05 provinzio

Ok, you are right, it didn't work because of the Deposit, which was not excluded when resolving trades.

jhoogstraat avatar May 16 '22 20:05 jhoogstraat