feat: 全面优化迭代所有文档 - 增加数据说明+计算公式+名词解释+内部链接

变更统计:
- 70个文件变更 (39个新增 + 31个修改)
- 新增 6554 行内容

优化内容:
1. 30个核心文档增加附录(数据说明/计算公式/参数表/使用场景/常见误区)
   - 第一批: 量化基础/技术指标/策略/信号/品种/数据流/回测/风控/链上/EWO
   - 第二批: AI/案例复盘/多Agent/Hyperliquid/KOL/期权/RWA/券商/BTC/主流币
   - 第三批: ETH/SOL/BNB_DOGE/XAUT/代币化美股/信号优化/tradehk系统
2. 新增38个名词解释wiki条目(Delta对冲/Gamma/Theta/Vega/IV/VaR/CVaR等)
3. 更新全局术语表索引(79个术语/12大类/知识图谱/学习路径)
4. 新增内部链接体系(wiki式交叉引用)
这个提交包含在:
Manus Quant Agent
2026-03-06 05:09:34 -05:00
父节点 ad4a73846c
当前提交 790c0eaa0a
修改 70 个文件,包含 6539 行新增126 行删除

查看文件

@@ -166,3 +166,86 @@ EWO 红→绿在大周期空头环境中可能是假反弹,但通知不包含
- [信号评分引擎](./信号评分引擎.md) — 信号生成机制
- [大周期偏向判定](./大周期偏向判定.md) — 趋势过滤
- [SOL 专项深化策略](../../12_信号系统优化/各币种专项/SOL专项深化策略.md) — SOL 微弱穿越问题
---
## 附录:数据说明与补充
本附录旨在对 EWO 转换检测机制中的关键概念、数据结构及实际应用进行详细阐述,以帮助用户更深入地理解并有效利用此功能。
### 一、核心指标详解
#### 1. EWO (Elliott Wave Oscillator)
EWO 是衡量市场动量的核心指标,其数值反映了短期趋势与中期趋势之间的关系,常用于辅助判断趋势的强度和潜在的转折点。
- **计算公式**EWO 的计算基于两个不同周期的简单移动平均线 (SMA) 的差值。具体公式如下:
```latex
EWO = SMA(Close, n_{short}) - SMA(Close, n_{long})
```
在常见的配置中,短周期 `n_short` 通常取 5,长周期 `n_long` 通常取 35。tradehk 系统同样遵循此经典设置。
- **数据范围**:理论上无上下界,其数值范围取决于具体币对的价格波动幅度。对于高价币对(如 BTC,EWO 绝对值可能达到数千甚至数万;对于低价币对,其绝对值可能很小。
- **单位**:与币对的计价货币单位相同,例如,对于 BTC/USDT,EWO 的单位是 USDT。
- **精度要求**:为捕捉微小变化,系统计算和展示 EWO 值时,通常保留 6-8 位小数。
- **数据来源**EWO 值是基于从交易所获取的 [K线](../../wiki/名词解释/K线.md) 收盘价 (`Close`) 计算得出的,属于衍生数据。
#### 2. K线 (Candlestick)
K线是承载市场价格信息的基础单元,EWO 的所有计算都源于 K线数据。
- **数据来源**:由中心化交易所(如 Binance, Bybit通过其 API 提供实时的或历史的 K 线数据。
- **数据格式规范**:系统内部处理 K 线数据时,通常采用 JSON 对象数组的形式。每个对象代表一根 K 线,其标准格式如下:
```json
{
"time": 1678096200, // K线开盘时间的 Unix 时间戳 (秒)
"open": 22350.1, // 开盘价 (Number)
"high": 22365.8, // 最高价 (Number)
"low": 22345.0, // 最低价 (Number)
"close": 22360.5, // 收盘价 (Number)
"volume": 150.75 // 成交量 (Number)
}
```
### 二、实际应用场景
EWO 转换信号在量化交易中具有多样化的应用,交易者应结合其他分析工具进行综合判断。
1. **趋势反转早期预警**:这是 EWO 转换最直接的应用。当一个币对在经历长期的下跌EWO 持续为负)后,首次出现 `red_to_green` 的转换,可能预示着下跌动能衰竭,[多头](../../wiki/名词解释/多头.md) 力量开始积聚。交易者可将此信号视为一个潜在的左侧或右侧入场观察点,并结合价格行为(如是否突破关键阻力位)来确认交易。
2. **动量增强与趋势确认**在已有的趋势判断基础上,EWO 转换可以作为强有力的确认信号。例如,某策略基于均线金叉产生了一个[多头](../../wiki/名词解释/多头.md)信号,但交易者希望等待市场动量配合。此时,若稍后出现 `red_to_green` 的 EWO 转换,则证明短期动量已与中期趋势方向一致,从而增强了原始信号的可靠性,可作为加仓或确认入场的依据。
3. **识别市场情绪转变**EWO 的正负状态可以被视为市场情绪的晴雨表。持续的绿色EWO > 0代表市场处于乐观或贪婪状态,而持续的红色EWO < 0则代表悲观或恐惧。EWO 的转换标志着市场主流情绪的根本性转变,有助于交易者调整其整体持仓偏向,例如从[空头](../../wiki/名词解释/空头.md)主导转向多头主导的策略集。
### 三、参数参考表
用户可在 tradehk 系统中自定义 EWO 转换的监控规则。以下是核心配置参数的说明与建议值。
| 参数 | 说明 | 推荐值 | 取值范围 |
| :--- | :--- | :--- | :--- |
| `symbol` | 监控的交易对 | `BTCUSDT`, `ETHUSDT` | 交易所支持的任何有效币对 |
| `interval` | K线的时间周期 | `10m`, `15m` | `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d` 等标准周期 |
| `direction` | 监控的转换方向 | `red_to_green` | `red_to_green` (空转多), `green_to_red` (多转空) |
### 四、常见误区与正确理解
1. **误区EWO 转换是精确的买卖点**
**正确理解**EWO 转换是一个**动量信号**,而非精确的时机信号。它标志着动量方向的改变,但价格的最终反转可能滞后或提前。将它作为唯一的开仓依据风险极高,必须结合价格结构、支撑阻力位或其他指标进行综合判断。
2. **误区:所有 EWO 转换信号都值得关注**
**正确理解**信号的“质量”至关重要。在窄幅震荡行情中,EWO 可能频繁在 0 轴附近穿越,产生大量低质量的“毛刺”信号。有效的信号通常伴随着穿越 0 轴时 EWO 数值的显著变化,并且发生在关键的市场结构位置。
3. **误区:忽略大周期背景**
**正确理解**:小周期(如 10m的 EWO `red_to_green` 转换,如果发生在一个大的下跌趋势(如 4h 周期 EWO 仍为深度负值)中,极有可能是一次短暂的反弹而非趋势反转。因此,必须遵循“顺大势、逆小势”的原则,参考 [大周期偏向判定](./大周期偏向判定.md) 来过滤掉逆势的 EWO 转换信号。
4. **误区EWO 数值越大越好**
**正确理解**:极高的 EWO 数值(远离 0 轴通常表示趋势已经进入末期,市场处于超买或超卖状态。此时虽然动能强劲,但也预示着回调或反转的风险正在积聚。因此,EWO 的绝对值大小需要辩证看待,而非简单地认为越大越好。
5. **误区:只看 EWO,不看价格**
**正确理解**:技术分析的核心是价格行为,指标永远是辅助。一个常见的陷阱是出现“指标背离”时盲目交易。例如,价格创出新高而 [EWO](../../wiki/名词解释/EWO.md) 未能创出新高(顶背离),这仅是一个警示信号,不构成直接的做空理由。必须等待价格行为的确认,如跌破关键的上升趋势线或支撑位。

查看文件

@@ -172,3 +172,108 @@ ADX < 25 表示市场处于震荡状态,DMI 的 +DI/-DI 交叉在震荡市中
- [大周期偏向判定](./大周期偏向判定.md) — 趋势过滤机制
- [EWO转换检测机制](./EWO转换检测机制.md) — EWO 专项通知
- [类型系统参考](./类型系统参考.md) — 完整类型定义
---
## 附录:数据说明与补充
本附录旨在对信号评分引擎中涉及的关键指标、数据结构及核心概念进行详细阐述,以提升文档的完整性与专业性。内容涵盖了计算公式、应用场景、参数参考、数据格式规范、内部链接及常见误区,旨在帮助使用者更深刻地理解并有效运用该评分系统。
### 一、核心指标深度解析
信号评分引擎的有效性建立在对多个技术指标的综合运用之上。下表详细说明了各核心指标的计算方法、数据特性及数据来源,为策略的精细化调整与二次开发提供依据。
| 指标名称 | 计算公式 (LaTeX) | 数据范围 | 单位 | 精度要求 | 数据来源 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **EWO** | `EMA(close, 5) - EMA(close, 35)` | (-∞, +∞) | 点 | 8位小数 | K线收盘价 `close` |
| **MACD** | `EMA(close, 12) - EMA(close, 26)` | (-∞, +∞) | 点 | 8位小数 | K线收盘价 `close` |
| **AO** | `SMA(median, 5) - SMA(median, 34)` | (-∞, +∞) | 点 | 8位小数 | K线中间价 `(H+L)/2` |
| **MA** | `SMA(close, N)` | (0, +∞) | 点 | 8位小数 | K线收盘价 `close` |
| **RSI** | `100 - (100 / (1 + RS))` | [0, 100] | % | 2位小数 | K线收盘价 `close` |
| **KDJ (K)** | `SMA(RSV, 3)` | [0, 100] | % | 2位小数 | K线 `H`, `L`, `C` |
| **SuperTrend** | `(H+L)/2 ± (Multiplier × ATR)` | (0, +∞) | 点 | 8位小数 | K线 `H`, `L`, `C` |
| **DMI (+DI/-DI)** | `SMA(±DM, 14) / SMA(TR, 14)` | [0, 100] | % | 2位小数 | K线 `H`, `L`, `C` |
*注:`EMA` 为指数移动平均,`SMA` 为简单移动平均,`RS` 为相对强度,`RSV` 为未成熟随机值,`ATR` 为平均真实波幅,`TR` 为真实波幅,`DM` 为动向。*
### 二、核心概念应用场景
理解各知识点在实际量化交易中的应用,是连接理论与实践的桥梁。
- **多指标共振评分机制**
1. **趋势确认过滤**:在趋势跟踪策略中,仅当多个趋势指标(如 [MA排列](../../wiki/名词解释/MA排列.md)、[SuperTrend](../../wiki/名词解释/SuperTrend.md))同时指向同一方向时,才接受入场信号,有效过滤掉由单一指标在震荡行情中产生的毛刺信号。
2. **动量增强识别**对于突破策略,可以将“强信号”STRONG作为核心入场条件。例如,当价格突破关键阻力位时,若同时获得 `STRONG BUY` 信号,表明突破动能充足,成功率更高。
- **动态强度阈值**
1. **策略回测与最优化**:在进行参数优化时,研究员可以增减可选指标组合,动态阈值机制能够确保不同组合下的信号强度具有可比性,从而更客观地评估不同指标对策略的贡献度。
2. **用户自定义策略面板**:在提供给终端用户的交易仪表盘中,允许用户根据个人偏好启用或禁用某些指标。动态阈值可以自动适配用户的选择,确保信号质量的稳定性,避免因用户误操作导致信号泛滥或枯竭。
- **ADX > 25 的 DMI 应用**
1. **趋势/震荡市识别**:构建一个市场状态分类器,当 [ADX](../../wiki/名词解释/ADX.md) 低于25时,启用网格交易或均值回归策略;当 ADX 高于25时,则切换至趋势跟踪策略,并使用 [DMI](../../wiki/名词解释/DMI.md) 的金叉/死叉作为主要入场依据。
2. **趋势末端预警**:在一段由 ADX > 25 确认的强趋势行情中,若 ADX 开始从高位回落并跌破25,即使 +DI 与 -DI 尚未交叉,也可将其视为趋势可能即将结束或进入盘整的预警信号,应考虑减仓或收紧止损。
### 三、可配置参数参考表
系统内置了行业标准的指标参数,但针对不同交易品种和时间周期,进行适当调整可能获得更优效果。下表整理了所有核心指标的可配置参数及其推荐值。
| 指标 | 参数 | 推荐值 | 取值范围 | 说明 |
| :--- | :--- | :--- | :--- | :--- |
| **EWO** | `fast`, `slow` | 5, 35 | 2-200 | 快慢速指数移动平均线周期 |
| **MACD** | `fast`, `slow`, `signal` | 12, 26, 9 | 2-200 | 快、慢速EMA及信号线周期 |
| **MA排列** | `short`, `long` | 10, 100 | 5-400 | 短期与长期均线周期 |
| **RSI** | `period`, `oversold`, `overbought` | 14, 30, 70 | 7-30, 10-40, 60-90 | RSI计算周期及超买超卖阈值 |
| **KDJ** | `n`, `m1`, `m2` | 9, 3, 3 | 5-30 | RSV, K值, D值的计算周期 |
| **SuperTrend** | `period`, `multiplier` | 10, 3 | 7-20, 1.5-5.0 | ATR计算周期和波动率乘数 |
| **DMI/ADX** | `adx`, `di` | 14, 14 | 7-30 | ADX 和 DI 的计算周期 |
| **布林带** | `period`, `stddev` | 20, 2 | 10-50, 1.0-3.0 | 均线周期和标准差倍数 |
### 四、数据格式规范
为确保系统各模块间的数据交互无误,特此明确核心数据对象的结构与格式。
- **K线数据 (`Candle[]`)**
输入给 `generateSignal` 函数的 [K线](../../wiki/名词解释/K线.md) 数组,其中每个 `Candle` 对象应遵循以下格式:
```json
{
"timestamp": 1678086000000, // {number} K线开盘时间的UNIX毫秒时间戳
"open": 22345.67, // {number} 开盘价
"high": 22398.12, // {number} 最高价
"low": 22340.05, // {number} 最低价
"close": 22389.88, // {number} 收盘价
"volume": 1234.567 // {number} 成交量
}
```
- **交易信号 (`TradingSignal`)**
函数成功执行后返回的信号对象,其结构定义如下:
```json
{
"id": "Abc123Xyz",
"timestamp": 1678086600000, // {number} 信号生成时间的UNIX毫秒时间戳
"symbol": "BTCUSDT",
"interval": "10m",
"type": "BUY",
"strength": "STRONG",
"price": 22389.88,
"indicators": { ... },
"reasons": ["EWO上穿零轴", "MACD金叉"],
"isActive": true
}
```
### 五、常见误区与正确理解
1. **误区:信号评分越高,盈利概率越大。**
**正确理解**:信号得分衡量的是**多空技术形态的共振强度**,而非直接的盈利概率。一个 `STRONG` 信号表示多个指标在当前 [K线](../../wiki/名词解释/K线.md) 上同时发出了强烈的看涨或看跌信号,这通常意味着一个显著的技术事件发生。它应该被视为一个高质量的“关注”或“入场考虑”点,但最终的交易决策还需结合仓位管理、风险报酬比以及[大周期偏向判定](../../wiki/tradehk/大周期偏向判定.md)来综合判断。
2. **误区WEAK信号没有交易价值。**
**正确理解**:弱信号虽然不适合作为主要的开仓依据,但它可以作为**仓位调整和风险管理的有效工具**。例如,在持有多头仓位时,若连续出现 `WEAK SELL` 信号,可能预示着上涨动能正在衰减,应考虑部分止盈或将止损位上移。反之,在空头趋势中出现 `WEAK BUY` 信号,可作为潜在的回调结束、趋势延续的信号。
3. **误区:指标参数使用默认值即可。**
**正确理解**:默认参数(如 MACD 的 12, 26, 9是基于传统日线级别市场统计得出的,具有广泛适用性,但不一定对所有交易品种和时间周期都是最优的。例如,对于波动性极高的新兴加密资产或在1分钟这样的超短周期上,可能需要更短的参数来提高指标的灵敏度。专业的量化交易者应对核心策略所涉及的品种和周期进行**参数回测与优化**,以找到最适合当前市场的参数组合。
4. **误区:信号一旦生成,就应立即执行。**
**正确理解**`generateSignal` 函数是在每根 K 线**收线时**进行计算的。信号的生成点是确定的,但执行点可以根据策略进行优化。例如,对于突破信号,可以等待价格小幅回调至突破位附近再入场,以获得更好的风险报酬比。对于趋势信号,可以结合盘口深度或订单流数据,选择在流动性较好的时机执行,以减少滑点成本。
5. **误区:可以完全依赖评分引擎,无需人工干预。**
**正确理解**:任何自动化交易系统都是基于历史数据的统计规律构建的,无法预见所有未来的市场极端情况(如“黑天鹅”事件)。该评分引擎是一个强大的决策**辅助**工具,而非全自动“印钞机”。建议将其作为半自动交易系统的核心,由交易员对 `STRONG` 级别的信号进行二次确认,并结合宏观经济日历、市场情绪等非结构化数据进行最终决策,实现人机结合的最佳效果。

查看文件

@@ -332,3 +332,151 @@ Squeeze 状态:布林带完全在肯特纳通道内 → squeeze=true蓄势
- [信号评分引擎](./信号评分引擎.md) — 了解各指标如何组合评分
- [大周期偏向判定](./大周期偏向判定.md) — 了解 EWO/MACD/AO 在大周期中的权重
- [EWO 阈值过滤完整流程](../../12_信号系统优化/EWO阈值过滤完整落地流程.md) — 优化建议
---
## 附录:数据说明与补充
本附录旨在对指标引擎中涉及的关键概念、数据规范及应用提供更详尽的说明,以帮助使用者更深刻地理解和应用这些工具。
### 一、核心指标深度解析
本文将对文档中提到的核心技术指标进行补充说明,涵盖其数据属性、应用场景及内部链接,以便于读者进行更深入的研究和应用。
#### 1. 移动平均线 (MA / EMA)
移动平均线是技术分析中最基础也最重要的工具之一,用于平滑价格数据,识别趋势方向。tradehk 系统中同时使用了简单移动平均MA和指数移动平均EMA
**数据说明**
| 属性 | 说明 |
| :--- | :--- |
| **计算公式** | MA: $$ MA_N(i) = \frac{1}{N} \sum_{k=0}^{N-1} C_{i-k} $$ <br> EMA: $$ EMA_N(i) = \frac{2}{N+1} \times C_i + \left(1 - \frac{2}{N+1}\right) \times EMA_N(i-1) $$ |
| **数据范围** | 与标的资产的价格范围保持一致。 |
| **单位** | 与标的资产的价格单位相同,如 USD、CNY。 |
| **精度要求** | 为保证计算的准确性,建议至少保留 4 位小数。 |
| **数据来源** | [K线](../../wiki/名词解释/K线.md)的收盘价Close序列。 |
**量化交易应用场景**
1. **趋势跟踪策略**:构建均线多头/空头排列策略。例如,当短期均线(如 MA10上穿长期均线如 MA100,且价格位于所有均线之上时,产生买入信号;反之则产生卖出信号。这是典型的[趋势跟踪](../../wiki/名词解释/趋势跟踪.md)系统。
2. **动态支撑与阻力**:将长期均线(如 EMA120视为动态的支撑位或阻力位。当价格回调至该均线附近并出现反弹迹象时,可视为潜在的入场机会。
3. **回归策略**:当价格大幅偏离其长期均线时,可建立均值回归模型,预期价格会向均线回归,从而进行反向交易。
#### 2. EWO (艾略特波浪振荡器)
EWO 通过计算两条不同周期的 EMA 之差,来衡量市场的动能和潜在的波浪结构,是 tradehk 信号引擎中的核心权重指标。
**数据说明**
| 属性 | 说明 |
| :--- | :--- |
| **计算公式** | $$ EWO(i) = EMA_{5}(C_i) - EMA_{35}(C_i) $$ |
| **数据范围** | 理论上无界,但通常围绕 0 轴在一定范围内波动。 |
| **单位** | 与标的资产的价格单位相同。 |
| **精度要求** | 建议保留 4 位小数。 |
| **数据来源** | 基于[K线](../../wiki/名词解释/K线.md)收盘价计算的 EMA(5) 和 EMA(35)。 |
**量化交易应用场景**
1. **主趋势识别**EWO 的正负值可作为判断当前市场主导力量的依据。EWO > 0 表明多头占优,策略应以做多为主;EWO < 0 表明空头占优,策略应以做空为主。tradehk 的大周期偏向判定正是基于此逻辑。
2. **零轴穿越信号**EWO 由负转正(上穿零轴)被视为强烈的买入信号,反之则为强烈的卖出信号。这通常标志着一轮新趋势的开始,可用于构建突破策略。
#### 3. MACD (指数平滑异同移动平均线)
MACD 是一个经典的趋势和动量指标,通过计算快慢速EMA的离差DIF和其本身的EMADEA,来捕捉价格动能的变化。
**数据说明**
| 属性 | 说明 |
| :--- | :--- |
| **计算公式** | $$ DIF(i) = EMA_{fast}(C_i) - EMA_{slow}(C_i) $$ <br> $$ DEA(i) = EMA_{signal}(DIF_i) $$ <br> $$ MACD_{Hist}(i) = DIF(i) - DEA(i) $$ |
| **数据范围** | 理论上无界。 |
| **单位** | 与标的资产的价格单位相同。 |
| **精度要求** | 建议保留 4-6 位小数,以精确捕捉交叉点。 |
| **数据来源** | [K线](../../wiki/名词解释/K线.md)收盘价序列。 |
**量化交易应用场景**
1. **金叉/死叉策略**:当 DIF 线MACD 线)自下而上穿过 DEA 线(信号线)形成“金叉”,为买入信号;反之形成“死叉”,为卖出信号。这是最常见的 MACD 应用方式。
2. **背离交易**:当价格创出新高而 MACD 指标未能创出新高时,形成“顶背离”,是潜在的下跌信号。反之,当价格创出新低而 MACD 未能创出新低时,形成“底背离”,是潜在的上涨信号。可用于[逆势交易](../../wiki/名词解释/逆势交易.md)。
#### 4. RSI (相对强弱指数)
RSI 是一个动量振荡器,衡量价格变动的速度和变化,用于判断市场的超买超卖状态。
**数据说明**
| 属性 | 说明 |
| :--- | :--- |
| **计算公式** | $$ RS = \frac{RMA(U, N)}{RMA(D, N)} $$ <br> $$ RSI = 100 - \frac{100}{1 + RS} $$ <br> 其中 U 为上涨期数,D 为下跌期数。 |
| **数据范围** | 0 至 100。 |
| **单位** | 无。 |
| **精度要求** | 建议保留 2 位小数。 |
| **数据来源** | [K线](../../wiki/名词解释/K线.md)收盘价序列。 |
**量化交易应用场景**
1. **超买超卖策略**:当 RSI 进入超买区(如 > 70并出现回落迹象时,执行卖出操作;当 RSI 进入超卖区(如 < 30并出现回升迹象时,执行买入操作。这是典型的振荡市策略。
2. **RSI 背离**:与 MACD 类似,RSI 的背离也是重要的交易信号,常用于捕捉趋势反转点。
### 二、指标参数参考表
下表整理了 tradehk 指标引擎中各核心指标的可配置参数、系统默认值及推荐的调整范围,供策略开发者参考。
| 指标 | 参数 | 推荐值/默认值 | 取值范围 | 说明 |
| :--- | :--- | :--- | :--- | :--- |
| **MA** | `period` | 10, 100 | 5 ~ 200 | 周期越短越灵敏,越长越平滑。 |
| **EMA** | `period` | 12, 26 | 5 ~ 200 | 用于计算 MACD 和 EWO 的基础。 |
| **MACD** | `fastPeriod` | 10 (非标) | 5 ~ 20 | 快速 EMA 周期。 |
| | `slowPeriod` | 20 (非标) | 20 ~ 50 | 慢速 EMA 周期。 |
| | `signalPeriod` | 10 (非标) | 7 ~ 12 | 信号线DEA的 EMA 周期。 |
| **RSI** | `period` | 14 | 7 ~ 30 | 计算 RSI 的时间窗口。 |
| | `overbought` | 70 | 60 ~ 80 | 超买阈值。 |
| | `oversold` | 30 | 20 ~ 40 | 超卖阈值。 |
| **KDJ** | `period` | 9 | 9 ~ 21 | 计算 RSV 的时间窗口。 |
| | `kSmooth` | 3 | 3 ~ 7 | K 值的平滑周期。 |
| | `dSmooth` | 3 | 3 ~ 7 | D 值的平滑周期。 |
| **Bollinger Bands** | `period` | 20 | 10 ~ 30 | 中轨 MA 的周期。 |
| | `stdDev` | 2 | 1.5 ~ 3.0 | 标准差倍数,决定带宽。 |
| **SuperTrend** | `period` | 10 | 7 ~ 21 | ATR 计算周期。 |
| | `multiplier` | 3 | 2.0 ~ 5.0 | ATR 乘数,决定趋势线的偏移量。 |
| **DMI/ADX** | `period` | 14 | 7 ~ 21 | +DI, -DI, ADX 的计算周期。 |
### 三、数据格式规范
为确保指标引擎的正确运行,输入的数据需遵循以下格式规范:
- **输入数据结构**:所有指标函数接收的输入为标准的 K 线数组,其数据结构定义如下:
```json
[
{
"timestamp": 1672531200000, // Unix 时间戳 (毫秒)
"open": 30000.1,
"high": 30500.5,
"low": 29800.0,
"close": 30450.2,
"volume": 1234.56
},
// ... more K-line objects
]
```
- **字段类型**
- `timestamp`: `number` (整数)
- `open`, `high`, `low`, `close`, `volume`: `number` (浮点数)
- **时间戳格式**:必须使用 **Unix 时间戳(毫秒)**,确保时间序列的准确性和一致性。
- **输出数据结构**:指标函数返回一个与输入等长的 `number[]` 数组。在计算周期不足无法生成有效指标值的位置,使用 `NaN` 进行填充。
### 四、常见误区与正确理解
1. **误区一:指标万能论**
- **错误理解**:认为某个或某组指标可以完美预测市场,信号一出现就立即交易。
- **正确理解**:任何技术指标都是对过去价格数据的统计和加工,具有滞后性。它们是辅助决策的工具,而非水晶球。必须结合市场结构、[成交量](../../wiki/名词解释/成交量.md)分析、宏观环境等多维度信息进行综合判断。
2. **误区二:参数神圣化**
- **错误理解**:痴迷于寻找一组“最优参数”,并认为这组参数永远有效。
- **正确理解**市场是动态变化的,不存在一劳永逸的“最优参数”。参数需要根据不同的交易品种、时间周期和市场环境进行适配和调整。过度优化Overfitting参数会导致策略在样本外表现急剧下降。
3. **误区三:忽略指标适用环境**
- **错误理解**:在所有市场环境下使用同一类指标。例如,在强趋势市场中使用振荡指标(如 RSI, Stoch
- **正确理解**:不同指标有不同的适用场景。趋势指标(如 MA, MACD, SuperTrend适用于趋势明显的市场;振荡指标如 RSI, KDJ适用于区间盘整市场。应首先判断当前市场状态,再选择合适的指标工具。
4. **误区四:只看金叉/死叉,不看位置**
- **错误理解**:只要 MACD 或 KDJ 出现金叉就买入,出现死叉就卖出。
- **正确理解**交叉信号的可靠性与其发生的位置密切相关。例如,KDJ 在超卖区(<20的金叉远比在 50 中轴附近的金叉更具参考价值。MACD 在零轴上方的金叉通常表示多头趋势的延续,而在零轴下方的金叉可能只是下跌趋势中的一次反弹。

查看文件

@@ -128,3 +128,91 @@ tradehk 采用**精英深色仪表盘**风格Elite Dark Dashboard
- [信号评分引擎](./信号评分引擎.md)
- [EWO转换检测机制](./EWO转换检测机制.md)
- [部署运维指南](./部署运维指南.md)
---
## 附录:数据说明与补充
本文档旨在对 tradehk 系统的核心概念、数据结构及关键参数进行深入阐述,以补充系统架构概览中的信息。内容涵盖了关键指标的量化定义、实际应用场景、数据格式规范、参数配置建议以及常见的设计与实践误区,旨在为开发者和使用者提供更全面的参考。
### 1. 核心指标量化详解
系统中的技术指标是信号生成与市场分析的基础。下表对核心指标的计算方法、数据属性及应用进行了详细说明。
| 指标名称 | 计算公式 (LaTeX) | 数据范围 | 单位 | 精度要求 | 数据来源 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **EWO** | $$ EWO = SMA(Close, 5) - SMA(Close, 34) $$ | (-∞, +∞) | 计价货币 | 4位小数 | 原始 K 线收盘价 |
| **MACD** | $$ MACD = EMA(Close, 12) - EMA(Close, 26) $$ | (-∞, +∞) | 计价货币 | 8位小数 | 原始 K 线收盘价 |
| **AO** | $$ AO = SMA(\frac{H+L}{2}, 5) - SMA(\frac{H+L}{2}, 34) $$ | (-∞, +∞) | 计价货币 | 8位小数 | 原始 K 线高低价 |
| **RSI** | $$ RSI = 100 - \frac{100}{1 + \frac{AvgGain}{AvgLoss}} $$ | [0, 100] | / | 2位小数 | 原始 K 线收盘价 |
#### 1.1 指标应用场景
- **EWO (艾略特波浪振荡器)**
1. **趋势识别**EWO 值持续为正且不断增大,通常预示着强劲的上升趋势;反之,持续为负且不断减小,则预示着下降趋势。可用于构建[趋势跟踪](../../wiki/名词解释/趋势跟踪.md)策略的入场过滤器。
2. **背离交易**:当价格创出新高而 EWO 未能创出新高时,形成“顶背离”,是潜在的卖出信号。反之,价格新低而 EWO 未创新低,形成“底背离”,是潜在的买入信号。
- **MACD (平滑异同移动平均线)**
1. **金叉/死叉交易**快线DIF由下向上穿越慢线DEA形成“金叉”,为买入信号;由上向下穿越形成“死叉”,为卖出信号。这是最经典的[动量策略](../../wiki/名词解释/动量策略.md)之一。
2. **零轴穿越**MACD 柱状图Histogram由负转正穿越零轴,表明市场情绪由空转多,可作为多头开仓的辅助判断;反之则为空头信号。
### 2. 关键数据结构定义
系统的数据流始于标准化的 K 线数据,并最终生成结构化的交易信号。明确其数据格式对于系统对接与二次开发至关重要。
#### 2.1 K线数据 (Candlestick Data)
K 线数据是所有技术分析的基础,系统直接采用 Binance API 的标准格式。
- **数据格式**: `Array<number | string>`
- **示例**: `[ 1499040000000, "4261.48000000", "4261.48000000", "4261.48000000", "4261.48000000", "1.48630000", 1499644799999, ... ]`
- **字段说明**:
| 索引 | 字段名 | 数据类型 | 描述 |
| :--- | :--- | :--- | :--- |
| 0 | Open time | `number` | K 线开盘时间戳 (毫秒, UTC) |
| 1 | Open | `string` | 开盘价 |
| 2 | High | `string` | 最高价 |
| 3 | Low | `string` | 最低价 |
| 4 | Close | `string` | 收盘价 |
| 5 | Volume | `string` | 成交量 (基础资产) |
| 6 | Close time | `number` | K 线收盘时间戳 (毫秒, UTC) |
#### 2.2 交易信号 (Signal)
当指标满足特定条件时,信号引擎会生成一条记录,并持久化至数据库。
- **数据格式**: `JSON Object`
- **字段说明**:
| 字段名 | 数据类型 | 描述 | 示例 |
| :--- | :--- | :--- | :--- |
| `id` | `number` | 唯一标识符 | `101` |
| `userId` | `number` | 关联的用户 ID | `1` |
| `symbol` | `string` | 交易对 | `"BTCUSDT"` |
| `interval` | `string` | K 线周期 | `"10m"` |
| `direction` | `"LONG" \| "SHORT"` | 信号方向 | `"LONG"` |
| `timestamp` | `string` | 信号触发时间 (ISO 8601) | `"2026-03-06T12:30:00.000Z"` |
| `createdAt` | `string` | 记录创建时间 (ISO 8601) | `"2026-03-06T12:30:03.123Z"` |
### 3. 系统参数配置参考
合理的参数配置是确保系统稳定、高效运行的关键。下表提供了对 `docker-compose.yml` 中核心环境变量的配置建议。
| 参数 | 推荐值 | 取值范围 | 说明 |
| :--- | :--- | :--- | :--- |
| `MARKET_ENGINE_POLL_MS` | 15000 | `10000` - `60000` | 引擎轮询间隔。过短会增加 API 请求频率,可能触发风控;过长则降低信号时效性。15秒是时效性与资源消耗的良好平衡点。 |
| `MARKET_SUMMARY_INTERVAL_HOURS` | 6 | `1` - `24` | 定期市场总结推送的间隔。对于活跃交易者,可缩短至 2-4 小时;对于长期观察者,可延长至 8-12 小时。 |
| `CACHE_CANDLE_LIMIT` | 300 | `250` - `1000` | K 线缓存数量。该值需覆盖所有指标计算所需的最大周期(如 MACD 的 26周期、EWO 的 34周期。300根可满足大部分常用指标计算。 |
| `signalLarkThrottleMinutes` | 5 | `0` - `60` | 同一交易对同方向信号的推送冷却时间。设为 0 表示不节流。建议设为 5-10 分钟,避免因市场震荡导致重复的[信号轰炸](../../wiki/名词解释/信号轰炸.md)。 |
### 4. 常见误区与正确理解
1. **误区:轮询间隔越短,信号越及时。**
**正确理解**:信号的及时性受限于 K 线周期。对于 `10m` 周期的 K 线,只有在当前 K 线收盘后,其指标值才能最终确定。因此,将轮询间隔设为远小于 K 线周期的值如1秒并无实际意义,反而会因请求未收盘 K 线而产生大量无效计算和 API 调用。轮询间隔应与[交易策略](../../wiki/名词解释/交易策略.md)的反应速度相匹配。
2. **误区:前端计算的指标与服务端完全一致。**
**正确理解**:前端和服务端在 K 线数据的获取和更新机制上存在差异。前端通过 [WebSocket](../../wiki/名词解释/WebSocket.md) 实时更新最新价格,导致当前 K 线不断变化;而服务端在固定时间间隔通过 [REST API](../../wiki/名词解释/REST API.md) 拉取已收盘的 K 线快照。因此,只有对于已完全收盘的 K 线,两者的指标计算结果才能保证一致。
3. **误区EWO 颜色转换即是反转信号。**
**正确理解**EWO 由绿转红或由红转绿,仅表示短期动能5周期均线与长期动能34周期均线的相对强弱发生了变化,可视为潜在的趋势转折“警示”,而非确定的反转信号。它需要结合价格行为、成交量或其他指标进行综合判断,以过滤掉盘整行情中的大量“毛刺”信号。