【发布时间】:2022-01-16 20:47:53
【问题描述】:
刚开始使用 python 和 API。难以创建涉及数字和变量的公式。这些变量是使用来自交易网站的信息(值,例如 available_balance = 4500,但 4500 不是一个固定数字,并且不断变化)创建的。
# Retrieving and printing values for available_balance and last_price
print('Available Balance: ')
print(session.get_wallet_balance(coin="USDT")['result']['USDT']['available_balance'])
print('Last Price: ')
print(session.latest_information_for_symbol(symbol="BTCUSDT")['result'][0]['last_price'])
# Assigning variables representing the value of available_balance and last_price
lastPrice = (session.latest_information_for_symbol(symbol="BTCUSDT")['result'][0]['last_price'])
availableBalance = (session.get_wallet_balance(coin="USDT")['result']['USDT']['available_balance'])
# Verifying values are properly assigned to variables
print()
print('Last Price and Available Balance:')
print(lastPrice, availableBalance, sep='\n')
# Order Size formula = last_price * available_balance * leverage * perc (ex. 100% = 1, 25% = 0.25) * (1-(0.00075) * 2)
orderSize = lastPrice * availableBalance * 15 * 100 * (1-(0.00075) * 2))
print(orderSize)
收到的错误是:
orderSize = lastPrice * availableBalance * 15 * 100 * (1-(0.00075) * 2)
TypeError: 不能将序列乘以“float”类型的非整数。
任何帮助都会很棒!我从 Bybit 的 API 添加了请求示例/响应:
【问题讨论】:
-
表示
availableBalance不是一个数字,而是一个列表。您应该通过调试和阅读钱包 API 文档来找到答案。 -
它只是说
lastPrice或availableBalance是数组。例如,其中一个可能以[500]的形式返回。您能否在错误之前添加最后一个打印语句的输出?
标签: python api error-handling syntax formula