如何在python上使用Binance API创建购买订单,使用我选择的所有硬币,而不是设置我想购买的硬币数量



假设我有200美元,我想用我200美元的100%下单购买ETHUSDT。有没有一种方法可以让我用100%的USDT下单,而不是我想买多少ETH?

这是我正在使用的代码。

buy_order = client.create_test_order(symbol="ETHUSDT, side='BUY', type='MARKET', quantity=10)

这可以购买10 ETH,对吧?但我想买价值200美元的以太坊。我该怎么做?

首先,您必须计算200 ETH能给您带来多少。

#First get ETH price
eth_price = client.get_symbol_ticker(symbol="ETHUSDT")
# Calculate how much ETH $200 can buy
buy_quantity = round(200 / float(eth_price['price']))
# Create test order
order = client.create_test_order(
symbol='ETHUSDT',
side=Client.SIDE_BUY,
type=Client.ORDER_TYPE_MARKET,
quantity=buy_quantity
)
# The 200 in buy_quantity is the amount of money you want to spend on ETH.

参数quoteOrderQty允许指定MARKET订单中花费或收到的总报价订单数量。它指的是";报价资产";,例如,对于ETHUSDT对;报价资产";。因此,如果你想花费200 USDT,那么就使用

buy_order = client.create_test_order(symbol='ETHUSDT', side='BUY', type='MARKET', quoteOrderQty=200)

使用quoteOrderQty=而不是quantity=。用户想要花费(购买时(或接收(出售时(报价资产的金额,适用于MARKET订单。

buy_order = client.create_test_order(symbol="ETHUSDT, side='BUY', type='MARKET', quoteOrderQty=10)

最新更新