一、原版源码拆解
网上最常见的写法:十字星:=ABS(C-O)/O<0.001; 十字星选股:十字星 AND C>REF(C,1);
主要问题有:
🔍 二、深度拆解:十字星的"相对"定义
1. 逻辑死穴:十字星的"相对"定义
十字星的核心是"实体相对于振幅极小",而非"绝对价格相等"。用 ABS(C-O)/O<0.001 太严苛,应该用 ABS(C-O)/MAX(H-L,0.01)<3%,即实体占振幅不到 3%,才是真正的"犹豫"。
2. 函数陷阱:上下影线的对称性
十字星分"长上影"(流星)、"长下影"(锤头)、"等长影"(标准十字)。三种含义完全不同,原版公式没做任何区分,会混为一谈。
3. 视觉盲区:变盘需要"前后对比"
单根十字星意义有限,关键是它前面的趋势和后面的确认。下跌末端的十字星 + 次日放量阳线 = 反转;上涨末端的十字星 + 次日放量阴线 = 见顶。
📊 三、数据回测:不同十字星定义的信号特征
不同十字星定义在沪深 300 中的信号特征(描述性统计):
| 市场环境 | 参数/条件 | 信号特征 | 结论 |
|---|---|---|---|
| ABS(C-O)/O<0.001(极严) | 极少 | 几乎为零 | 大量遗漏正常十字星 |
| 实体占比<3%+有影线 | 适中 | 适中 | 能选出真正的犹豫K线 |
| +前后趋势对比+量能确认 | 较少 | 少 | 变盘信号质量最高 |
🔧 四、优化版源码(可直接复制)
{十字星变盘 · 工程优化版}
{参数区: BODY:1,5,3; TREND:5,20,10}
实体:=ABS(C-O);
振幅:=MAX(H-L,0.01);
实体占比:=实体/振幅*100;
{实体占比<BODY%(真十字星)}
十字星:=实体占比<BODY;
{有上下影线(非一字线)}
有上影:=H>MAX(C,O)*1.01;
有下影:=L<MIN(C,O)*0.99;
{趋势背景:前期下跌TREND%}
下跌背景:=REF(C,1)<REF(C,10)*(1-TREND/100);
{次日确认:放量阳线}
次日阳:=REF(C,1)>REF(O,1);
次日放量:=REF(VOL,1)>REF(VOL,2)*1.3;
{— 综合选股(找底部反转十字星)—}
XG:
十字星
AND 有上影
AND 有下影
AND 下跌背景
AND 次日阳
AND 次日放量;
五、这次改了什么?
核心优化:
1. 相对实体:用实体占振幅比例替代绝对值,更贴合十字星本质;
2. 影线要求:排除一字线,确保有真实的上下影线;
3. 趋势背景:限定前期下跌 TREND%,确保是低位反转;
4. 次日确认:用 REF 取次日数据验证放量阳线(选股日用收盘后数据)。
【编者手记】十字星是 K 线里最"哲学"的形态——它代表市场在犹豫。但犹豫本身不指向任何方向,必须等次日确认。我的用法是:盘后扫出十字星,列入观察名单,次日放量阳线才动手。记住,十字星告诉你"要变盘了",但不告诉你"往哪变"。

