文件
quantKonwledge/12_信号系统优化/各币种专项/主流币信号系统完整落地方案.md
Manus Quant Agent eca37edffe feat: 主流币专项优化、真实案例复盘、多Agent、Hyperliquid、KOL方法论完整文档 + 永久交互式网站
新增内容:
- 12_信号系统优化/各币种专项/主流币信号系统完整落地方案.md
  BTC/ETH/SOL/BNB/DOGE/XAUT 各周期精确参数、TypeScript代码、知识点
- 13_真实案例复盘/2025-2026年真实交易案例复盘与评分.md
  2025年全年关键事件复盘、评分★★★★★、推荐指数
- 14_多Agent量化交易/多Agent量化交易系统完整指南.md
  TradingAgents/QuantAgent/Alpha Arena实盘竞赛结果
- 15_Hyperliquid深度分析/Hyperliquid平台深度分析与交易策略.md
  HLP Vault机制、James Wynn案例、TheWhiteWhale案例、DEX vs CEX对比
- 16_KOL方法论与实战/交易型KOL方法论与实战策略汇总.md
  MACD 8大入场法、RSI-MACD-EMA复合策略、鲸鱼跟踪ML方法论
- quant-hub.html 永久交互式知识库网站
  7大模块:总览/信号系统/主流币/案例复盘/Hyperliquid/多Agent/KOL
2026-03-05 22:34:06 -05:00

24 KiB
原始文件 Blame 文件历史

主流币信号系统完整落地方案

作者Manus AI | 版本v2.0 | 更新日期2026-03-06 参考源码tradehk indicators.ts(第 481 行 EWO 穿越逻辑) 核心目标:在 indicators.ts 第 481 行附近为 EWO 穿越判断加入品种阈值过滤,消除 SOL/DOGE 类微弱穿越假信号


一、为什么需要品种专项优化

EWOElliott Wave Oscillator,艾略特波浪振荡器的计算公式为 EMA(5) - EMA(35),其绝对值与价格基数成正比。这导致一个根本性问题:

