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.

__init__() toma de 1 a 2 argumentos posicionales pero se dieron 3.

Estoy escribiendo un bot para negociar criptomonedas utilizando bitvavo.com como mi exchange. En su sitio web, se puede encontrar una sección de API (https://docs.bitvavo.com/) con este código:

from python_bitvavo_api.bitvavo import Bitvavo

bitvavo = Bitvavo(‘‘, ‘‘)
response = bitvavo.balance({})
for item in response:
print(item)

Sin embargo, cuando copié y pegué este código en mi IDE, me dio el siguiente error:

init() toma de 1 a 2 argumentos posicionales pero se dieron 3

Cuando intenté usar solo una variable dentro de los paréntesis, noté que el programa funcionaba, pero Bitvavo.com me dio un error debido a que no tenía los valores correctos: (APIKEY, APISECRET), lo cual es normal.

Después de investigar un poco, descubrí que en la mayoría de los casos, tiene algo que ver con la variable “self” (que no se muestra) ya utilizando uno de los dos espacios de variable dentro de Bitvavo(). Pero como no creé esta función yo mismo debido a que viene de la sección from python_bitvavo_api.bitvavo import Bitvavo, no sé cómo solucionar esto.

Si alguien sabe cómo solucionarlo y está dispuesto a mostrarme la solución o dar una alternativa, estaría muy agradecido. Y si es posible, por favor explíquelo de la manera más básica posible porque ¡soy tonto! 🙂

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema que estás encontrando está relacionado con el método de inicialización (__init__ ()) de la clase Bitvavo. El mensaje de error sugiere que este método está diseñado para aceptar 1 o 2 argumentos, pero estás pasando 3 argumentos.

    Es importante entender que el primer argumento de __init__ () siempre es el parámetro self. Este parámetro representa la instancia de la clase en sí y se requiere en todos los métodos de la clase. Por lo tanto, cuando creas una nueva instancia de la clase Bitvavo, debes pasar el parámetro self de manera implícita y proporcionar la clave y el secreto de la API como segundo y tercer argumento, respectivamente.

    Aquí tienes un ejemplo de cómo crear correctamente una instancia de Bitvavo:

    from python_bitvavo_api.bitvavo import Bitvavo
    
    API_KEY = "<tu_clave_api_aquí>"
    API_SECRET = "<tu_secreto_api_aquí>"
    
    bitvavo = Bitvavo(API_KEY, API_SECRET)
    

    Asegúrate de reemplazar <tu_clave_api_aquí> y <tu_secreto_api_aquí> con los valores reales proporcionados por Bitvavo.com.

    Además, ten en cuenta que el método Bitvavo () acepta varios parámetros opcionales, como rest_url, websocket_url y timeout. Puedes ver sus descripciones en la documentación proporcionada por Bitvavo.com.

    ¡Espero que esto te ayude a resolver el problema y poner en marcha tu bot!</tu_secreto_api_aquí></tu_clave_api_aquí></tu_secreto_api_aquí></tu_clave_api_aquí>

Comments are closed.