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.

No se puede transmitir con python-binance.

Intenté hacer un flujo simple en algunas líneas pero obtengo un mensaje de error. Me di cuenta de que dependiendo de la versión, la llamada del websocket es diferente.
Estoy en la versión Python-binance 1.0.15

¿Podrías ayudarme?

Importando bibliotecas

from binance.client import Client
import configparser
from binance.streams import ThreadedWebsocketManager

Cargando claves desde el archivo de configuración

config = configparser.ConfigParser()
config.read_file(open('secret.cfg'))
actual_api_key = config.get('BINANCE', 'ACTUAL_API_KEY')
actual_secret_key = config.get('BINANCE', 'ACTUAL_SECRET_KEY')

client = Client(actual_api_key, actual_secret_key, tld="com")

def stream_data(msg):
    """
    Función para procesar los mensajes recibidos
    param msg: mensaje de entrada
    """
    print(f"tipo de mensaje: {msg['e']}")
    print(f"precio de cierre: {msg['c']}")
    print(f"mejor precio de oferta: {msg['a']}")
    print(f"mejor precio de oferta: {msg['b']}")
    print("---------------------------")

Iniciando el WebSocket

twm = ThreadedWebsocketManager()
twm.start()

Suscribiéndose al flujo

twm.start_symbol_miniticker_socket(callback=stream_data, symbol="BTCUSDT")

Deteniendo el websocket

twm.stop()

Aquí está el mensaje de error:

CANCELAR read_loop

Proceso finalizado con código de salida 0

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es difícil determinar la causa del problema solo con el mensaje de error proporcionado. Sin embargo, es posible que la versión de python-binance que se está utilizando no sea compatible con la llamada websocket que se está realizando.

    En primer lugar, asegúrese de que la versión 1.0.15 de python-binance es la última versión disponible. Si no lo es, actualice a la última versión e intente nuevamente.

    Si el problema persiste, intente cambiar la línea donde se inicia el websocket por la siguiente:

    twm.start_miniticker_socket(callback=stream_data)

    Esta es la llamada websocket para la versión 1.0.15. Si está utilizando una versión diferente, asegúrese de utilizar la llamada websocket correspondiente a esa versión.

    Si ninguna de estas soluciones funciona, proporcione más información sobre el mensaje de error y cualquier otro mensaje de error o traza de pila que se muestre en la consola. Esto ayudará a identificar la causa raíz del problema.

Comments are closed.