【从0搭Bot · 第2讲】接上行情源:让 bot 每分钟看到一次价格
标签:连载 / 从0搭Bot / 第2讲 / 行情源
本期目标
这一讲结束,你能用 ccxt 一行代码拉到 K 线,并看懂返回的每一列是什么。
前置准备
已装 ccxt(pip install ccxt);有 OKX demo 盘的 API key(testnet=true)。
步骤1:用 ccxt 拉 K 线
你的 bot 用的是 okx_exchange.py 的 get_candles,内部就是一行 fetch_ohlcv。返回的每根 K 线是 [时间戳, 开, 高, 低, 收, 量] 六个数字。
def get_candles(self, symbol, timeframe, limit=100): try: return self.exchange.fetch_ohlcv(symbol, timeframe, limit=limit) except Exception as e: logger.error(f"获取K线失败: {e}") return None步骤2:看懂 K 线格式
一行 candle = [ts, open, high, low, close, volume]。策略里 closes[-1] 是当前价,highs/lows 取最近 50 根的最高/最低当突破位。(ccxt 统一裁成 6 列;OKX 原生接口实际返回 9 列,多的几列是币种计量的量/额。)
# 一根 5m K 线长这样 # [1691000000000, 180.10, 180.55, 179.95, 180.40, 123456] # [时间戳ms, 开, 高, 低, 收, 量 ]步骤3:轮询间隔:5 秒扫一遍 9 个标的
config.json 里 poll_interval=5,每 5 秒扫一次全部 9 个标的。demo 盘频率别设太快,会被交易所限频。
{ "strategy": { "poll_interval": 5 } } // 每5秒轮询一次全部标的,够用别贪快验证
跑一个最小脚本拉 NVDA 5m K 线,打印最后一根的开高低收;确认是 demo 盘行情(价格和你手机 APP 一致)。
小结
行情源就是一行 fetch_ohlcv;K 线六元组是所有策略计算的原料;轮询 5 秒够用,别贪快。
下期预告
第3讲:给 bot 装方向感——EMA50 硬闸门
完整代码与配置:https://github.com/a380467214-art/AiBot
真实 bot 开发日常连载,实测后才发,代码可复制。每日复盘 / 踩坑日记 / 从0搭Bot 连载 / 行业观察持续更新。
#量化bot日常 #从0搭Bot