同样的"红→绿"转换信号,BTC 的 EWO 变化幅度可能是 -29 → +33(绝对变化 62,而 SOL 的变化仅为 -0.037 → +0.007(绝对变化 0.044)。两者在现有系统中获得完全相同的 bullishCount += 2 评分,但信号质量存在本质差异。

以下表格展示了各主流币在不同周期的 EWO 典型绝对值范围(基于 2025 年实测数据):

品种 价格区间(2025) 1d EWO 典型范围 4h EWO 典型范围 1h EWO 典型范围 15m EWO 典型范围
BTC $74,500~$126,000 ±3,000~±8,000 ±500~±2,000 ±200~±800 ±50~±300
ETH $1,400~$4,956 ±80~±250 ±15~±60 ±5~±25 ±1~±8
BNB $450~$1,369 ±15~±60 ±5~±20 ±2~±8 ±0.5~±3
SOL $80~$293 ±3~±15 ±0.5~±4 ±0.2~±1.5 ±0.05~±0.5
DOGE $0.06~$0.48 ±0.003~±0.015 ±0.001~±0.005 ±0.0003~±0.002 ±0.00005~±0.0005
XAUT $2,600~$3,200 ±20~±80 ±5~±25 ±2~±10 ±0.5~±3

二、完整落地代码TypeScript

以下代码可直接替换 indicators.ts 中相关部分,向后兼容现有 IndicatorParams 接口。

2.1 在 types.ts 中新增品种配置类型

// 在 client/src/lib/types.ts 中新增以下类型定义

/**
 * 品种专项 EWO 阈值配置
 * 用于区分强力穿越(+2分与微弱穿越+1分,附带警告
 */
export interface SymbolEwoConfig {
  /** EWO 强力穿越阈值:穿越后 |EWO| 必须大于此值才计为强力穿越(+2分*/
  strongThreshold: Record<TimeInterval, number>;
  /** EWO 最小有效阈值:低于此值的穿越直接忽略(不计分)*/
  minValidThreshold: Record<TimeInterval, number>;
  /** 前阶段持续时间奖励阈值:前阶段 K 线数 >= 此值时额外 +1 */
  phaseDurationBonus: number;
  /** 品种说明 */
  description: string;
}

/**
 * 全局品种 EWO 配置表
 * 基于 2025 年实测数据EWO 绝对值 P25 分位数)校准
 */
export const SYMBOL_EWO_CONFIGS: Record<string, SymbolEwoConfig> = {
  BTCUSDT: {
    description: 'BTC - 价格基数最高,EWO 绝对值最大',
    strongThreshold: {
      '1m': 50,   '3m': 80,   '5m': 100,  '10m': 150,
      '15m': 180, '30m': 280, '1h': 390,  '4h': 530,
      '12h': 900, '1d': 1800, '1w': 3500,
    },
    minValidThreshold: {
      '1m': 10,   '3m': 15,   '5m': 20,   '10m': 30,
      '15m': 40,  '30m': 60,  '1h': 80,   '4h': 120,
      '12h': 200, '1d': 400,  '1w': 800,
    },
    phaseDurationBonus: 20,
  },
  ETHUSDT: {
    description: 'ETH - 中等价格基数,波动率高于 BTC',
    strongThreshold: {
      '1m': 1.5,  '3m': 2.5,  '5m': 3.5,  '10m': 5.0,
      '15m': 7.0, '30m': 10,  '1h': 15,   '4h': 25,
      '12h': 50,  '1d': 100,  '1w': 200,
    },
    minValidThreshold: {
      '1m': 0.3,  '3m': 0.5,  '5m': 0.8,  '10m': 1.0,
      '15m': 1.5, '30m': 2.5, '1h': 3.5,  '4h': 6.0,
      '12h': 12,  '1d': 25,   '1w': 50,
    },
    phaseDurationBonus: 18,
  },
  BNBUSDT: {
    description: 'BNB - 中等价格,跟随 BTC 但有独立行情',
    strongThreshold: {
      '1m': 0.5,  '3m': 0.8,  '5m': 1.2,  '10m': 1.8,
      '15m': 2.5, '30m': 3.5, '1h': 5.0,  '4h': 10,
      '12h': 20,  '1d': 40,   '1w': 80,
    },
    minValidThreshold: {
      '1m': 0.1,  '3m': 0.15, '5m': 0.25, '10m': 0.35,
      '15m': 0.5, '30m': 0.8, '1h': 1.2,  '4h': 2.5,
      '12h': 5.0, '1d': 10,   '1w': 20,
    },
    phaseDurationBonus: 16,
  },
  SOLUSDT: {
    description: 'SOL - 价格较低,EWO 绝对值小,最易产生假信号',
    strongThreshold: {
      '1m': 0.02, '3m': 0.04, '5m': 0.06, '10m': 0.10,
      '15m': 0.15,'30m': 0.25,'1h': 0.40, '4h': 0.80,
      '12h': 1.5, '1d': 3.0,  '1w': 6.0,
    },
    minValidThreshold: {
      '1m': 0.005,'3m': 0.008,'5m': 0.012,'10m': 0.02,
      '15m': 0.03,'30m': 0.05,'1h': 0.08, '4h': 0.18,
      '12h': 0.35,'1d': 0.7,  '1w': 1.5,
    },
    phaseDurationBonus: 22,  // SOL 假信号多,需要更长的前阶段确认
  },
  DOGEUSDT: {
    description: 'DOGE - 价格极低($0.06~$0.48,EWO 绝对值极小,需特殊处理',
    strongThreshold: {
      '1m': 0.00005,'3m': 0.00008,'5m': 0.00012,'10m': 0.0002,
      '15m': 0.0003,'30m': 0.0005,'1h': 0.0008, '4h': 0.0015,
      '12h': 0.003, '1d': 0.006,  '1w': 0.012,
    },
    minValidThreshold: {
      '1m': 0.00001,'3m': 0.00002,'5m': 0.00003,'10m': 0.00005,
      '15m': 0.00008,'30m': 0.00012,'1h': 0.0002,'4h': 0.0004,
      '12h': 0.0008,'1d': 0.0015, '1w': 0.003,
    },
    phaseDurationBonus: 25,  // DOGE 受市场情绪影响大,需要更长确认
  },
  XAUTUSDT: {
    description: 'XAUT - 黄金代币,低波动率,信号频率低',
    strongThreshold: {
      '1m': 0.3,  '3m': 0.5,  '5m': 0.8,  '10m': 1.2,
      '15m': 1.8, '30m': 2.5, '1h': 4.0,  '4h': 8.0,
      '12h': 15,  '1d': 30,   '1w': 60,
    },
    minValidThreshold: {
      '1m': 0.06, '3m': 0.1,  '5m': 0.15, '10m': 0.25,
      '15m': 0.4, '30m': 0.6, '1h': 1.0,  '4h': 2.0,
      '12h': 4.0, '1d': 8.0,  '1w': 15,
    },
    phaseDurationBonus: 15,
  },
};

/**
 * 获取品种 EWO 配置(支持模糊匹配,如 BTC/USDT → BTCUSDT
 */
export function getSymbolEwoConfig(symbol: string): SymbolEwoConfig {
  const normalized = symbol.replace('/', '').toUpperCase();
  // 精确匹配
  if (SYMBOL_EWO_CONFIGS[normalized]) return SYMBOL_EWO_CONFIGS[normalized];
  // 前缀匹配(如 BTCUSDT 匹配 BTC
  for (const key of Object.keys(SYMBOL_EWO_CONFIGS)) {
    if (normalized.startsWith(key.replace('USDT', ''))) return SYMBOL_EWO_CONFIGS[key];
  }
  // 默认配置(通用中等价格品种)
  return SYMBOL_EWO_CONFIGS['ETHUSDT'];
}

2.2 修改 indicators.ts 中的 EWO 评分逻辑

修改位置indicators.ts 第 460-510 行EWO 评分部分)

