一、原版源码拆解
网上最常见的写法:阳线:=REF(C>O,2) AND REF(C,2)/REF(O,2)>1.03; 星:=REF(O>MAX(C,O) AND REF(H<MAX(C,O),1) AND ABS(REF(C,1)-REF(O,1))/REF(C,1)<0.03; 阴线:=C<O AND C/REF(C,1)<0.97 AND C<(REF(O,2)+REF(C,2))/2; 黄昏之星:阳线 AND 星 AND 阴线;
主要问题有:
🔍 二、深度拆解:黄昏之星的"高位"定义
1. 逻辑死穴:黄昏之星的"高位"前提
黄昏之星的核心前提是"出现在上升趋势之后"。如果前期没有一段明显的上涨,三根 K 线再像也不是黄昏之星。原版公式完全没有这个前置条件,会在任何位置乱选。
2. 函数陷阱:跳空如何量化
真正的"星"应该跳空(开盘价高于前日收盘价),但原版只比较了 H 和 MAX(C,O),没有明确要求 REF(O,1)>REF(C,2)。这个细节决定了"星"的成色。
3. 视觉盲区:放量阴线才是关键
第三根阴线如果缩量,可能是洗盘;只有放量阴线击穿中点,才是主力真正出货的信号。这一点原版完全没考虑。
📊 三、数据回测:不同位置过滤下的信号特征
不同位置过滤下的黄昏之星信号特征(沪深 300,描述性统计):
| 市场环境 | 参数/条件 | 信号特征 | 结论 |
|---|---|---|---|
| 无位置过滤(宽松) | 信号多 | 极多 | 震荡市大量误判 |
| 前期上涨>15%(中等) | 信号适中 | 适中 | 过滤掉低位假信号 |
| 上涨>15%+放量阴线(严格) | 信号少 | 较少 | 高位出货信号质量最高 |
🔧 四、优化版源码(可直接复制)
{黄昏之星 · 工程优化版}
{参数区: UP:5,30,15; VOL_M:1.2,3,1.5}
前期上涨:=REF(C,2)>REF(C,20)*(1+UP/100);
{第一根前20日已有UP%以上涨幅}
大阳线:=REF(C,2)/REF(O,2)>1.03;
跳空星:=REF(O,1)>REF(C,2) AND ABS(REF(C,1)-REF(O,1))/REF(C,1)<0.03;
{第二根跳空高开+小实体}
中点:=(REF(O,2)+REF(C,2))/2;
大阴线:=C<O AND C/REF(C,1)<0.97 AND C<中点;
{第三根放量阴线击穿中点}
放量阴线:=VOL>REF(VOL,1)*VOL_M;
{— 综合选股 —}
XG:
前期上涨
AND 大阳线
AND 跳空星
AND 大阴线
AND 放量阴线;
五、这次改了什么?
核心优化:
1. 位置前置:加入"前期 20 日上涨 UP%"条件,确保形态出现在真实高位;
2. 跳空量化:明确要求第二根 K 线开盘价高于第一根收盘价;
3. 放量确认:第三根阴线必须放量,过滤洗盘误判;
4. 中点击穿:阴线收盘价必须跌破前两日中点,确认多头失守。
【编者手记】如果说早晨之星是"找机会",黄昏之星就是"避风险"。我现在的用法是:持有股票时,每天盘后用黄昏之星公式扫一遍持仓,一旦出现放量版本的信号,先减仓再说。宁可卖错,不要套牢。

