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.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible utilizar ccxt para extraer el precio de una criptomoneda en un momento específico en el pasado. Primero, tendrías que recuperar los datos de velas o OHLCV (Open-High-Low-Close-Volume) para la criptomoneda y el exchange específico utilizando el método fetch_ohlcv(). Este método devuelve una lista de arreglos donde cada arreglo contiene la marca de tiempo, los valores de Apertura, Máximo, Mínimo, Cierre y Volumen para un intervalo de tiempo específico (por ejemplo, 1 minuto, 5 minutos, 1 hora, etc.).

    Una vez que hayas recuperado los datos de las velas, puedes filtrarlos para encontrar el arreglo que corresponda a la marca de tiempo que te interesa (2018-01-24 11:20:01 en este caso). El método fetch_ohlcv() devuelve el valor de la marca de tiempo en milisegundos, por lo que necesitarías convertir la marca de tiempo deseada al mismo formato (es decir, milisegundos) utilizando los módulos datetime y time.

    Finalmente, puedes extraer el precio de la criptomoneda en la marca de tiempo deseada accediendo al valor ‘Cierre’ en el arreglo que corresponda a la marca de tiempo. El código para lograr esto se vería algo así:

    import ccxt
    import datetime
    import time
    
    exchange = ccxt.binance()
    symbol = 'BTC/USDT'
    timeframe = '1m'
    
    # Establecer la marca de tiempo deseada
    desired_time = datetime.datetime(2018, 1, 24, 11, 20, 1)
    timestamp = int(time.mktime(desired_time.timetuple())) * 1000
    
    # Recuperar los datos de las velas
    velas = exchange.fetch_ohlcv(symbol, timeframe)
    
    # Filtrar los datos de las velas para encontrar el arreglo que corresponda a la marca de tiempo deseada
    vela_deseada = [vela for vela in velas if vela[0] == timestamp][0]
    
    # Extraer el precio de la criptomoneda en la marca de tiempo deseada
    precio_deseado = vela_deseada[4]
    
    print(precio_deseado)
    

    Ten en cuenta que el código exacto puede variar dependiendo del exchange y la criptomoneda específica que te interese. Además, es importante tener en cuenta que la precisión de los datos de precios puede estar limitada por la granularidad de los datos de velas (por ejemplo, si las velas son de intervalos de 1 minuto, el precio puede ser preciso solo dentro de 1 minuto).

Comments are closed.