python代码实现了从币安(Binance)交易所获取以`USDT`为交易对的1月时间框架的K线数据

import pandas as pd
import time
import os
import datetime
import ccxt
import talib as ta


def crawl_exchanges_dates(exchange_name, symbol, timeframe, aver1, aver2, aver3, aver4, aver5, aver6, aver7, aver8,
                          manymin):
    """
    从指定交易所获取指定交易对的K线数据,并计算移动平均线指标。

    :param exchange_name: 交易所名称
    :param symbol: 交易对
    :param timeframe: 时间框架
    :param aver1 - aver8: 移动平均线的周期
    :param manymin: 时间计算参数
    :return: 计算得到的移动平均线指标和K线数据
    """
    exchange_class = getattr(ccxt, exchange_name)
    exchange = exchange_class()
    print(exchange)

    last = time.time() - (aver8 + 5) * 60 * manymin
    start = time.localtime(last)
    start_time = time.strftime("%Y-%m-%d %H-%M-%S", start)
    start_time = datetime.datetime.strptime(start_time, '%Y-%m-%d %H-%M-%S')
    start_time_stamp = int(time.mktime(start_time.timetuple())) * 1000
    print(start_time)

    date = exchange.fetch_ohlcv(symbol, timeframe=timeframe, since=start_time_stamp, limit=1000)
    df = pd.DataFrame(date)
    df.rename(columns={
   0: 'open_time', 1: 'open', 2: 'high', 3: 'low', 4: 'close', 5: 'volume'}, inplace=True)

    df['open_time'] = df['open_time'].apply(lambda x: (x // 60) * 60)
    df['Datetime'] = pd.to_datetime(df['open_time'], unit='ms') + pd.Timedelta(hours=8)
    df['Datetime'] = df
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值