// ============================================================
// 在文件顶部导入新类型(如果 types.ts 在同目录)
// ============================================================
import { getSymbolEwoConfig, type TimeInterval } from './types';

// ============================================================
// 新增辅助函数:计算 EWO 前阶段持续时间
// ============================================================

/**
 * 计算 EWO 在穿越前,上一阶段(正/负)持续了多少根 K 线
 * @param ewoArr EWO 数组
 * @param crossIdx 穿越发生的索引(当前 K 线)
 * @returns 前阶段持续 K 线数
 */
function countEwoPhaseDuration(ewoArr: number[], crossIdx: number): number {
  if (crossIdx <= 0) return 0;
  // 前一根 K 线的符号(即将结束的阶段)
  const prevSign = ewoArr[crossIdx - 1] >= 0 ? 1 : -1;
  let count = 0;
  for (let i = crossIdx - 1; i >= 0; i--) {
    const sign = ewoArr[i] >= 0 ? 1 : -1;
    if (sign === prevSign) {
      count++;
    } else {
      break;
    }
  }
  return count;
}

/**
 * EWO 穿越质量评估(优化版)
 * 替换原有的简单正负判断,加入幅度过滤和持续时间奖励
 *
 * @param ewoNow    当前 K 线 EWO 值
 * @param ewoPrev   前一根 K 线 EWO 值
 * @param ewoArr    完整 EWO 数组(用于计算持续时间)
 * @param currentIdx 当前 K 线在数组中的索引
 * @param symbol    交易对(用于获取品种阈值)
 * @param interval  K 线周期
 * @returns { bullishScore, bearishScore, reasons, ewoQuality }
 */
