Introducción a Binance con Python, Parte 2: Realizar intercambios

Bienvenido a la segunda parte de esta serie de tutoriales sobre el uso de la API de Binance Python. En la primera parte, instalamos todo lo que necesitábamos para comenzar y establecer una conexión con nuestra cuenta. Puedes leer la primera parte aquí. En esta parte, aprenderá a crear una aplicación Python que pueda realizar intercambios.

Hay dos partes principales que intervienen en la realización de un intercambio. La primera parte es averiguar la cantidad a negociar y la segunda es realizar la operación real. Para saber cuánto invertir, primero debemos conocer el saldo disponible de la cuenta del activo que estamos negociando. Para este ejemplo usaremos el par BTC / USDT. Si quisiéramos comprar BTC, primero necesitaríamos conocer nuestro saldo en USDT. Podemos obtener esto usando la función get_asset_balance (“USDT”, recvWindow = 10000). Tomará dos parámetros, activo y ventana de recepción. La ventana de recepción es solo la cantidad de tiempo que la solicitud es válida en milisegundos. Por lo general, 10,000 es un buen comienzo, pero si obtiene un error, intente aumentarlo. Esta función devuelve un diccionario de cadenas. Queremos el saldo libre, así que lo especificamos al final y cambiamos el tipo de datos a flotante. Dado que vamos a comprar BTC, necesitamos saber cuánto BTC podemos comprar con nuestro saldo de USDT. Para hacer esto, necesitaremos dividir nuestro saldo por el último precio BTC / USDT. Obtenemos esto usando la función get_symbol_ticker (symbol = ’BTCUSDT’, recvWindow = 10000). Esto también devuelve un diccionario de cadenas, por lo que especificaremos que queremos precio y lo cambiaremos a un flotante. Después de dividir estos números, los multiplicaremos por 99,5% y los redondearemos a 5 dígitos para evitar errores. A continuación se muestra una función que hice que toma en cuenta el activo que está comprando y el par que está negociando. Luego devuelve la cantidad máxima que puede comprar de ese activo.

Si quisiéramos vender BTC, sería un poco más sencillo. Solo necesitaríamos usar la función get_asset_balance () para nuestro BTC y esto nos daría la cantidad de BTC que podemos vender. La siguiente función devuelve lo mismo que la función buyAmount, pero para el lado de la venta.

Ahora que sabemos cuánto podemos comprar y vender, podemos continuar con la operación real. Afortunadamente, Binance tiene una función que nos permite realizar operaciones de prueba, por lo que podemos probar aplicaciones sin realmente intercambiar fondos reales. Es el create_test_order (). Si quisiera hacer un intercambio real, solo sería create_order (). Esta función requiere bastantes parámetros, que puede consultar en los documentos aquí. Hay muchas opciones diferentes para cada parámetro, pero usaremos los parámetros que se requieren para una compra o venta de mercado estándar. A continuación se muestra una función de compra y venta que toma como parámetro la cantidad que se va a comprar o vender.

Ahora tenemos todas las funciones necesarias para realizar un intercambio. Si quisiéramos comprar la cantidad máxima de BTC que pudiéramos usando USDT, usaríamos el siguiente código. Usaríamos la función de venta de la misma manera, con la única diferencia de que no necesitamos el parámetro de par para la función sellAmount (). Esto también se puede ver a continuación.

¡Felicitaciones! Ahora puede incorporar la realización de intercambios en sus aplicaciones de Python. Toda la base del comercio algorítmico es establecer las condiciones bajo las cuales se llaman estas funciones. En futuros tutoriales, hablaremos sobre cómo obtener información de Binance para usar en declaraciones condicionales que hacen intercambios.

Código completo: