¿Hay alguna forma en que pueda usar ccxt para extraer el precio de una criptomoneda en un momento dado en el pasado?
Ejemplo: obtenga el precio de BTC en binance en el momento 2018-01-24 11:20:01
Puede usar el método fetch_ohlcv en la clase binance en CCXT
def fetch_ohlcv(self, symbol, timeframe='1m', since=None, limit=None, params={}):
Necesitará la fecha como una marca de tiempo en milisegundos, y solo puede obtenerla con precisión al minuto, así que quite los segundos o obtendrá el precio por el minuto siguiente.
timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00", "%Y-%m-%d %H:%M:%S").timestamp() * 1000)Solo puede obtener el precio de BTC en comparación con otra moneda, usaremos USDT (coincide estrechamente con USD) como nuestra moneda de comparación, por lo que buscaremos el precio de BTC en el mercado BTC/USDT
Cuando usemos el método, estableceremos desde su marca de tiempo, pero estableceremos el límite como uno para que solo obtengamos un precio.
import ccxt from pprint import pprint print('CCXT Version:', ccxt.__version__) exchange = ccxt.binance() timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00+00:00", "%Y-%m-%d %H:%M:%S%z").timestamp() * 1000) response = exchange.fetch_ohlcv('BTC/USDT', '1m', timestamp, 1) pprint(response)Que devolverá valores de velas para una vela
[ 1516792860000, // timestamp 11110, // value at beginning of minute, so the value at exactly "2018-01-24 11:20:01" 11110.29, // highest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02" 11050.91, // lowest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02" 11052.27, // value just before "2018-01-24 11:20:02" 39.882601 // The volume traded during this minute ]Puede hacerlo con el método fetchOHLCV unificado de CCXT:
Recomendamos encarecidamente leer todo el Manual CCXT de arriba a abajo, realmente le ahorrará tiempo:
Además, echa un vistazo a los ejemplos aquí: