ExchangeUnion / market-maker-bot

MM Bot for OpenDEX. Make profits via arbitrage between OpenDEX and a connected CEX account like Binance 🤖
GNU Affero General Public License v3.0
104 stars 20 forks source link

Only one side of the order created #17

Closed kilrau closed 4 years ago

kilrau commented 4 years ago

https://github.com/ExchangeUnion/xud/pull/1653 is merged, so arby should check connext balance before placing an order

kilrau commented 4 years ago

Actually this isworking, just that my environment didn't update to latest xud 1.0.0-beta.4-614cd4d with https://github.com/ExchangeUnion/xud/pull/1653. On another it did and it placed an eth sell order using my eth balance and max outgoing, BUT arby didn't place any buy order whereas it should have. We should look into why:

VersionUphold (xud: only issues sell order, with available eth quantity 4.992)

testnet > getbalance

Balance:
┌──────────┬───────────────┬────────────────────────────┬───────────────────────────────┐
│ Currency │ Total Balance │ Channel Balance (Tradable) │ Wallet Balance (Not Tradable) │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ BTC      │ 0.00549106    │ 0.00455329                 │ 0.00093777                    │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ ETH      │ 18.741979     │ 4.992                      │ 13.749979                     │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ LTC      │ 17.50491652   │ 2.5049547                  │ 14.99996182                   │
└──────────┴───────────────┴────────────────────────────┴───────────────────────────────┘
testnet > listorders

Trading pair: ETH/BTC
┌────────────────────────────────────────────────┬────────────────────────────────────────────────┐
│ Buy                                            │ Sell                                           │
├───────────────┬─────────────┬──────────────────┼───────────────┬─────────────┬──────────────────┤
│ Quantity      │ Price       │ Alias            │ Quantity      │ Price       │ Alias            │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│ 0.14486581    │ 0.02353728  │ ShadowCore       │ 123           │ 0.02549872  │ ShadowCore       │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│               │             │                  │ 4.992         │ 0.02552784  │ VersionUphold    │
└───────────────┴─────────────┴──────────────────┴───────────────┴─────────────┴──────────────────┘
ghost commented 4 years ago

I believe this is fixed with the latest version.

kilrau commented 4 years ago

Just saw this again with latest xud and latest arby and believe to have found the culprit, arby not correctly calculating the btc amount (ScrubNoise):

17/06/2020 22:05:46.380 [RPC] error: call /xudrpc.Xud/PlaceOrderSync errored with code 9: BTC outbound balance of 98837606 is not sufficient for order amount of 380307209
simnet > listorders

Trading pair: ETH/BTC
┌────────────────────────────────────────────────┬────────────────────────────────────────────────┐
│ Buy                                            │ Sell                                           │
├───────────────┬─────────────┬──────────────────┼───────────────┬─────────────┬──────────────────┤
│ Quantity      │ Price       │ Alias            │ Quantity      │ Price       │ Alias            │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│ 99.22277348   │ 0.02395027  │ ToothDoor        │ 10            │ 0.02543173  │ ToothDoor        │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│               │             │                  │ 73.63988151   │ 0.02567032  │ ScrubNoise       │
└───────────────┴─────────────┴──────────────────┴───────────────┴─────────────┴──────────────────┘

arby logs show the same:

2020-06-17 10:04:32.3232 [OpenDEX] trace: Creating ETH/BTC sell order with id 2f610aa2-d6b4-4be9-ab5d-c0685612b006, quantity 73.63988151 and price 0.02564536
2020-06-17 10:04:32.3232 [OpenDEX] warn: Insufficient outbound balance. Retrying in 5 seconds.
2020-06-17 10:04:32.3232 [Centralized] trace: ETHBTC stream closed

these are my balances:

Balance:
┌──────────┬───────────────┬────────────────────────────┬───────────────────────────────┐
│ Currency │ Total Balance │ Channel Balance (Tradable) │ Wallet Balance (Not Tradable) │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ BTC      │ 0.98837606    │ 0.98837606                 │ 0                             │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ ETH      │ 93.63967151   │ 73.63988151                │ 19.99979                      │
├──────────┼───────────────┼────────────────────────────┼───────────────────────────────┤
│ LTC      │ 5             │ 5                          │ 0                             │
└──────────┴───────────────┴────────────────────────────┴───────────────────────────────┘

so arby is stuck there with a wrongly calculated btc amount and never updates it.

kilrau commented 4 years ago
simnet > listorders

Trading pair: ETH/BTC
┌────────────────────────────────────────────────┬────────────────────────────────────────────────┐
│ Buy                                            │ Sell                                           │
├───────────────┬─────────────┬──────────────────┼───────────────┬─────────────┬──────────────────┤
│ Quantity      │ Price       │ Alias            │ Quantity      │ Price       │ Alias            │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│ 99.11038068   │ 0.02397743  │ ToothDoor        │ 10            │ 0.02546057  │ ToothDoor        │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│               │             │                  │ 73.63888151   │ 0.02571296  │ ScrubNoise       │
└───────────────┴─────────────┴──────────────────┴───────────────┴─────────────┴──────────────────┘

Trading pair: LTC/BTC
┌────────────────────────────────────────────────┬────────────────────────────────────────────────┐
│ Buy                                            │ Sell                                           │
├───────────────┬─────────────┬──────────────────┼───────────────┬─────────────┬──────────────────┤
│ Quantity      │ Price       │ Alias            │ Quantity      │ Price       │ Alias            │
├───────────────┼─────────────┼──────────────────┼───────────────┼─────────────┼──────────────────┤
│ 0.2           │ 0.089       │ LaundryBrush     │ 0.6           │ 0.111       │ LaundryBrush     │
└───────────────┴─────────────┴──────────────────┴───────────────┴─────────────┴──────────────────┘
simnet > xucli tradinglimits

Trading Limits:
┌──────────┬───────────────────┬─────────────┐
│ Currency │ Max Buy           │ Max Sell    │
├──────────┼───────────────────┼─────────────┤
│ BTC      │ 3.96150771        │ 0.93840178  │
├──────────┼───────────────────┼─────────────┤
│ ETH      │ 90071992.54740991 │ 73.63888151 │
├──────────┼───────────────────┼─────────────┤
│ LTC      │ 4.899638          │ 4.9         │
└──────────┴───────────────────┴─────────────┘
ghost commented 4 years ago

Fixed by https://github.com/ExchangeUnion/market-maker-tools/pull/22