¿Cómo crear una orden de compra usando la API de Binance en Python usando todas mis monedas seleccionadas en lugar de establecer

CorePress2024-01-24  9

Digamos que tengo $200 USDT y quiero realizar un pedido para comprar ETHUSDT usando el 100 % de mis $200 USDT. ¿Hay alguna manera de realizar un pedido utilizando el 100% de mi USDT y no cuántos ETH quiero comprar?

Este es el código que estoy usando.

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

Esto compra 10 ETH, ¿verdad? Pero quería comprar ETH por valor de 200 dólares. ¿Cómo puedo hacer esto?



------------------------------------

Primero tienes que calcular cuánto ETH $200 te pueden dar.

#First get ETH price
eth_price = client.get_symbol_ticker(symbol="ETHUSDT")

# Calculate how much ETH 0 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.

1

El problema con esto es que el precio de mercado fluctúa. Entonces, si hay un deslizamiento, su pedido fallará. Puede utilizar quoteOrderQty en su lugar para órdenes de mercado, pero para futuros esto no se implementa. Estoy intentando encontrar una solución yo mismo.

- Dorien

11 de abril de 2023 a las 3:03



------------------------------------

el parámetro quoteOrderQty permite especificar el total de quoteOrderQty gastado o recibido en la orden MERCADO. Se refiere a "activo de cotización", p. para el par ETHUSDT, USDT es un "activo cotizado". Por lo tanto, si desea gastar 200 USDT, utilice

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



------------------------------------

Utilice quoteOrderQty= en lugar de cantidad=. cantidad que el usuario quiere gastar (al comprar) o recibir (al vender) del activo cotizado, aplicable a órdenes de MERCADO.

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

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare