【问题标题】:Python formula syntaxPython 公式语法
【发布时间】: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 添加了请求示例/响应:

enter image description here enter image description here

【问题讨论】:

  • 表示availableBalance不是一个数字,而是一个列表。您应该通过调试和阅读钱包 API 文档来找到答案。
  • 它只是说lastPriceavailableBalance 是数组。例如,其中一个可能以 [500] 的形式返回。您能否在错误之前添加最后一个打印语句的输出?

标签: python api error-handling syntax formula


【解决方案1】:

类型错误:[can't multiply sequence by non-int of type 'float'] 表示有一次尝试您正在尝试将浮动数据类型与列表相乘...

您必须检查 lastPriceavailableBalance 的类型是什么,其中一个应该返回一个 seq,它不能乘以一个浮动

希望对朋友有帮助;)

【讨论】:

  • 添加了来自 Bybit 的 API 图片,不太确定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多