周线MACD金叉选股公式:我拆源码时发现"周线"用日线改参数,本质还是日线(附修复版)

风险提示:本文通达信指标公式仅作技术教学与研究使用,不构成任何投资建议。股市有风险,入市需谨慎,不可直接依据公式信号交易。

拆这个公式时,我停在了第2行:DIF:=EMA(C,12*5)-EMA(C,26*5)。作者的意图是"用日线数据模拟周线"——把日线参数12改成60(12×5个交易日≈1周),26改成130。听起来很聪明,但这是伪周线!真正的周线MACD,应该用每周五的收盘价计算,而不是把日线参数乘5。两种算法在数值上完全不同,尤其遇到节假日、停牌时,偏差更大。

先给结论,再讲道理:"周线MACD金叉"的威力在于它过滤了日线级别的噪音,只在周线级别的趋势反转时发出信号。但原版公式用"日线参数×5"冒充周线,本质上还是日线金叉,只是变慢了而已。真正的周线金叉,必须用通达信的跨周期引用函数(如"#WEEK")或周线选股器来实现。

一、原版源码长这样

{伪周线MACD}
DIF:=EMA(C,60)-EMA(C,130); {日线参数×5}
DEA:=EMA(DIF,9*5);
金叉:=CROSS(DIF,DEA);
选股:金叉;

源码用日线数据×5模拟周线,参数虽慢但本质仍是日线计算,未真正跨周期。

二、公式体检评分表

以下为基于源码逻辑的主观结构评分,未经历史数据验证,仅作拆解参考。

评分项得分说明
语法完整性90通达信可运行,但本质是伪周线
逻辑完整度35"周线"是假的,参数×5≠真周线
信号可用性42信号偏少但多为日线滞后确认,非真正周线级别

系列编号:本文为「1000个公式拆解」系列 · 跨周期系 · 第 29 篇(29/1000)。

三、问题一:参数×5≠真周线

一周有5个交易日,但EMA是"指数移动平均",对最近的价格赋予更高权重。把参数从12改成60,计算方式完全不同——它会对过去60天的每一天等权处理,而不是对"每周五的收盘价"做EMA。遇到节假日、停牌,偏差更大。

四、问题二:无法用真跨周期引用

通达信提供了"#WEEK"等跨周期引用方式(在周线选股模式或特定函数下)。原版公式完全没用这些,纯靠"日线改大参数"凑数,信号时机和真周线金叉经常差好几天。

五、问题三:没有零轴位置过滤

周线MACD金叉,在零轴上方(多头市场)和零轴下方(空头市场反弹)意义完全不同。原版公式不管DIF在零轴上还是下,统统入选。

六、适用环境

周线零轴上方 ✓ 月线辅助确认 △ 需多周期共振 周线零轴下方 ✗

七、修复版源码

{=== 周线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 排雷;

修复思路:此公式需在通达信"周线选股"模式下运行(真正的周线周期)。要求金叉在零轴上方(周线多头区),并叠加月线趋势确认。若在日线模式运行,请用"#WEEK"跨周期引用。

八、实战操作建议

  • 用法:在通达信"选股器→周线选股"模式下运行公式,筛选周线MACD在零轴上方金叉的标的。

  • 确认:周线金叉后,等日线回踩不破周线开口,再找日线买点介入。

  • 止损:周线DIF再度死叉或跌破周线MA10,说明周线级别趋势转弱,应离场。

九、三条启发

启发一:"参数×5"是最常见也最隐蔽的伪周线陷阱。真正的跨周期,要用真正的跨周期数据。

启发二:周线金叉的威力在于"过滤噪音"。但它必须在真正的周线周期下运行,否则只是慢速日线。

启发三:零轴是生命线。周线零轴下方的金叉多是反弹,零轴上方才是真趋势。


相关阅读

最近发表
在线客服
QQ:332879389
联系电话
13605084160