es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Websocket de Binance para futuros.

No puedo hacer que el websocket para COIN-M en Binance devuelva datos. Logré hacerlo funcionar con el punto final SPOT, pero en los Futuros obtengo una respuesta nula.

import websocket
import _thread
import time
import json
WEBSOCKET_URL_FUTURES = "wss://dstream.binance.com/ws"
WEBSOCKET_URL_SPOT = "wss://stream.binance.com:9443/ws"
def on_message(ws, message):
    print(f'ONMESSAGE######: {message}')
    with open('./data.json', 'a') as f:
        f.write(f'{message}\n')
def on_error(ws, error):
    print(f'ONERROR####: {error}')
def on_close(ws, close_status_code, close_msg):
    print("### cerrado ###")
def on_open(ws):
    print("### abierto ###")
    subscribe_message = {
        "method": "SUBSCRIBE",
        "params": [
            "ethusd_perpetual@aggTrade"
        ],
        "id": 1
    }
    list_message = {
        "method": "LIST_SUBSCRIPTIONS",
        "id": 3
    }

    ws.send(json.dumps(subscribe_message))
    ws.send(json.dumps(list_message))
if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = websocket.WebSocketApp(WEBSOCKET_URL_SPOT,
                              on_open=on_open,
                              on_message=on_message,
                              on_error=on_error,
                              on_close=on_close)
    ws.run_forever()

Estoy probando diferentes parámetros en el método SUBSCRIBE pero ninguno de ellos devuelve nada. Además, no puedo encontrar una lista con todos los posibles pares de símbolos que se podrían utilizar. ¿Alguna idea?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando utilizar la API de WebSocket de Binance para negociar futuros COIN-M, pero no estás recibiendo ningún dato en la respuesta.

    Aquí tienes algunas sugerencias que pueden ayudarte a solucionar el problema:

    • Verifica la URL de WebSocket: Asegúrate de estar utilizando la URL correcta de WebSocket para negociar futuros COIN-M. Puedes encontrar las URL de WebSocket para todos los puntos finales de Binance en su documentación de API.
    • Verifica el formato del símbolo: Asegúrate de estar utilizando el formato correcto para el par de símbolos en el mensaje de suscripción. Por ejemplo, el par de símbolos para futuros COIN-M BTCUSDT sería “btcusdt_perpetual@aggTrade”.

    • Verifica la conexión de WebSocket: Asegúrate de que tu conexión de WebSocket se establezca correctamente y de que no haya problemas de conectividad de red. Puedes habilitar el registro de trazas para el WebSocket para ver si hay algún error o problema con la conexión.

    • Prueba a utilizar un lenguaje de programación diferente o una biblioteca de WebSocket diferente: Si todavía no puedes obtener datos utilizando Python y la biblioteca de WebSocket, puedes intentar utilizar un lenguaje de programación diferente o una biblioteca de WebSocket diferente para ver si el problema es específico de Python o de la biblioteca que estás utilizando.

    • Ponte en contacto con el soporte de Binance: Si ninguna de las soluciones anteriores funciona, puedes contactar al soporte de Binance para obtener ayuda. Ellos podrán ayudarte a solucionar el problema y brindarte orientación adicional sobre cómo utilizar su API de WebSocket de manera efectiva.

    En cuanto a tu pregunta sobre cómo obtener una lista de todos los posibles pares de símbolos, puedes encontrar esta información en la documentación de la API de Binance. Hay una sección llamada “Punto final de lista de símbolos” que proporciona una lista de todos los pares de negociación disponibles en el exchange.

Comments are closed.