tsu-nera / bakuchi

仮想通貨Botトレード開発
https://github.com/tsu-nera/bakuchi_analysis
2 stars 3 forks source link

成功注文失敗によるクラッシュを調査 #234

Open tsu-nera opened 3 years ago

tsu-nera commented 3 years ago

bitbank create_market_order_buyで発生。指値注文や成功注文、板情報などが関係してて難しそうなので後で。

[INFO:2021-04-15 17:40:24,667] CLOSING buy-liquid(4789.456), sell-bitbank(4786.604), margin=-765, profit=-2.852                                            
Traceback (most recent call last):                                                                                                                         
  File "/home/ubuntu/repo/bakuchi_production/src/core/arbitrage_parallel.py", line 28, in thread_worker                                                    
    responses[thread] = func_x()                                                                                                                           
  File "/home/ubuntu/repo/bakuchi_production/src/core/arbitrage_parallel.py", line 64, in <lambda>                                                         
    func_x = lambda: self.exchange_y.order_buy(amount, extinfo_ask=ask)                                                                                    
  File "/home/ubuntu/repo/bakuchi_production/src/core/exchange_trading.py", line 64, in order_buy                                                          
    response = self.client.create_market_buy_order(amount)                                                                                                 
  File "/home/ubuntu/repo/bakuchi_production/src/libs/ccxt_client.py", line 130, in create_market_buy_order   
  File "/home/ubuntu/repo/bakuchi_production/src/core/exchange_trading.py", line 64, in order_buy                                                  [16/507]
    response = self.client.create_market_buy_order(amount)                                                                                                 
  File "/home/ubuntu/repo/bakuchi_production/src/libs/ccxt_client.py", line 130, in create_market_buy_order                                                
    price=1)                                                                                                                                               
  File "/home/ubuntu/miniconda3/envs/bakuchi/lib/python3.7/site-packages/ccxt/base/exchange.py", line 1972, in create_market_order                         
    return self.create_order(symbol, 'market', side, amount, price, params)                                                                                
  File "/home/ubuntu/miniconda3/envs/bakuchi/lib/python3.7/site-packages/ccxt/bitbank.py", line 383, in create_order                                       
    response = self.privatePostUserSpotOrder(self.extend(request, params))                                                                                 
  File "/home/ubuntu/miniconda3/envs/bakuchi/lib/python3.7/site-packages/ccxt/base/exchange.py", line 474, in inner                                        
    return entry(_self, **inner_kwargs)                                                                                                                    
  File "/home/ubuntu/miniconda3/envs/bakuchi/lib/python3.7/site-packages/ccxt/bitbank.py", line 583, in request                                            
    raise ExchangeError(self.id + ' ' + self.json(response))       
t.base.errors.ExchangeError: bitbank {"success":"0","data":{"code":"60002"}}                                                                     [4/507]

[ERROR:2021-04-15 17:41:50,225] 'ExchangeError' object is not subscriptable
Traceback (most recent call last):
  File "/home/ubuntu/repo/bakuchi_production/src/utils/trading.py", line 112, in run_trading
    arbitrage.run()
  File "/home/ubuntu/repo/bakuchi_production/src/core/arbitrage_trading.py", line 72, in run
    self.next()
  File "/home/ubuntu/repo/bakuchi_production/src/core/arbitrage_base.py", line 31, in next
    self._action(stragegy, tick_x, tick_y)
  File "/home/ubuntu/repo/bakuchi_production/src/core/arbitrage_trading.py", line 263, in _action
    profit = self._calc_profit(buy_resp["jpy"], sell_resp["jpy"])
TypeError: 'ExchangeError' object is not subscriptable
tsu-nera commented 3 years ago

これ、発生条件を明確にしないとすぐには修正できないかも。

tsu-nera commented 3 years ago

tickとamountを変更して発生するか様子見。どうも発生しないな...

tsu-nera commented 3 years ago

アクセス頻度を変えたら発生しなくなった