蜡烛图精解(第三版)— 完整实施规范

基于Gregory L. Morris,Candlestick Charting Explained: Timeless Techniques for Trading Stocks and Futures(第三版,2006年)


目录

  1. 概述
  2. 第三版的变化
  3. 精化的形态定义
  4. 更新的回测结果
  5. 形态过滤与确认
  6. 与现代技术工具的整合
  7. 新增和扩展的形态
  8. 形态可靠性排名
  9. 多时间周期蜡烛图分析
  10. 成交量与蜡烛图整合
  11. 算法实施注意事项
  12. 实施伪代码
  13. 关键引述

1. 概述

Gregory Morris的《蜡烛图精解》自1992年第一版以来一直是日语蜡烛图形态最权威的英语参考资料。2006年出版的第三版进行了重大更新,纳入了十多年额外的研究、回测数据和实际应用经验。

第一版和第二版建立了形态分类学和基本解释框架,第三版增加了几个关键维度:严格的形态可靠性统计测试,减少假信号的改进过滤技术,与西方技术分析工具的整合,以及算法实施的实践指导。

1.1 与典藏版的关系

典藏版(单独的总结中涵盖)侧重于所有蜡烛图形态及其传统解释的综合目录。本第三版总结专门关注新的或精化的内容:实证测试结果、过滤方法论,以及将蜡烛图分析从艺术转变为应用科学的现代整合技术。

1.2 Morris不断发展的哲学

到了第三版,Morris的方法已显著成熟。他从形态目录方法("学习所有形态")转变为系统方法论("测试形态,过滤信号,用其他工具确认")。这一转变反映了技术分析从视觉形态识别到量化、循证交易的更广泛成熟。


2. 第三版的变化

2.1 主要添加和修订

特性 第一/二版 第三版
形态数量 综合目录 相同目录,带统计注释
回测 极少或轶事 带可靠性百分比的系统性回测
过滤 基本(先前趋势,确认) 多层过滤(趋势,指标,成交量)
现代工具 简要提及 与RSI、MACD、布林带详细整合
算法注释 形态识别编程指导
市场应用 主要股票/期货 扩展到外汇、ETF、期权
时间周期 专注于日线 多时间周期分析框架

2.2 更新的市场数据

第三版纳入了到2000年代中期数据,这意味着它涵盖了早期版本中没有的几个额外市场周期:

这些额外数据在牛市和熊市条件下提供了更稳健的测试,这对验证反转形态至关重要。

2.3 重点转变

Morris越来越强调蜡烛图形态永远不应单独使用。第三版将这一点作为中心主题:蜡烛图形态是交易系统的组成部分,而非完整的系统本身。这代表了与第一版的重大转变,第一版像大多数早期蜡烛图书籍一样,倾向于将形态作为独立信号呈现。


3. 精化的形态定义

3.1 收紧的识别标准

第三版为形态识别提供了更精确的数学定义,取代了早期版本中一些主观的标准。

十字星精化:

之前的定义:
  开等于收(或几乎如此)

第三版定义:
  |收 - 开| / (高 - 低) < 阈值

  阈值因上下文而异:
    短期交易:0.05(范围的5%)
    波段交易:0.10(范围的10%)
    长期分析:0.15(范围的15%)

  按十字星类型进一步精化:
    标准十字星:上下影线都短
    长腿十字星:上下影线 > 2倍平均范围
    蜻蜓十字星:下影线 > 3倍实体,上影线最小
    墓碑十字星:上影线 > 3倍实体,下影线最小

锤子线/上吊线精化:

之前的定义:
  实体小在上端,长下影线

第三版标准:
  1. 下影线 ≥ 2倍实体长度
  2. 上影线 ≤ 总范围的10%(理想为零)
  3. 实体在总范围的上1/3
  4. 实体颜色是次要的但提供上下文:
     - 白色/绿色实体 = 对锤子线略偏看涨
     - 黑色/红色实体 = 对上吊线略偏看跌
  5. 必须出现在可定义的趋势之后:
     - 锤子线:至少5周期下跌趋势之后
     - 上吊线:至少5周期上涨趋势之后

3.2 吞没形态精确化

