Categorías
codificación

Cómo usar la API de Binance de la biblioteca Python ccxt

Aquí se explica cómo usar la API para operar automáticamente en el mundialmente famoso intercambio Bitcoin Binance.

aplicación API

Inicie la aplicación Binance e ingrese su API en Buscar.

Seleccione el elemento Administración de API en la categoría Funciones.

Elija Crear API.

Introduzca la etiqueta de clave adecuada y seleccione el botón Siguiente.

Encaja el rompecabezas por seguridad.

Luego proceda con la verificación de texto del teléfono y la verificación del correo electrónico.

Al finalizar, obtendrá una clave API y una clave secreta.

Verifiqué Habilitar futuros para el comercio de futuros y Permitir transferencia universal para depósitos y retiros entre el comercio al contado y el de futuros.

Instalar la biblioteca ccxt

A continuación, instalemos ccxt, una biblioteca de Python, para usar fácilmente la API de Binance.

Suponemos que sabe cómo usar Python y proceder.

Las instrucciones y las instrucciones de instalación se pueden encontrar en el siguiente sitio:

CCXT - Biblioteca de comercio de intercambio de criptomonedas

Puedes instalarlo con el siguiente comando.

pip install ccxt

Listo para usar la API de Binance

Primero, importe la biblioteca ccxt.

import ccxt

Este es el código para crear una instancia de Binance utilizando el valor de la clave API solicitado anteriormente. El tipo predeterminado de la parte de opciones es al contado, y el comercio de futuros es posible ingresando futuro.

binance_access_key = "xxxxxxxxx"
binance_secret_key = "yyyyyyyyy"

binance = ccxt.binance(config={
    'apiKey': binance_access_key, 
    'secret': binance_secret_key,
    'enableRateLimit': True,
    'options': {
        'defaultType': 'future'
    }
})

Consulta de precio actual

Simplemente puede buscar de la siguiente manera.

binance.fetch_ticker('BTC/USDT')

Consulta de saldo

Primero, veamos el código que recupera el saldo USDT de una operación de futuros. Ingrese el futuro en el tipo de parámetros. Ingrese al contado para ver el saldo de la transacción al contado.

balance = binance.fetch_balance(params={"type": "future"})
print(balance['USDT']['free'])

También escribamos un código para obtener el volumen de monedas retenidas en una transacción al contado.

balance_info = binance.fetch_balance(params={"type": "spot"})
for balance in balance_info['info']['balances']:
    if market['id'].find(balance['asset']) > -1:
        print(abs(float(balance['free'])))

El siguiente código obtiene el volumen de una moneda que entró en una posición corta en el comercio de futuros. Tenga en cuenta la diferencia con el código de comercio al contado.

balance_info = binance.fetch_balance(params={"type": "future"})
for position in balance_info['info']['positions']:
    if position['symbol'] == market['id']:
        print(abs(float(position['positionAmt'])))

Entrar y liquidar el comercio de futuros

A continuación se muestra el código para ingresar una posición corta. Tanto las operaciones de mercado como las de límite son posibles.

symbol='BTC/USDT'

# market sell order
sell_order = binance.create_market_sell_order(symbol=symbol, amount=0.1)

# limit sell order
btc = binance.fetch_ticker(symbol)
sell_order = binance.create_limit_sell_order(symbol=symbol, amount=0.1, price=btc['last'])

Y aquí está el código de limpieza de posiciones cortas. Del mismo modo, se pueden realizar operaciones de mercado y de límite.

symbol='BTC/USDT'

# market buy order
buy_order = binance.create_market_buy_order(symbol=symbol, amount=0.1)

# limit buy order
btc = binance.fetch_ticker(symbol)
buy_order = binance.create_limit_buy_order(symbol=symbol, amount=0.1, price=btc['last'])

La entrada y el cierre de una posición larga se pueden realizar de forma opuesta, y las operaciones al contado también se pueden realizar con el mismo método.

Transferencia bancaria entre spot y futuros

Para transferir efectivo de una cuenta al contado a una cuenta de futuros, simplemente consulte el saldo de la cuenta de efectivo y transfiera el valor directamente a su cuenta de futuros. No hay cargos por transferencias desde cuentas dentro de Binance Exchange.

balance_spot = binance.fetch_balance(params={"type": "spot"})
balance_spot_free = balance_spot['USDT']['free']
if balance_spot_free > 0:
    transfer = binance.transfer('USDT', balance_spot_free, 'spot', 'future')

Lo opuesto también es cierto.

balance_future = binance.fetch_balance(params={"type": "future"})
balance_future_free = balance_future ['USDT']['free']
if balance_future_free > 0:
    transfer = binance.transfer('USDT', balance_future_free, 'future', 'spot')

Ajuste de apalancamiento

Para el comercio de futuros, puede establecer el apalancamiento. Aquí está el código: Simplemente cambie el número en la parte de apalancamiento.

markets = binance.load_markets()
market = binance.market('BTC/USDT')
resp = binance.fapiPrivate_post_leverage({
    'symbol': market['id'],
    'leverage': 2
})

Ver datos de transacciones

Puede consultar los datos de transacciones diarias de 1000 BTC escribiendo el siguiente código:

candles = binance.fetch_ohlcv(
    symbol='BTC/USDT', 
    timeframe='1d', 
    since=None,
    limit=1000)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESEspañol