价格创了新低,DIF却没跟着新低——两个信号在吵架,拆开源码看它怎么比
—— MACD底背离选股公式(附通达信源码)
导读警示:本公式筛的是"收盘价创阶段新低、但DIF没跟着新低、同时DIF今天上穿零轴"的票,仅供通达信编程学习。底背离只是历史状态描述,不代表已经见底,不构成任何交易建议。
一、我踩过的坑:把背离当见底,越等越跌
头一回听"底背离",名字太像反转信号,拆开源码发现嵌套了三四层REF;
把它当见底信号用,结果价格新低之后还能再新低;
BARSLAST和REF套在一起,一开始读反方向,日子都找错了。
二、指标逻辑在讲什么
听着很玄,其实就三步:先算DIF(EMA(CLOSE,12)-EMA(CLOSE,26)),用BARSLAST找到上一次DIF上穿零轴是几天前,再把那天的收盘价和DIF跟今天对比。今天价格比那天低、DIF比那天高,同时今天刚上穿零轴,就出信号。本质一句话:价格更低了,指标却没更低——两个信号在吵架。
三、完整公式源码
{仅供学习研究}
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
A1:=BARSLAST(REF(CROSS(DIF,0),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIF>REF(DIF,A1+1) AND CROSS(DIF,0);
XG:底背离;
四、公式逻辑大白话拆解
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26):先算DIF,12日指数均线减26日指数均线;
REF(CROSS(DIF,0),1):把"DIF上穿零轴"事件往后挪一天,避免把今天这次算进去;
BARSLAST(...):上一次上穿零轴距今几天,存进A1——A1是天数,不是价格;
REF(CLOSE,A1+1)和REF(DIF,A1+1):取上穿那天的收盘价和DIF,+1是因为要多退一天才是上穿当天;
REF(CLOSE,A1+1)>CLOSE:上穿那天价格比今天高——今天价格创新低;
DIF>REF(DIF,A1+1):但今天DIF比那天高——指标没创新低;
CROSS(DIF,0):今天DIF刚上穿零轴;
AND三个条件同时成立,XG选股输出。
五、这个信号什么时候能用
六、用法要点
| 项目 | 使用说明 |
| 适用行情 | 长期下跌后的观察阶段;单边下跌别当真。 |
| 参数调整 | 12和26是默认参数,改了对比基准就变了。 |
| 使用方式 | 收盘后选股,结果按第七节三点人工复核。 |
七、拿到选股结果,手动再核对3点
①看背离出现了几次,第一次和第三次性质完全不同,多次背离后还在跌的别碰;
②看DIF上穿零轴那天的量,缩量上穿和放量上穿力度差很多;
③看价格新低有没有配合基本面恶化,有利空的是逻辑问题。
八、避坑提醒
BARSLAST算的是天数不是价格,REF(CLOSE,A1+1)那个+1很关键,少一天对比的日子就错了;
底背离只是历史状态描述,不是见底信号,更不是交易指令;
公式不认基本面和板块,人工复核必做。
扩展阅读:换手率战法:活跃度5%-15%最健康
风险提示:本公式仅为历史指标状态对比,无法预判行情涨跌。下跌趋势中背离可反复出现、参数周期改变结果差异大、大盘弱势环境下,信号风险明显增加。全部仅限通达信编程学习交流,不要直接依靠选股结果做交易,投资风险全部自行承担。
指标仅为技术交流,不构成投资建议。市场有风险,入市需谨慎。
本文由AI辅助创作,内容仅供技术交流