看涨吞没(精化):
  1. 第一根蜡烛是阴线(收 < 开)
  2. 第二根蜡烛是阳线(收 > 开)
  3. 第二根蜡烛的实体完全吞没第一根蜡烛的实体
     (第二根开 < 第一根收 AND 第二根收 > 第一根开)
  4. 必须出现在下跌趋势中(至少5周期下跌)
  5. 增强(第三版):第二根蜡烛的成交量应比第一根蜡烛多至少50%
  6. 增强(第三版):第二根蜡烛的实体应至少是前10根蜡烛平均实体大小的1.5倍

看跌吞没:镜像,成交量/大小要求类似

3.3 早晨之星/黄昏之星精确化

Morris收紧了跳空缺口的要求,注意到在现代24小时电子市场中,传统缺口较少见。他允许"准缺口",即第二根蜡烛的实体不与第一根蜡烛的实体重叠,即使影线重叠。


4. 更新的回测结果

4.1 方法论

Morris使用以下方法论在广泛的证券Universe中测试蜡烛图形态:

4.2 反转形态可靠性

形态 类型 5日准确性 10日准确性 可靠性评级
看涨吞没 看涨反转 53-58% 55-62%
看跌吞没 看跌反转 52-57% 54-60%
早晨之星 看涨反转 55-62% 58-65% 非常高
黄昏之星 看跌反转 54-60% 57-63% 非常高
锤子线 看涨反转 50-55% 53-59% 中等
上吊线 看跌反转 48-53% 50-55% 低-中等
十字星 反转(上下文) 49-54% 52-58% 中等
刺透线 看涨反转 51-56% 54-60% 中等-高
乌云盖顶 看跌反转 50-55% 53-58% 中等
三白兵 看涨 56-63% 59-66% 非常高
三只乌鸦 看跌 55-61% 57-64% 非常高

4.3 关键发现

发现1:多根蜡烛形态比单根蜡烛形态更可靠。 三根蜡烛形态(早晨之星、黄昏之星、三白兵)始终优于单根蜡烛形态(锤子线、十字星)。额外的蜡烛提供更多信息和更多确认。

发现2:更长的测量窗口提高准确性。 在5天显示53%准确性的形态在10天可能显示60%,在20天显示62%。这表明蜡烛图形态更适合波段交易(5-20天)而非日内交易。

发现3:形态过滤显著提高可靠性。 原始形态识别通常显示50-60%准确性。添加趋势过滤将其提高到55-65%。添加成交量确认将其提高到60-70%。添加指标确认可将准确性推到65-75%。

发现4:看跌形态比看涨形态略不可靠。 这可能是因为股票市场长期的上涨偏见降低了看跌反转信号的有效性。

4.4 持续形态结果

Morris指出,持续形态(跳空/缺口,三法)作为独立信号通常不如反转形态可靠。它们最适合作为已识别趋势的确认,而非主要入场信号。


5. 形态过滤与确认

这是第三版中最有实践价值的添加。

5.1 三层过滤

Morris倡导蜡烛图信号验证的三层方法:

第一层:趋势上下文
  - 反转形态是否有可定义的先前趋势?
  - 最小趋势持续时间:5周期(Morris偏好8-10)
  - 趋势识别方法:移动平均线斜率,摆动高点/低点,或线性回归

第二层:蜡烛图形态
  - 形态是否满足所有精确识别标准?
  - 形态是"干净"(接近理想形态)还是"混乱"?
  - 评级:强,中等,弱

第三层:确认
  - 至少有一个确认指标支持信号吗?
  - 成交量确认
  - 摆动指标确认(RSI,随机)
  - 支撑/阻力位对齐
  - 移动平均线接近度

交易信号:
  三层都对齐 → 高置信度信号
  两层对齐 → 中等置信度信号
  只有一层 → 低置信度 — 不交易

5.2 确认蜡烛

Morris强调等待确认蜡烛的重要性——形态之后的蜡烛——然后再行动。对于看涨形态,确认蜡烛应该开盘更高且收盘更高。对于看跌形态,应该开盘更低且收盘更低。

确认规则:

看涨形态确认:
  下一根蜡烛开盘高于信号蜡烛实体的中点
  AND 收盘高于信号蜡烛的高点
  → 确认

看涨形态弱确认:
  下一根蜡烛收盘高于信号蜡烛的收盘
  但低于信号蜡烛的高点
  → 部分确认(减少持仓规模)