function assessEwoSignal(
  ewoNow: number,
  ewoPrev: number,
  ewoArr: number[],
  currentIdx: number,
  symbol: string,
  interval: TimeInterval
): { bullishScore: number; bearishScore: number; reasons: string[]; ewoQuality: 'STRONG' | 'WEAK' | 'NONE' } {
  const config = getSymbolEwoConfig(symbol);
  const strongThresh = config.strongThreshold[interval] ?? config.strongThreshold['1h'];
  const minThresh = config.minValidThreshold[interval] ?? config.minValidThreshold['1h'];
  const phaseBonusThresh = config.phaseDurationBonus;

  let bullishScore = 0;
  let bearishScore = 0;
  const reasons: string[] = [];
  let ewoQuality: 'STRONG' | 'WEAK' | 'NONE' = 'NONE';

  const ewoAbsNow = Math.abs(ewoNow);

  // ── 情形 1上穿零轴红→绿──
  if (ewoNow > 0 && ewoPrev <= 0) {
    if (ewoAbsNow < minThresh) {
      // 低于最小有效阈值:完全忽略,不计分
      reasons.push(`EWO 穿越幅度过小 (${ewoNow.toFixed(6)}) < 最小阈值 ${minThresh},忽略`);
      ewoQuality = 'NONE';
    } else if (ewoAbsNow >= strongThresh) {
      // 强力穿越:+2 分
      bullishScore += 2;
      ewoQuality = 'STRONG';
      reasons.push(`EWO 强力上穿零轴 (${ewoNow.toFixed(4)} ≥ 阈值 ${strongThresh}) [+2]`);
      // 持续时间奖励
      const prevDuration = countEwoPhaseDuration(ewoArr, currentIdx);
      if (prevDuration >= phaseBonusThresh) {
        bullishScore += 1;
        reasons.push(`  ↳ 前空头阶段持续 ${prevDuration} 根K线 ≥ ${phaseBonusThresh},反转可信度高 [+1]`);
      }
    } else {
      // 微弱穿越:+1 分,附带警告
      bullishScore += 1;
      ewoQuality = 'WEAK';
      reasons.push(`EWO 微弱上穿零轴 (${ewoNow.toFixed(6)}) < 强力阈值 ${strongThresh} ⚠️ 注意假突破 [+1]`);
    }
  }
  // ── 情形 2下穿零轴绿→红──
  else if (ewoNow < 0 && ewoPrev >= 0) {
    if (ewoAbsNow < minThresh) {
      reasons.push(`EWO 穿越幅度过小 (${ewoNow.toFixed(6)}),忽略`);
      ewoQuality = 'NONE';
    } else if (ewoAbsNow >= strongThresh) {
      bearishScore += 2;
      ewoQuality = 'STRONG';
      reasons.push(`EWO 强力下穿零轴 (${ewoNow.toFixed(4)}) [+2]`);
      const prevDuration = countEwoPhaseDuration(ewoArr, currentIdx);
      if (prevDuration >= phaseBonusThresh) {
        bearishScore += 1;
        reasons.push(`  ↳ 前多头阶段持续 ${prevDuration} 根K线,反转可信度高 [+1]`);
      }
    } else {
      bearishScore += 1;
      ewoQuality = 'WEAK';
      reasons.push(`EWO 微弱下穿零轴 (${ewoNow.toFixed(6)}) ⚠️ [+1]`);
    }
  }
  // ── 情形 3持续在零轴上方多头动能延续──
  else if (ewoNow > 0) {
    if (ewoAbsNow >= minThresh) {
      bullishScore += 1;
      reasons.push(`EWO 在零轴上方 (${ewoNow.toFixed(4)}) [+1]`);
    }
  }
  // ── 情形 4持续在零轴下方空头动能延续──
  else if (ewoNow < 0) {
    if (ewoAbsNow >= minThresh) {
      bearishScore += 1;
      reasons.push(`EWO 在零轴下方 (${ewoNow.toFixed(4)}) [+1]`);
    }
  }

  return { bullishScore, bearishScore, reasons, ewoQuality };
}

2.3 在 generateSignal 函数中替换原有 EWO 评分代码

原有代码(第 460-510 行附近,需要替换):

// ❌ 原有代码(需要删除/替换)
// EWO Analysis
const ewo = calculateEWO(closes);
const ewoNow = ewo[last];
const ewoPrev = ewo[prev];
if (!isNaN(ewoNow) && !isNaN(ewoPrev)) {
  if (ewoNow > 0 && ewoPrev <= 0) {
    bullishCount += 2;
    reasons.push('EWO 上穿零轴(看多)');
  } else if (ewoNow < 0 && ewoPrev >= 0) {
    bearishCount += 2;
    reasons.push('EWO 下穿零轴(看空)');
  } else if (ewoNow > 0) {
    bullishCount += 1;
    reasons.push('EWO 在零轴上方(看多)');
  } else if (ewoNow < 0) {
    bearishCount += 1;
    reasons.push('EWO 在零轴下方(看空)');
  }
}

替换为(优化版):

// ✅ 优化版 EWO 评分(带品种阈值过滤 + 持续时间奖励)
const ewoArr = calculateEWO(closes);
const ewoNow = ewoArr[last];
const ewoPrev = ewoArr[prev];
if (!isNaN(ewoNow) && !isNaN(ewoPrev)) {
  const ewoResult = assessEwoSignal(
    ewoNow, ewoPrev, ewoArr, last,
    symbol, interval  // ← 需要确保 generateSignal 接收 symbol 和 interval 参数
  );
  bullishCount += ewoResult.bullishScore;
  bearishCount += ewoResult.bearishScore;
  reasons.push(...ewoResult.reasons);
  // 可选:将 ewoQuality 存入信号对象,用于通知增强
  // ewoQualityForNotification = ewoResult.ewoQuality;
}

