先给结论,再讲道理:"周线MACD金叉"的威力在于它过滤了日线级别的噪音,只在周线级别的趋势反转时发出信号。但原版公式用"日线参数×5"冒充周线,本质上还是日线金叉,只是变慢了而已。真正的周线金叉,必须用通达信的跨周期引用函数(如"#WEEK")或周线选股器来实现。 源码用日线数据×5模拟周线,参数虽慢但本质仍是日线计算,未真正跨周期。 以下为基于源码逻辑的主观结构评分,未经历史数据验证,仅作拆解参考。 系列编号:本文为「1000个公式拆解」系列 · 跨周期系 · 第 29 篇(29/1000)。 一周有5个交易日,但EMA是"指数移动平均",对最近的价格赋予更高权重。把参数从12改成60,计算方式完全不同——它会对过去60天的每一天等权处理,而不是对"每周五的收盘价"做EMA。遇到节假日、停牌,偏差更大。 通达信提供了"#WEEK"等跨周期引用方式(在周线选股模式或特定函数下)。原版公式完全没用这些,纯靠"日线改大参数"凑数,信号时机和真周线金叉经常差好几天。 周线MACD金叉,在零轴上方(多头市场)和零轴下方(空头市场反弹)意义完全不同。原版公式不管DIF在零轴上还是下,统统入选。 周线零轴上方 ✓ 月线辅助确认 △ 需多周期共振 周线零轴下方 ✗ 修复思路:此公式需在通达信"周线选股"模式下运行(真正的周线周期)。要求金叉在零轴上方(周线多头区),并叠加月线趋势确认。若在日线模式运行,请用"#WEEK"跨周期引用。 用法:在通达信"选股器→周线选股"模式下运行公式,筛选周线MACD在零轴上方金叉的标的。 确认:周线金叉后,等日线回踩不破周线开口,再找日线买点介入。 止损:周线DIF再度死叉或跌破周线MA10,说明周线级别趋势转弱,应离场。 启发一:"参数×5"是最常见也最隐蔽的伪周线陷阱。真正的跨周期,要用真正的跨周期数据。 启发二:周线金叉的威力在于"过滤噪音"。但它必须在真正的周线周期下运行,否则只是慢速日线。 启发三:零轴是生命线。周线零轴下方的金叉多是反弹,零轴上方才是真趋势。一、原版源码长这样
{伪周线MACD}
DIF:=EMA(C,60)-EMA(C,130); {日线参数×5}
DEA:=EMA(DIF,9*5);
金叉:=CROSS(DIF,DEA);
选股:金叉;二、公式体检评分表
评分项 得分 说明 语法完整性 90 通达信可运行,但本质是伪周线 逻辑完整度 35 "周线"是假的,参数×5≠真周线 信号可用性 42 信号偏少但多为日线滞后确认,非真正周线级别 三、问题一:参数×5≠真周线
四、问题二:无法用真跨周期引用
五、问题三:没有零轴位置过滤
六、适用环境
七、修复版源码
{=== 周线MACD金叉选股 · 修复版(通达信可运行)===}
{--- 方法:在周线周期下运行此公式(周线选股模式)---}
DIF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIF,9);
金叉:=CROSS(DIF,DEA);
{=== 改动1:零轴上方金叉(周线多头区域)===}
零轴上:=DIF>0 AND DEA>0;
{=== 改动2:月线趋势辅助确认 ===}
月趋势:=EMA(C,4)>EMA(C,8); {周线级别的月均排序}
{=== 改动3:排除ST及数据不足 ===}
排雷:=NOT(NAMELIKE('ST') OR NAMELIKE('*ST')) AND COUNT(C>0,200)=200;
选股:金叉 AND 零轴上 AND 月趋势 AND 排雷;八、实战操作建议
九、三条启发
周线MACD金叉选股公式:我拆源码时发现"周线"用日线改参数,本质还是日线(附修复版)
风险提示:本文通达信指标公式仅作技术教学与研究使用,不构成任何投资建议。股市有风险,入市需谨慎,不可直接依据公式信号交易。
拆这个公式时,我停在了第2行:DIF:=EMA(C,12*5)-EMA(C,26*5)。作者的意图是"用日线数据模拟周线"——把日线参数12改成60(12×5个交易日≈1周),26改成130。听起来很聪明,但这是伪周线!真正的周线MACD,应该用每周五的收盘价计算,而不是把日线参数乘5。两种算法在数值上完全不同,尤其遇到节假日、停牌时,偏差更大。