看涨形态失败:
  下一根蜡烛收盘低于信号蜡烛的低点
  → 形态失败(不交易)

5.3 成交量作为过滤

第三版比早期版本更加强调成交量:


6. 与现代技术工具的整合

6.1 蜡烛图 + 移动平均线

Morris提供具体的整合规则:

移动平均线整合:

在看涨蜡烛图形态处于50日或200日移动平均线时:
  → 信号可靠性显著提高
  → 移动平均线作为验证反转的支撑位

示例:
  上涨趋势中的股票回调至50日移动平均线
  锤子线或看涨吞没在移动平均线形成
  → 高概率做多入场

在看跌移动平均线处于看跌蜡烛图形态时:
  → 移动平均线的阻力确认看跌信号

移动平均线趋势过滤:
  仅在价格 > 200日均线时采取看涨形态(或均线上升)
  仅在价格 < 200日均线时采取看跌形态(或均线下行)
  这个单一过滤消除了许多假信号。

6.2 蜡烛图 + RSI

RSI整合:

看涨蜡烛图 + RSI < 30(超卖):
  → 高概率反转信号
  → 如果RSI显示正背离则更好

看跌蜡烛图 + RSI > 70(超买):
  → 高概率反转信号
  → 如果RSI显示负背离则更好

RSI背离 + 蜡烛图:
  价格创新低,RSI创新低(正背离)
  然后看涨蜡烛图形态形成
  → 可用的最高概率设置之一

6.3 蜡烛图 + 布林带

布林带整合:

在下轨的看涨反转:
  - 价格触及或刺穿下轨
  - 看涨蜡烛图形态形成
  - 价格返回带内
  → 强买入信号(均值回归 + 反转确认)

在上轨的看跌反转:
  - 价格触及或刺穿上轨
  - 看跌蜡烛图形态形成
  - 价格返回带内
  → 强卖出信号

挤压 + 蜡烛图:
  布林带收窄(波动率收缩)
  决定性的蜡烛图突破形态
  → 潜在趋势启动信号

6.4 蜡烛图 + MACD

Morris指出MACD最有用的是确认趋势方向而非特定入场时机。看涨蜡烛图形态配合MACD在零轴上方(或越过其信号线)比MACD在零轴下方且下跌时具有更高可靠性。


7. 新增和扩展的形态

7.1 弃婴

Morris扩展了对弃婴形态的讨论,他认为这是最强大的反转信号之一:

看涨弃婴:
  蜡烛1:下跌趋势中的长阴线
  蜡烛2:从蜡烛1向下跳空的十字星
           (蜡烛2的高 < 蜡烛1的低)
  蜡烛3:从十字星向上跳空的阳线
           (蜡烛3的低 > 蜡烛2的高)

  十字星完全被隔离——"被抛弃"——两侧都有跳空。
  这极为罕见但极为可靠(测试中>75%)。

  注意:真正的缺口在现代延长交易的市场中很少见。
  Morris允许修改标准,允许影线轻微重叠。

7.2 踹踹形态

由一根marubozu和一根相反颜色marubozu以及它们之间的跳空组成。Morris的测试发现这是统计上最可靠的形态之一,尽管相对罕见。

7.3 鸽子线和匹配低

Morris用新的回测数据提供了这些不太常见形态的扩展处理,注意到虽然单独使用时可靠性较低,但与支撑/阻力位结合时会变得有意义。

7.4 腰带线

更新处理,具有区分重要腰带线和正常长实体蜡烛的具体标准。关键标准:蜡烛必须在极端开盘(或非常接近极端)(对看跌为高,对看涨为低),开盘端没有影线。


8. 形态可靠性排名

8.1 Morris的分级排名系统

第三版引入了正式可靠性排名,将所有形态分类:

第一级 — 最可靠(适当过滤后准确性>60%):
  - 早晨之星 / 黄昏之星
  - 三白兵 / 三只乌鸦
  - 看涨/看跌吞没(带成交量确认)
  - 弃婴
  - 踹踹形态
  - 三内部上涨 / 三内部下跌

第二级 — 可靠(适当过滤后准确性55-60%):
  - 刺透线 / 乌云盖顶
  - 锤子线(带确认蜡烛)
  - 看涨/看跌孕线(带指标确认)
  - 上升/下降三法
  - 向上/向下跳空两只乌鸦