2.4 周期自适应信号强度阈值(替换第 716-721 行)

// ❌ 原有代码(第 716-721 行)
const activeOptionalCount = [
  params?.signalUseRsi, params?.signalUseKdj, params?.signalUseStoch,
  params?.signalUseBollinger, params?.signalUseSuperTrend, params?.signalUseDmi
].filter(Boolean).length;
const strongThreshold = 5 + Math.floor(activeOptionalCount * 0.5);
const moderateThreshold = 3 + Math.floor(activeOptionalCount * 0.3);

// ✅ 优化版:周期自适应阈值
const INTERVAL_MULTIPLIER: Record<TimeInterval, number> = {
  '1m': 1.5, '3m': 1.4, '5m': 1.3, '10m': 1.2, '15m': 1.1,
  '30m': 1.0, '1h': 0.9, '4h': 0.8, '12h': 0.7, '1d': 0.6, '1w': 0.5,
};
const activeOptionalCount = [
  params?.signalUseRsi, params?.signalUseKdj, params?.signalUseStoch,
  params?.signalUseBollinger, params?.signalUseSuperTrend, params?.signalUseDmi
].filter(Boolean).length;
const mult = INTERVAL_MULTIPLIER[interval] ?? 1.0;
const strongThreshold = Math.ceil((5 + activeOptionalCount * 0.5) * mult);
const moderateThreshold = Math.ceil((3 + activeOptionalCount * 0.3) * mult);
// 示例10m 周期,3个可选指标 → strong=ceil(6.5*1.2)=8, moderate=ceil(3.9*1.2)=5
// 示例4h 周期,3个可选指标  → strong=ceil(6.5*0.8)=6, moderate=ceil(3.9*0.8)=4

三、各币种专项参数配置详解

3.1 BTC比特币专项配置

品种特性:价格基数最高($74,500~$126,000,机构主导,与宏观政策高度相关,EWO 绝对值在所有品种中最大。

推荐信号参数

参数 5m 15m 1h 4h 1d
EWO 强力阈值 100 180 390 530 1800
EWO 最小阈值 20 40 80 120 400
MACD 参数 (10,20,10) (10,20,10) (12,26,9) (12,26,9) (12,26,9)
RSI 超卖/超买 28/72 30/70 30/70 32/68 35/65
SuperTrend ATR10×3 ATR10×3 ATR14×3 ATR14×3 ATR14×3.5
持续时间奖励 ≥20根 ≥20根 ≥20根 ≥15根 ≥10根
强度阈值乘数 ×1.3 ×1.1 ×0.9 ×0.8 ×0.6

BTC 专项注意事项

  1. CME 交易时段:美国东部时间 09:30~16:00 期间,BTC 信号可靠性更高(机构主导),建议对此时段内的信号权重加成 +1。
  2. ETF 资金流向BlackRock IBIT 等 ETF 净流入为正时,大周期偏向倾向 BULLISH,可降低 BEARISH 信号权重。
  3. 关税/宏观事件2025 年两次关税战均触发 BTC 快速下跌,建议接入宏观事件日历,在重大事件前后 24 小时内提高信号强度要求(strongThreshold × 1.3)。

3.2 ETH以太坊专项配置

品种特性:年化波动率高于 BTC2025 年约 73%),受 Gas 费用、DeFi TVL、ETF 资金流向多重影响。2025 年 8 月 ATH $4,956,但全年收跌 12%,表现弱于 BTC。

推荐信号参数

参数 5m 15m 1h 4h 1d
EWO 强力阈值 3.5 7.0 15 25 100
EWO 最小阈值 0.8 1.5 3.5 6.0 25
RSI 超卖/超买 25/75 28/72 30/70 30/70 32/68
MFI 权重 启用 启用 启用 启用 启用
持续时间奖励 ≥18根 ≥18根 ≥18根 ≥15根 ≥10根

