A cryptocurrency arbitrage framework implemented with ccxt and cplex. It can be used to monitor multiple exchanges, find a multi-lateral arbitrage path which maximizes rate of return, calculate the optimal trading amount for each pair in the path given flexible constraints, and execute trades with multi-threading implemenation.
590
stars
173
forks
source link
Error: local variable 'trade_id' referenced before assignment #17
crypto-arbitrage-framework/crypto/trade_execution.py", line 158, in kucoin_transfer_to
to_id = trade_id
UnboundLocalError: local variable 'trade_id' referenced before assignment
Anyone able to suggest a fix?
The offending loop is:-
@staticmethod
def kucoin_transfer_to(to, exchange, amount, code):
'''function to transfer amount between main and trading account in kucoin'''
accounts = exchange.privateGetAccounts()
data = accounts['data']
for i in data:
if i['currency'] == code and i['type'] == 'main':
main_id = i['id']
elif i['currency'] == code and i['type'] == 'trade': <============(Problem is here, needs an additional elif to check for zero trade balance)
trade_id = i['id']
else:
pass
if to == 'main':
from_id, to_id = trade_id, main_id
elif to == 'trade':
from_id, to_id = main_id, trade_id <=======(ERROR thrown here)
else:
raise ValueError('to should be main or trade')
I get the following runtime error
crypto-arbitrage-framework/crypto/trade_execution.py", line 158, in kucoin_transfer_to to_id = trade_id UnboundLocalError: local variable 'trade_id' referenced before assignment
Anyone able to suggest a fix? The offending loop is:-
@staticmethod def kucoin_transfer_to(to, exchange, amount, code): '''function to transfer amount between main and trading account in kucoin''' accounts = exchange.privateGetAccounts() data = accounts['data'] for i in data: if i['currency'] == code and i['type'] == 'main': main_id = i['id'] elif i['currency'] == code and i['type'] == 'trade': <============(Problem is here, needs an additional elif to check for zero trade balance) trade_id = i['id'] else: pass