第三级 — 中等(准确性50-55%,需要强力额外确认):
  - 单十字星形态
  - 上吊线
  - 流星
  - 腰带线
  - 鸽子线
  - 匹配低/高

第四级 — 低可靠性(不推荐作为主要信号):
  - 大多数稀有/晦涩形态
  - 无趋势上下文的形态
  - 任何与主要趋势反向的形态

8.2 上下文乘数

Morris引入了"上下文乘数"的概念——增加或减少形态基础可靠性的因素:

上下文因素 乘数效果
形态在主要支撑/阻力位 +10-15%准确性
成交量确认(>平均的150%) +5-10%准确性
RSI/随机极端对齐 +5-10%准确性
移动平均线收敛 +5-8%准确性
与主要趋势反向的形态 -10-15%准确性
信号蜡烛成交量低 -5-10%准确性
震荡/区间震荡市场 -5-10%准确性
多个指标冲突 -10-15%准确性

9. 多时间周期蜡烛图分析

9.1 概念

第三版引入了早期版本中没有的多时间周期框架:

多时间周期层次:

周线图:确定主要趋势方向
日线图:识别蜡烛图反转/持续形态
日内:微调入场和出场时机

规则:仅交易与周线趋势方向对齐的日线蜡烛图形态。

示例:
  周线:上涨趋势(价格在上升40周均线上方)
  日线:回调在支撑位产生看涨锤子线
  → 采取看涨信号(与周线趋势对齐)

  周线:下跌趋势(价格在下降40周均线下方)
  日线:回调产生看涨锤子线
  → 忽略或降低置信度(逆主要趋势)

9.2 组合时间周期蜡烛图

Morris解释如何将多根蜡烛组合成单根"复合"蜡烛以简化形态:

将两根日线蜡烛组合成一根:
  开 = 第一根蜡烛的开
  收 = 第二根蜡烛的收
  高 = 最大值(第一高,第二高)
  低 = 最小值(第一低,第二低)

应用:
  看涨吞没形态(两根蜡烛)组合成单根锤子状蜡烛 → 确认看涨解释。

  早晨之星(三根蜡烛)组合成带下影线的单根长白蜡烛 → 确认看涨反转强度。

  这种技术通过检查多根蜡烛讲述的"故事"在简化时是否一致来帮助验证形态解释。

10. 成交量与蜡烛图整合

10.1 按形态的成交量轮廓

Morris为每个主要形态提供具体的成交量预期:

看涨吞没成交量轮廓:
  第1天(阴线):正常或低于平均成交量
  第2天(看涨吞没):高于平均成交量(>1.5倍平均)
  → 解读:大量买盘压倒卖压

早晨之星成交量轮廓:
  第1天(长阴线):高于平均成交量(卖出高潮)
  第2天(小实体/十字星):低成交量(犹豫,卖压衰竭)
  第3天(长阳线):高于平均成交量(买家回归)
  → 第2天的"成交量谷"是关键

锤子线成交量轮廓:
  信号日:高成交量,特别是如果日内形态显示成交量集中在后半段(反弹)
  → 高成交量的锤子线比低成交量可靠得多

10.2 成交量背离警告

警告信号:

成交量下降的看涨形态:
  → 可疑 — 买家未显示信念
  → 减少持仓规模或等待额外确认

成交量下降的看跌形态:
  → 可能仍然有效(市场可以低成交量下跌)
  → 但不如高成交量的看跌形态可靠

无蜡烛图形态的成交量飙升:
  → 通常在1-2根蜡烛之前预示形态
  → 密切监控后续形态形成

11. 算法实施注意事项

11.1 形态识别精度

Morris承认算法实施需要对在视觉形态识别中不存在的阈值做出决定。他提供指导:

实体大小阈值:
  "长"实体:实体 > 前10根蜡烛平均实体大小的1.5倍
  "短"实体:实体 < 前10根蜡烛平均实体大小的0.5倍
  "十字星":实体 < 总范围(高 - 低)的0.1倍

影线阈值:
  "长"影线:影线 > 2倍实体长度
  "短"影线:影线 < 0.3倍实体长度
  "无"影线:影线 < 总范围的0.05倍

