# @backtest-kit/signals 中文文档

规范地址：https://npmcn.com/package/%40backtest-kit/signals/

版本：23\.7\.0
npm 元数据更新时间：2026-10-29T15:14:02.989Z
中文译文更新时间：2026-11-07T20:02:29.522Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40backtest-kit/signals
原文对照：https://npmcn.com/package/%40backtest-kit/signals/?lang=original
项目主页：https://backtest-kit.github.io/documents/article_07_ai_news_trading_signals.html
源码仓库：https://github.com/tripolskypetr/backtest-kit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：521 kB，5 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- peer 依赖：typescript ^5\.0\.0，backtest-kit ^23\.7\.0
- 首次发布：2026-01-13T17:12:21.432Z
- 最新版本发布：2026-10-29T15:14:02.368Z
- 近 30 天下载量：2777（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：177（近 12 个月 177 个）

## 中文简介

AI动力交易系统技术分析和交易信号生成库. 计算出4个时间范围内的50+指标,并生成LLM消耗的平分报告.

## 安装

```sh
npm install @backtest-kit/signals
```

也可以使用：`pnpm add @backtest-kit/signals`、`yarn add @backtest-kit/signals`、`bun add @backtest-kit/signals`

## README

![](https://github.com/tripolskypetr/backtest-kit/raw/refs/heads/master/assets/chronos.svg)

# @ kit/ signals

> 人工智能交易的多时框架技术分析 [反测试- kit](https://www.npmjs.com/package/backtest-kit). 计算跨越四个时间段的50+指标,加上订货本深度,并发布LLM准备的减记报告——将整个市场背景降为一次呼叫中的LLM提示.

![screenshot](https://raw.githubusercontent.com/tripolskypetr/backtest-kit/HEAD/assets/screenshots/screenshot16.png)

[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/tripolskypetr/backtest-kit) [![npm](https://img.shields.io/npm/v/@backtest-kit/signals.svg?style=flat-square)](https://npmjs.org/package/@backtest-kit/signals) ![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue)

📚 **[文档](https://backtest-kit.github.io/documents/article_07_ai_news_trading_signals.html)** • 妇女 **[参考执行情况](https://github.com/tripolskypetr/backtest-kit/tree/master/example)** • 妇女 **[GitHub 图像](https://github.com/tripolskypetr/backtest-kit)**

```bash
npm install @backtest-kit/signals backtest-kit
```

* * *

## 为什么

一个LLM交易策略 和你交来的市场环境一样好 通过四个时间段计算50+指标,格式化订单-书深度,并将其全部设定为干净的记分下线——用手,每分一分——是决定信号质量的不光彩的200行. 这个软件包是工作,预计算,缓存,并与后端测试- kit 的时间线同步: 1 `commitHistorySetup(symbol, messages)` 将1m/15m/30m/1h的书和蜡烛历史+指标附加到 LLM 消息阵列中.

-   📈 **四个同步时间框架** 1米) 短期 15米) 轮班 30米) 长期 1小时.
-   🎯 **50+指标** ——RSI,MACD,博林格,斯多克斯克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克.
-   📊 **顺序书深度** ——最佳出价/任务,分布,前20级,流动性不平衡.
-   🤖 **LLM 已就绪的标记下调** 上下文注入格式表格.
-   ⚡ **缓存** ——按时间框架 TTL;缓存被错误清除.
-   📦 **零配置** ——在引擎的时空上下文上工作出盒.

* * *

## 快速开始——一个电话

```typescript
import { commitHistorySetup } from '@backtest-kit/signals';

const messages = [];
await commitHistorySetup('BTCUSDT', messages);
// messages now hold: order book + 1m/15m/30m/1h candle history
// + indicators for all 4 timeframes + system context (symbol, price, timestamp)
const signal = await llm(messages);
```

完成LLM战略

```typescript
import { v4 as uuid } from 'uuid';
import { addStrategy, dumpSignal } from 'backtest-kit';
import { commitHistorySetup } from '@backtest-kit/signals';
import { json } from './utils/json.mjs';   // your LLM wrapper

addStrategy({
  strategyName: 'llm-strategy', interval: '5m', riskName: 'demo',
  getSignal: async (symbol) => {
    const messages = [{ role: 'system', content: 'You are a trading bot. Analyze the indicators and generate a signal.' }];
    await commitHistorySetup(symbol, messages);
    messages.push({ role: 'user', content: [
      'Based on the technical analysis above, generate a trading signal.',
      'Use position: "wait" if signals are unclear or contradictory.',
      'Return JSON: { position: "long"|"short"|"wait", priceTakeProfit: number, priceStopLoss: number }',
    ].join('\n') });

    const resultId = uuid();
    const signal = await json(messages);
    await dumpSignal(resultId, messages, signal);   // archive for debugging
    return { ...signal, id: resultId };
  },
});
```

* * *

## 颗粒控制

更喜欢选择什么是 进入即时? 调用单个报告函数——每个附件一个下划线部分 `messages`。 。 。 .

9个颗粒函数

```typescript
import {
  commitBookDataReport,                                 // order book: bids/asks, spread, imbalance
  commitOneMinuteHistory, commitFifteenMinuteHistory,   // candle histories (last 15 / 8 …)
  commitThirtyMinuteHistory, commitHourHistory,
  commitMicroTermMath, commitShortTermMath,             // indicator tables per timeframe
  commitSwingTermMath, commitLongTermMath,
} from '@backtest-kit/signals';

const messages = [];
await commitBookDataReport('BTCUSDT', messages);
await commitOneMinuteHistory('BTCUSDT', messages);
await commitMicroTermMath('BTCUSDT', messages);
// …add only the sections you want, then call your LLM
```

`commitHistorySetup` 仅仅是按正确顺序运行这些系统的指挥者.

* * *

## 每个时间段计算什么

| 时限 | 蜡烛 | 指标 | 使用大小写 |
| --- | --- | --- | --- |
| **微型** (单位:1米) | 页:1 | RSI(9,14),MACD(8,21,5),Stochastic,ADX(9),Bollinger(8,2),ATR,CCI,Volume, Squeeze | 超短条目缩放 |
| **短期** (15米) | 144国 | RSI(9)、MACD(8、21、5)、Stochastic(5、3、3)、ADX(14)、Bollinger(10、2)、Fibonacci | 日交易 |
| **周转期** (30米) | 96 (韩语) | RSI(14),MACD(12,26,9),Stochastic(14,3,3),Bollinger(20,2),支持/抵抗 | 周转贸易 |
| **长期** (1小时) | 100个 | RSI(14)、MACD(12,26,9)、ADX(14)、Bollinger(20,2)、SMA(50)、DEMA、WMA、Volume Trend | 趋势分析 |

报告结构(订购簿-蜡烛-指标)

**订货簿** - 符号、最佳出价/任务、中价、分布、深度不平衡(`(bid_vol − ask_vol)/(bid_vol + ask_vol)`,+ = 购买压力),以及前20名投标/任务级别 `% of total`。 。 。 .

**蜡烛历史** ——每烛台:时间戳,OHLC,体积,起伏,体型.

**指标** 宽的每栏表格;例如,微分栏:价格、RSI(9)、RSI(14)、MACD、信号、直方图、Stoch%K/%D、ADX、+DI、-DI、BB上/中/下行、ATR(5/9)、CCI(9)、Vol Trend、Momentum、ROC、Support、Resist、Squeeze、press-随后是a **数据来源** 附注列出所使用的每个期间.

缓存密钥算法( K)

**快取 TTL** (已清出误差): 1米数据 → 1分 1分 → 15分 → 5分 → 30分 → 1分 1分 → 30分 → 订货簿 → 5分 .

-   **支助/抵抗** • 长期采用4个圆烛支点方法.
-   **费博纳奇** 0级/23.6级/38.2级/50级/61.8级/78.6级/100%,分机号127.2级/161.8级/261.8%;与价格最接近的等级为1.5%可容忍度.
-   **数量** 微型:SMA(5),趋势增加/下降/稳定(±20%);长期:6-烛光平均(±10%).
-   **订单-书本不平衡** —— 说 `(bid − ask)/(bid + ask)`,正=购买压力.

自定义日志器( 默认为无操作)

```typescript
import { setLogger } from '@backtest-kit/signals';
setLogger({ log: console.log, debug: console.debug, info: console.info, warn: console.warn });
```

* * *

## 为什么不自己计算指标呢?

差别

```typescript
// ❌ Manual — 40+ indicators, formatting, caching, all by hand
const candles = await getCandles('BTCUSDT', '1m', 60);
const rsi  = calculateRSI(candles, 14);
const macd = calculateMACD(candles, 12, 26, 9);
const bb   = calculateBollingerBands(candles, 20, 2);
// …and the markdown formatting, and the cache
messages.push({ role: 'user', content: formatToMarkdown(rsi, macd, bb /* … */) });

// ✅ With signals
await commitHistorySetup('BTCUSDT', messages);
```

预计算,缓存,优化 ^ 50+ 指标 × 4 个时间段 ^ LLM-已备标记下行 ^ 与后置测试时间段同步 ^ 验证和已建错误处理 .

* * *

## API 参考

| 导出 | 说明 |
| --- | --- |
| `commitHistorySetup(symbol, messages)` | Orchestrator - 附加命令书+所有蜡烛历史+所有指标+上下文 |
| `commitBookDataReport(symbol, messages)` | 顺序书深度和不平衡部分 |
| `commitOneMinuteHistory` 编号 : `commitFifteenMinuteHistory` 编号 : `commitThirtyMinuteHistory` 编号 : `commitHourHistory` | 每个时间段的烛花历史部分 |
| `commitMicroTermMath` 编号 : `commitShortTermMath` 编号 : `commitSwingTermMath` 编号 : `commitLongTermMath` | 指标表部分(1米/15米/30米/1小时) |
| `setLogger(logger)` | 替换默认的无操作日志 |
| `lib` | 内部IoC服务集装箱(先进使用) |

完整源图

-   `function/history.function.ts` ——四个 `commit*History` 函数. `function/math.function.ts` ——四个 `commit*Math` 函数. `function/other.function.ts` —— 说 `commitBookDataReport` + 键 `commitHistorySetup`。 。 。 .
-   `tools/setup.tool.ts` —— 说 `setLogger`。 。 。 . `contract/{History,ReportFn}.contract.ts` 报告职能合同. `interfaces/Logger.interface.ts`。 。 。 .
-   `lib/` 木卫一: `core/{di,provide,types}`, (中文(简体) ), `services/common/LoggerService`, (中文(简体) ), `services/history/{One,Fifteen,Thirty}MinuteCandleHistoryService` + 键 `HourCandleHistoryService`, (中文(简体) ), `services/math/{MicroTerm,ShortTerm,SwingTerm,LongTerm}MathService` + 键 `BookDataMathService` (数学服务是包的批量——每包32–45 KB). 每个导出到其中之一的地图; 无 `src/` 没有证件.

## \* 贡献

叉/ PR 打开 [GitHub 图像](https://github.com/tripolskypetr/backtest-kit)。 。 。 .

## 许可证

麻省理工学院 [特立奥尔斯基平板电脑](https://github.com/tripolskypetr)

## 常见问题

### @backtest-kit/signals 是什么？

AI动力交易系统技术分析和交易信号生成库\. 计算出4个时间范围内的50\+指标,并生成LLM消耗的平分报告\.

### 如何安装 @backtest-kit/signals？

在项目目录运行 npm install @backtest-kit/signals，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：typescript（^5\.0\.0）、backtest-kit（^23\.7\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @backtest-kit/signals 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @backtest-kit/signals 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @backtest-kit/signals 可以商用吗？

@backtest-kit/signals 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @backtest-kit/signals 的下载量有多少？

根据 npm 官方下载统计，@backtest-kit/signals 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,777 次，日均约 93 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @backtest-kit/signals 还在维护吗？

最新版本 23\.7\.0 发布于 2026/10/29（9 天前）；至今共发布 177 个版本，其中过去 12 个月发布了 177 个；首次发布于 2026/01/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