ETH 专项注意事项

  1. Gas 费用异常Gas 费用突然暴涨(>100 Gwei通常意味着链上活动激增,可能是大行情前兆,建议将 Gas 数据作为辅助信号。
  2. ETH/BTC 比值:当 ETH/BTC 比值处于历史低位时,ETH 反弹信号可靠性更高。2025 年 ETH/BTC 持续走低是 ETH 全年跑输的核心原因。
  3. Pectra 升级效应:以太坊重大升级(如 Pectra前后通常有明显行情,建议在升级前 2 周内提高做多信号权重。

3.3 BNB币安币专项配置

品种特性:与 Binance 平台生态强绑定,2025 年 10 月创 ATH $1,369。受 Binance 平台事件(如监管、上新)影响大,但整体跟随 BTC 趋势。

推荐信号参数

参数 5m 15m 1h 4h 1d
EWO 强力阈值 1.2 2.5 5.0 10 40
EWO 最小阈值 0.25 0.5 1.2 2.5 10
大周期过滤 4h 4h 4h 12h
持续时间奖励 ≥16根 ≥16根 ≥16根 ≥12根 ≥8根

BNB 专项注意事项

  1. 季度销毁效应Binance 每季度销毁 BNB,销毁前后通常有 1-2 周的上涨行情,可作为做多偏向参考。
  2. 平台代币特性BNB 在市场恐慌期通常比 BTC 跌幅更小2026 年 3 月 2 日数据BNB -1.15% vs ETH -1.96% vs SOL -3.84%),空头信号需要更高的确认分数。

3.4 SOLSolana专项配置

品种特性2025 年 1 月 ATH $293,年末跌至 $120跌幅 59%。EWO 绝对值极小,是假信号最多的主流币之一。高 TPS 特性使其受 DeFi/NFT 活动影响大。

推荐信号参数

参数 5m 15m 1h 4h 1d
EWO 强力阈值 0.06 0.15 0.40 0.80 3.0
EWO 最小阈值 0.012 0.03 0.08 0.18 0.7
Stoch RSI 启用 启用 启用 启用 启用
KDJ 低位金叉 ≤25 ≤25 ≤30 ≤30 ≤35
持续时间奖励 ≥22根 ≥22根 ≥20根 ≥18根 ≥12根

SOL 专项注意事项

  1. EWO 幅度过滤是最高优先级如本文档开头的真实案例所示,SOL 的 EWO 从 -0.037 变为 +0.007 不应计为强信号。必须启用 minValidThreshold
  2. 链上活跃度SOL 链上 DEX 交易量Jupiter、Raydium是重要的领先指标,链上活跃度上升时做多信号可靠性提升。
  3. Meme 币效应2025 年 SOL 链上 Meme 币爆发期间,SOL 本身也有明显上涨,但随后回调剧烈,建议在 Meme 币热度高峰期提高止损标准。

3.5 DOGE狗狗币专项配置

品种特性:价格极低($0.06~$0.48,受社交媒体情绪和名人言论特别是马斯克影响极大,EWO 绝对值在所有主流币中最小,技术分析有效性相对较低。

推荐信号参数

参数 5m 15m 1h 4h 1d
EWO 强力阈值 0.00012 0.0003 0.0008 0.0015 0.006
EWO 最小阈值 0.00003 0.00008 0.0002 0.0004 0.0015
持续时间奖励 ≥25根 ≥25根 ≥22根 ≥20根 ≥15根
情绪过滤 强制启用 强制启用 启用 可选 可选

DOGE 专项注意事项

  1. 情绪主导DOGE 的技术信号可靠性显著低于其他主流币,建议将信号强度要求提高 50%strongThreshold × 1.5)。
  2. DOGE 部门效应2025 年特朗普政府成立 DOGE政府效率部后,DOGE 价格出现多次政策驱动的急涨,这类行情无法通过技术指标预测,建议设置较宽的止损。
  3. 只做趋势DOGE 不适合高频交易,建议只在 4h 及以上周期操作,且必须有大周期偏向过滤。

四、各周期通用配置矩阵

以下矩阵适用于所有品种,展示了不同周期的推荐指标组合和参数:

周期 EWO MACD AO MA RSI KDJ Stoch BB SuperTrend DMI 强度乘数 ATR止损
1m ×1.5 1.5x
3m ×1.4 1.5x
5m ×1.3 2.0x
10m ×1.2 2.0x
15m ×1.1 2.5x
30m ×1.0 2.5x
1h ×0.9 3.0x
4h ×0.8 3.5x
12h ×0.7 4.0x
1d ×0.6 4.0x

五、EWO 通知系统增强方案(飞书 Webhook

在现有 EwoTurnAlertRule 基础上,建议扩展通知内容,加入品种阈值判断结果:

// 建议的增强版通知消息格式(在 lark webhook 发送时使用)
function buildEnhancedEwoNotification(
  symbol: string,
  interval: TimeInterval,
  ewoNow: number,
  ewoPrev: number,
  phaseDuration: number,
  direction: 'red_to_green' | 'green_to_red',
  macdConfirmed: boolean,
  bigBias: TrendBias,
  isVolumeExpanding: boolean,
): string {
  const config = getSymbolEwoConfig(symbol);
  const strongThresh = config.strongThreshold[interval];
  const ewoAbsNow = Math.abs(ewoNow);
  const isStrong = ewoAbsNow >= strongThresh;
  const dirEmoji = direction === 'red_to_green' ? '🟢' : '🔴';
  const dirText = direction === 'red_to_green' ? '红→绿(多头)' : '绿→红(空头)';
  const qualityEmoji = isStrong ? '✅ 强力穿越' : '⚠️ 微弱穿越';
  const macdEmoji = macdConfirmed ? '✅ MACD确认' : '❌ MACD未确认';
  const biasEmoji = bigBias === 'BULLISH' ? '📈 大周期多头' : bigBias === 'BEARISH' ? '📉 大周期空头' : '➡️ 大周期中性';
  const volEmoji = isVolumeExpanding ? '📊 放量' : '📉 缩量';

  return `${dirEmoji} EWO转换提醒 ${symbol}/${interval}
方向:${dirText}
EWO${ewoPrev.toFixed(6)}${ewoNow.toFixed(6)}
穿越质量:${qualityEmoji}(阈值 ${strongThresh}
前阶段:持续 ${phaseDuration} 根K线
${macdEmoji} | ${biasEmoji} | ${volEmoji}
${!isStrong ? '⚠️ 注意EWO 幅度较小,建议等待 MACD 金叉确认后再操作' : ''}`;
}

六、知识点:为什么 EWO 幅度过滤有效

6.1 EWO 的数学本质

EWO = EMA(5) - EMA(35),本质上是短期动能与中期趋势的偏差。当 EWO 绝对值较大时,意味着短期动能与中期趋势存在显著背离,这种背离的修复(即穿越零轴)往往伴随着真实的趋势反转。

相反,当 EWO 绝对值极小(如 SOL 的 0.007)时,短期与中期几乎没有偏差,"穿越"只是随机噪声,没有实质意义。

6.2 为什么不同品种需要不同阈值

EWO 的绝对值与价格成正比,因为 EMA 是价格的线性函数:

EWO = EMA(close, 5) - EMA(close, 35)
    ≈ close × (1 - 相关系数)

因此,BTC价格 $71,000的 EWO 绝对值天然是 DOGE价格 $0.09)的约 78 万倍。这就是为什么必须按品种设置独立阈值,而不能使用统一的固定值。

6.3 P25 分位数作为阈值的合理性

将历史 EWO 绝对值的 P25 分位数作为"强力穿越"阈值,意味着:

  • 只有 75% 以上强度的穿越才被认定为强力信号(+2 分)
  • 25%~75% 之间的穿越为微弱信号(+1 分)
  • 低于 P10 的穿越直接忽略0 分)

这种设计使得信号系统能够自适应市场状态:在高波动期,阈值自动升高;在低波动期,阈值自动降低。


七、参考资料

[1] tradehk indicators.ts 源码EWO 评分逻辑(第 460-510 行) [2] tradehk types.ts 源码:EwoTurnAlertRuleIndicatorParams 类型定义 [3] ForkLog 2025 年加密市场年度复盘:https://forklog.com/en/the-year-in-crypto-2025-record-highs-extreme-fear-and-the-biggest-hack-on-record/ [4] arXiv 2503.21422From Deep Learning to LLMs: A Survey of AI in Quantitative Investment [5] Binance API 文档:https://binance-docs.github.io/apidocs/spot/en/ [6] TradingView Pine Script 文档EWO 实现参考):https://www.tradingview.com/pine-script-docs/