趋势定义:
  上涨趋势:价格在过去10根蜡烛上涨 > 5%
           或10周期均线正在上升
           或可见更高高点和更高低点

  下跌趋势:价格在过去10根蜡烛下跌 > 5%
           或10周期均线正在下降
           或可见更低高点和更低低点

11.2 处理市场跳空

在现代电子市场,特别是外汇,传统跳空较少见。Morris建议调整跳空要求:


12. 实施伪代码

12.1 多层信号生成器

函数 generate_candlestick_signal(candles, volume, indicators):
    signals = []

    对于 i 从 3 到 len(candles):
        // 第一层:趋势上下文
        trend = identify_trend(candles[i-20:i])
        如果 trend == "UNDEFINED":
            继续  // 无趋势上下文,跳过

        // 第二层:形态识别
        patterns = scan_all_patterns(candles[i-3:i+1], trend)

        对于 patterns 中的每个形态:
            signal = {
                type: pattern.type,
                direction: pattern.direction,
                candle_index: i,
                base_reliability: get_tier_reliability(pattern.name)
            }

            // 第三层:确认过滤
            confirmations = 0

            // 成交量过滤
            vol_ratio = volume[i] / average(volume[i-20:i])
            如果 vol_ratio > 1.5:
                confirmations += 1
                signal.volume_confirmed = TRUE

            // RSI过滤
            rsi = indicators.RSI[i]
            如果 pattern.direction == "BULLISH" AND rsi < 30:
                confirmations += 1
                signal.rsi_confirmed = TRUE
            否则 如果 pattern.direction == "BEARISH" AND rsi > 70:
                confirmations += 1
                signal.rsi_confirmed = TRUE

            // 移动平均线过滤
            ma50 = indicators.MA50[i]
            ma200 = indicators.MA200[i]
            如果 pattern.direction == "BULLISH":
                如果 candles[i].close > ma200 OR ABS(candles[i].low - ma50) / ma50 < 0.01:
                    confirmations += 1
                    signal.ma_confirmed = TRUE

            // 支撑/阻力过滤
            sr_level = find_nearest_support_resistance(candles[:i])
            如果 ABS(candles[i].close - sr_level) / sr_level < 0.02:
                confirmations += 1
                signal.sr_confirmed = TRUE

            // 计算调整后可靠性
            signal.confirmations = confirmations
            signal.adjusted_reliability = signal.base_reliability + (confirmations * 0.05)

            // 置信度分类
            如果 confirmations >= 3:
                signal.confidence = "HIGH"
            否则 如果 confirmations >= 2:
                signal.confidence = "MODERATE"
            否则 如果 confirmations >= 1:
                signal.confidence = "LOW"
            否则:
                signal.confidence = "VERY_LOW"
                继续  // 跳过未确认的形态

            signals.APPEND(signal)

    返回 signals

12.2 形态识别函数

函数 is_bullish_engulfing(c1, c2, trend, volume):
    如果 trend != "DOWN":
        返回 FALSE

    // c1必须是阴线
    如果 c1.close >= c1.open:
        返回 FALSE

    // c2必须是阳线
    如果 c2.close <= c2.open:
        返回 FALSE

    // c2实体必须吞没c1实体
    如果 c2.open >= c1.close OR c2.close <= c1.open:
        返回 FALSE

    // 增强:c2实体应该相当大
    avg_body = average_body_size(prior_10_candles)
    如果 body_size(c2) < 1.5 * avg_body:
        quality = "WEAK"
    否则:
        quality = "STRONG"

    返回 {pattern: "BULLISH_ENGULFING", quality: quality}


函数 is_morning_star(c1, c2, c3, trend, volume):
    如果 trend != "DOWN":
        返回 FALSE

    // c1:长阴线
    如果 c1.close >= c1.open:
        返回 FALSE
    如果 body_size(c1) < 1.5 * average_body_size(prior_candles):
        返回 FALSE

    // c2:小实体(任何颜色),向下跳空或有小实体
    如果 body_size(c2) > 0.5 * body_size(c1):
        返回 FALSE
    // 检查跳空或至少最小重叠
    如果 MAX(c2.open, c2.close) > c1.close + 0.1 * body_size(c1):
        返回 FALSE  // 与c1实体重叠太多

    // c3:长阳线,收盘进入c1实体
    如果 c3.close <= c3.open:
        返回 FALSE
    如果 c3.close < midpoint(c1.open, c1.close):
        返回 FALSE  // 必须收在c1中点上方
    如果 body_size(c3) < 1.0 * average_body_size(prior_candles):
        返回 FALSE

    // 成交量形态:理想是高-低-高
    如果 volume[2] < volume[1] AND volume[3] > volume[1]:
        vol_quality = "IDEAL"
    否则:
        vol_quality = "ACCEPTABLE"

    返回 {pattern: "MORNING_STAR", vol_quality: vol_quality}


