Joh*_*elm 4 python trading cryptocurrency binance binance-api-client
我有一个交易机器人,它在“ADAUSDT”中运行,具有动态的买卖数量,作为我的整个 USDT 余额的初始数量,并以相同的余额 + 利润或损失进行交易(它基本上以整个 USDT 余额进行交易并保持交易)一遍又一遍地)。这是一些代码:
from binance.client import Client
import Keys #personal api keys
client = Client(Keys.b_keys, Keys.b_secret)
infoa = client.get_account()
bal= infoa['balances']
i_o = float(bal[11]["free"])
v_min = v_min #some value of ADA, for example: 1.2
order = client.create_order(
symbol = "ADAUSDT" ,
side=SIDE_BUY ,
type=ORDER_TYPE_LIMIT ,
timeInForce = TIME_IN_FORCE_GTC ,
quantity = float(round((i_o) , 8)) ,
price = v_min ,
)
Run Code Online (Sandbox Code Playgroud)
我知道 quoteAsset 和 baseAsset 所需的精度都是 8,因此round()在订单本身的数量值中使用该函数,但即使在那之后,API 仍然会向我抛出错误“精度超过了最大值”为该资产定义”。请帮助我:c
编辑:i_o 是我的“USDT”余额,理论上应该随每次交易而变化,因此使用此变量而不是每个订单数量的普通数字。
注意:我对 Python 很菜鸟,哈哈,我一周前才学了一些基础知识,所以如果你能详细说明一下那就太好了:D
小智 5
根据您的代码以及对加密货币交易的一点熟悉,我假设您计算的“余额”是您的 USDT 余额,而不是您的 ADA 余额,i_o = float(bal[11]["free"])这意味着您正在下达 ADA 金额的买入订单您当前的 USDT 余额(四舍五入)——您确定这就是您想要做的吗?
为了更直接地回答您为什么会收到该错误的问题,我只能推断您必须使用包含除法的函数来计算您想要购买的价格,并且您的结果最终类似于v_min1.32578935987532098325而不是 1.2。
因此,为了方便起见,您还想将其四舍五入:
price = float(round(v_min,8)) ,
| 归档时间: |
|
| 查看次数: |
28599 次 |
| 最近记录: |