1adb093100
- 每个交易所独立子类:BinanceRestClient extends BaseRestClient - 统一入口 createRestClient(exchangeId) 工厂函数 - KLINE_INTERVAL_MS 移至 constants.ts - fetchKlines 签名统一为 (symbol, startTime, limit?, endTime?) - throttle 限流实际生效 - convertBinanceKline interval 参数化 - 删除 filterConsecutive 死代码 - 更新 run/exchange.ts 和 service/bnkline.ts 调用方
26 lines
823 B
TypeScript
26 lines
823 B
TypeScript
import { createRestClient } from "../exchanges";
|
||
import type { Kline } from "../types";
|
||
|
||
const client = createRestClient("binance");
|
||
|
||
/**
|
||
* 获取 Binance 1m K 线数据(基于 MainClient REST API)。
|
||
*
|
||
* 内部复用 Client(多交易所 REST 客户端)的 binance 实现,
|
||
* 包含限流、Binance SDK 原生转换、连续性过滤等逻辑。
|
||
* 返回本系统标准化 {@link Kline} 数组。
|
||
*
|
||
* @param symbol - 交易对符号(如 "BTCUSDT")
|
||
* @param startTime - 起始时间(Unix ms)
|
||
* @param limit - 单次拉取条数,默认 500(最大 1000)
|
||
*/
|
||
export async function fetchKlines(
|
||
symbol: string,
|
||
startTime: number,
|
||
limit = 500,
|
||
): Promise<Kline[]> {
|
||
return client.fetchKlines(symbol, startTime, limit);
|
||
}
|
||
|
||
|
||
console.log(await fetchKlines('BTCUSDT.P', 0, 10)); |