函数 is_hammer(candle, trend):
    如果 trend != "DOWN":
        返回 FALSE

    body = body_size(candle)
    lower_shadow = MIN(candle.open, candle.close) - candle.low
    upper_shadow = candle.high - MAX(candle.open, candle.close)
    total_range = candle.high - candle.low

    如果 total_range == 0:
        返回 FALSE

    // 下影线必须至少为实体的2倍
    如果 lower_shadow < 2 * body:
        返回 FALSE

    // 上影线必须最小
    如果 upper_shadow > 0.1 * total_range:
        返回 FALSE

    // 实体必须在范围的上三分之一
    如果 MIN(candle.open, candle.close) < candle.low + 0.67 * total_range:
        返回 FALSE

    返回 {pattern: "HAMMER", color: "BULLISH" 如果 candle.close > candle.open 否则 "BEARISH"}

12.3 多时间周期验证

函数 validate_multi_timeframe(daily_signal, weekly_candles):
    // 确定周线趋势
    weekly_trend = identify_trend(weekly_candles[-20:])

    // 检查对齐
    如果 daily_signal.direction == "BULLISH":
        如果 weekly_trend == "UP":
            alignment = "STRONG"      // 顺着主要趋势
        否则 如果 weekly_trend == "NEUTRAL":
            alignment = "MODERATE"
        否则:
            alignment = "WEAK"        // 逆势

    否则 如果 daily_signal.direction == "BEARISH":
        如果 weekly_trend == "DOWN":
            alignment = "STRONG"
        否则 如果 weekly_trend == "NEUTRAL":
            alignment = "MODERATE"
        否则:
            alignment = "WEAK"

    // 检查周线蜡烛图上下文
    latest_weekly = weekly_candles[-1]
    如果 is_reversal_pattern(latest_weekly) AND latest_weekly.direction == daily_signal.direction:
        alignment = upgrade(alignment)  // 周线形态确认日线

    daily_signal.timeframe_alignment = alignment
    返回 daily_signal

13. 关键引述

"蜡烛图形态是市场的语言,但就像任何语言一样,必须在上下文中理解。单独的词可以有许多含义;句子中的词是清楚的。"

"我在数十年的蜡烛图工作中学到的最重要的一课是,形态只是分析的开始,而非结束。"

"形态过滤不是可选项。未过滤的蜡烛图信号只比随机信号略好。适当过滤的信号是真正的优势。"

"成交量是驱动市场的燃料。没有成交量确认的蜡烛图形态就像没有汽油的汽车——可能看起来没问题,但不会去任何地方。"

"趋势是任何蜡烛图形态最重要的过滤。反转形态必须有东西可反转。持续形态必须有东西可持续。"

"多根蜡烛形态优于单根蜡烛形态,因为它们包含更多信息。市场在两三天讲述一个故事,而非仅仅一天。"

"在关键支撑或阻力位配合高于平均成交量的蜡烛图反转形态,加上确认的摆动指标读数,代表技术交易者可用的最高概率设置之一。"

"我已经在多个市场、时间周期和市场条件下测试了我所知的每种蜡烛图形态。结果确认,只有少数适当过滤的形态提供真正的统计优势。大多数稀有或奇异的形态则不然。"

"不要为了记忆而记忆形态。深入学习五六种最可靠的形态,理解它们的逻辑,培养等待适当确认信号的纪律。"

"确认蜡烛不是事后考虑——它是信号的组成部分。在确认前行动是投机。在确认后行动是系统交易。"


第三版《蜡烛图精解》代表了蜡烛图分析从形态目录方法到循证、系统方法论的成熟。Morris的关键贡献是多层过滤框架:趋势上下文、形态识别和指标确认共同产生高概率信号。对于现代实践者,本版提供了传统日本蜡烛图智慧与当代量化交易实践之间的桥梁。

(文件结束 — 共842行)