简介:通达信平台专用的缠论与趋势交易双系统指标包,面向使用电脑版或手机版通达信的缠论爱好者与趋势交易者,解决手动画笔、线段效率低和买卖点识别主观性强的问题。指标支持自动分笔与线段识别,通过蓝色笔中枢、橙色线段中枢清晰标记结构,可自由切换笔/段两类买卖点定义,配合三类买卖点选股、股票池自动筛选与实时预警功能,可快速锁定目标;附带的做T辅助提示、多空力量线、强弱通道线、背驰K线标记等实用工具,则兼顾盘中交易细节。全能版进一步集成欧奈尔趋势交易系统,涵盖中线反转、口袋支点、强势回踩、超强区域四类买点,并结合板块效应曲线、欧奈尔曲线辅助判断,适合在类二买出现后把握更优介入时机。整个包共176个文件,以sp、pak指标文件为主,辅以dat数据文件、css/js前端资源及HTML文档等,压缩包整体8.57MB,解压后复制到通达信对应目录即可使用。已有99人学习下载,适合具备一定缠论基础、希望将结构分析与趋势交易策略落地的用户。
1. 通达信缠论+趋势双系统指标包:先搞清楚它解决的是哪个问题
同一个屏幕里,一边是缠论的笔、段、中枢画得清清楚楚,底背驰信号标在最低点;另一边是趋势均线和欧奈尔相对强度曲线,提示股价还在走弱。两套系统给出的信号经常打架:缠论说一买出现了,趋势指标却显示还在空头排列,这时候进去大概率被套。这个通达信专用的双系统指标包,要解决的就是这种「结构信号与趋势信号互相确认」的问题——用缠论管节奏和位置,用趋势与强度管方向和过滤,最后把四类买点统一成可执行的信号。适合已经在通达信里折腾过公式、读过缠论但没完全落地成代码的从业者,也适合想给自选标的加一套强度筛选的人。读完你能照着搭出一套能跑的指标文件,也清楚哪些地方是简化近似、哪些参数必须自己调。
2. 指标包的结构设计:主图画结构,副图给强度,别让一个窗口干所有活
2.1 双系统在通达信里的边界:缠论管结构,趋势管方向
把两套逻辑塞进同一个指标公式,结果往往是图面混乱、信号互相干扰。我的拆分原则是:缠论部分负责描述走势结构——笔、段、中枢、背驰,它回答「现在处于什么位置」;趋势部分负责判断方向和强度——均线斜率、相对强度曲线,它回答「这个位置值不值得动手」。结构是地图,趋势是天气,两者不该混在同一个绘图窗口里。
实际文件组织上,我习惯拆成三个独立公式:一个主图叠加公式(画趋势均线、欧奈尔强度曲线、买卖点标记),一个副图公式(画笔、段、中枢、背驰区间),再加一个条件选股公式(只输出综合信号,不带任何画线函数)。这样做的直接好处是:选股公式可以完全避开通达信画线函数里自带的未来函数,盘中选股和盘后复盘不会出现信号闪变;同时副图公式可以独立加载到任何周期的K线上,不需要为主图让位。
很多现成指标包喜欢把所有东西做进一个主图里,打开就是满屏的线、箭头、文字,结果就是什么信号都看不清。把结构、方向、筛选拆开之后,每个窗口只回答一个问题,信号的自然匹配度反而更高。
2.2 指标包的最小文件骨架:主图、副图、选股公式怎么分工
以通达信公式管理器为例,一套可维护的指标包至少包含三个公式文件,我列一下各自职责和关键输出:
| 文件角色 | 公式类型 | 核心输出 | 主要函数 |
|---|---|---|---|
| 趋势主图 | 主图叠加 | 均线系统、欧奈尔曲线、买点标记 | MA / EMA / DRAWICON / DRAWTEXT |
| 缠论结构副图 | 副图指标 | 笔、段、中枢区间、背驰标记 | REF / BARSLAST / STICKLINE / DRAWTEXT |
| 双系统选股 | 条件选股 | 四类买点与趋势过滤的合成条件 | COUNT / CROSS / FILTER |
副图指标的最小骨架,可以先从一个分型标记公式起步,它能帮你立刻验证数据引用是否正确:
{=== 缠论结构副图:分型标记与K线间隔约束 ===} {参数声明:N为分型确认后延迟的K线数,用于过滤过于紧密的顶底分型} N:=5; {顶分型:中间K线最高,且左右两根都不能高于它} 顶分型:=REF(HIGH,1)<HIGH AND REF(HIGH,2)<HIGH; {底分型:中间K线最低,且左右两根都不能低于它} 底分型:=REF(LOW,1)>LOW AND REF(LOW,2)>LOW; {输出有效顶底:分型成立且与上一个异向分型间隔不小于N根K线} 有效顶:=顶分型 AND BARSLAST(底分型)>=N; 有效底:=底分型 AND BARSLAST(顶分型)>=N; DRAWTEXT(有效顶,HIGH*1.02,'顶'),COLORYELLOW; DRAWTEXT(有效底,LOW*0.98,'底'),COLORWHITE;这段代码的逻辑说明:REF(HIGH,1)表示取前一根K线的最高价,REF(HIGH,2)表示取前两根的最高价。顶分型的含义是当前位置的K线高点既高于前一根,也高于前两根,也就是说它是局部最高点。BARSLAST(底分型)返回最近一次底分型到当前的K线数量,用它约束顶底之间至少间隔5根K线,可以过滤掉K线过于密集造成的无效分型,这也是后面画笔的最小过滤条件。
这里要特别说明:BARSLAST 引用的是历史数据,不属于未来函数,可以放心用在选股公式里。但如果你用 DRAWTEXT 在图上标注,盘中最后一根K线会随行情变化反复刷新,这是正常的显示特性,不代表公式有未来函数。
2.3 画线函数的自绘逻辑:为什么不用现成通道而用条件计算
很多新手画中枢用的是通道指标或手工画线工具,但指标包必须用条件函数把区间算出来。通达信里最常用的三组绘图函数是:STICKLINE画柱状区间、DRAWLINE连接两点、DRAWTEXT做文字标记。它们的共同特点是:坐标点来自条件计算结果,而不是手动指定位置。
以中枢矩形为例,先算清楚中枢区间才能画矩形。中枢的定义是三笔重叠区域,需要先确定参与重叠的三笔端点。这里给出中枢区间计算的核心代码,放在副图公式里调用:
{=== 中枢区间计算:GG/DD/ZG/ZD ===} {假设已通过变量 顶1、顶2、顶3 和 底1、底2、底3 得到构成中枢的三笔端点} GG:=MAX(顶1,MAX(顶2,顶3)); {中枢高点组的最高值} DD:=MIN(底1,MIN(底2,底3)); {中枢低点组的最低值} ZG:=MIN(顶1,MIN(顶2,顶3)); {中枢上沿:三笔高点中的最低者} ZD:=MAX(底1,MAX(底2,底3)); {中枢下沿:三笔低点中的最高者} {只有 上沿>下沿 才存在真正的中枢重叠区间} 存在中枢:=ZG>ZD; STICKLINE(存在中枢,ZD,ZG,4,0),COLORBLUE;这里的命名逻辑是缠论原文的通用约定:GG 是「高点的最高」、DD 是「低点的最低」、ZG 是「中枢上沿」、ZD 是「中枢下沿」。STICKLINE(条件,起始价,结束价,宽度,空心)的第四参数4是柱宽,第五参数0表示实心。实际使用中我会把宽度设为4到6之间——太小看不清,太大会遮盖K线。
之所以必须用条件计算而不用手动画线,是因为手动画线无法批量验证历史行情,也无法放进选股公式。只有把中枢区间变成可计算的变量,后续的三买、三卖信号才能用数值比较去判定。这一步是整个指标包从「画图工具」变成「交易决策辅助」的关键分水岭。
3. 笔段与中枢的算法落地:从K线高低点到中枢合并的完整链路
3.1 K线包含处理:先合并再找分型,否则分型全是噪音
缠论里处理K线有一个前置步骤:如果相邻两根K线的高点和低点存在完全覆盖关系,需要先做包含处理,把它们合并成一根。原因是包含关系会让顶底分型的判断失真。比如一根大阳线完全包容了前一根小阴线,那么在这两根K线上找高低点就意义不大。
通达信公式语言不支持循环和递归调用,所以标准教科书里的「逐根向前合并」在公式里很难直接写。我采用的常见做法是简化近似:不逐根合并,而是直接在分型判定里加入「非同向分型才有效」的约束,用二次确认替代包含处理。做出来的效果是分型数量略多于严格版缠论,但笔的骨架基本正确。
{=== K线包含关系的简化过滤 ===} {当前K线被前一根完全包含,或完全包含前一根,都视为包含关系} 包含态:= (HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,1)) OR (HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,1)); {过滤:有效分型必须发生在非包含态的K线上,且左右K线也非包含} 顶分型:= REF(HIGH,1)<HIGH AND REF(HIGH,2)<HIGH AND 包含态=0 AND REF(包含态,1)=0 AND REF(包含态,2)=0; 底分型:= REF(LOW,1)>LOW AND REF(LOW,2)>LOW AND 包含态=0 AND REF(包含态,1)=0 AND REF(包含态,2)=0;这个写法的取舍在于:严格缠论是先合并包含K线、再在新序列上找分型,而这里是在原始序列上直接过滤包含位置。误差主要出现在连续包含超过三根K线的极端行情,例如剧烈波动期间的大阳大阴交替。对于日线以下级别,建议用通达信的「主图坐标—对数坐标」配合观察,对数坐标能让高低点的比较更接近真实涨跌幅。
过滤后的分型数量通常能减少三分之一左右,笔的连线不再频繁穿越K线实体之间,视觉上更接近缠论原文图形。
3.2 笔连接的确认条件:间隔、方向、破坏三要素
笔是把相邻的顶底分型用直线连接起来,但不是任意顶底都能连成笔。缠论对笔有严格约束:顶底之间至少间隔一定数量K线,且中间不能有反向的同级别分型。落到通达信公式里,我通常用三个条件限定:间隔约束(默认5根K线)、方向约束(顶后必须接底)、破坏约束(反向分型出现后才确认前一笔结束)。
代码上,用 BARSLAST 找到最近的有效顶分型和有效底分型的距离,再判断谁更新:
{=== 笔连接确认 ===} 最近顶距离:=BARSLAST(有效顶); 最近底距离:=BARSLAST(有效底); {当前状态:如果距离更近的是底分型,说明之前是下跌笔} 下跌笔进行中:=最近顶距离>最近底距离; {确认条件:当前方向与上一笔方向相反,且间隔够} 笔破坏:= (REF(下跌笔进行中,1) AND NOT(下跌笔进行中)) OR (NOT(REF(下跌笔进行中,1)) AND 下跌笔进行中); 确认笔:= 笔破坏 AND MIN(最近顶距离,最近底距离)>=N; DRAWLINE(确认笔,REF(HIGH,最近顶距离),确认笔,HIGH,0),COLORRED;这段代码的DRAWLINE用法是:在确认笔发生的K线位置,从之前最近的分型价格画一条线到当前分型价格。第一个参数是起点条件出现的位置,第二个参数是起点价格,第三个参数是终点条件的位置,第四个参数是终点价格。需要留意的是DRAWLINE本身带未来函数属性,因为它要等终点条件确认后才会补齐这条线段,所以DRAWLINE类画线函数绝对不能放进选股公式,只用于副图显示。
这里有一个容易踩的地方:REF(HIGH,最近顶距离)的语义是「取最近顶分型那根K线的最高价」,但通达信里最近顶距离是变量,REF的第二参数支持变量用法,只是要求该变量在当根K线之前就已确定。如果公式报「函数参数错误」,优先检查这里是否错用了未来函数。
3.3 中枢合并与区间计算:三笔重叠的边界条件
中枢的核心是重叠区间。有三笔连续的次级别走势,它们的价格区间存在公共交集,就构成一个中枢。在通达信公式里,笔已经由端点和方向定义,所以中枢计算的关键是找到连续三笔的端点序列,然后按 2.3 的 GG/DD/ZG/ZD 公式聚合。
但在实际K线图上,连续五笔、七笔会形成更复杂的中枢延伸结构。这时候就涉及中枢合并:多个相邻的小区间如果共享价格区间,要合并成更大的中枢。公式化的合并规则是:前一个中枢的 ZD 到 ZG 区间,与后一个中枢的 ZD 到 ZG 区间有重叠,就合并成一个新中枢,新中枢的上沿取两者中较低的上沿,下沿取两者中较高的下沿。这本质上是区间求交的迭代过程。
{=== 中枢合并的简化实现 ===} {假设已提取前后两个候选中枢的上沿 前ZG/后ZG 与下沿 前ZD/后ZD} {重叠判定:前一中枢上沿不低于后一中枢下沿,且前一中枢下沿不高于后一中枢上沿} 重叠:= 前ZG>=后ZD AND 前ZD<=后ZG; 合并上沿:=IF(重叠,MIN(前ZG,后ZG),后ZG); 合并下沿:=IF(重叠,MAX(前ZD,后ZD),后ZD); {输出合并后的中枢区间} 存在合并中枢:= 合并上沿>合并下沿; STICKLINE(存在合并中枢,合并下沿,合并上沿,5,0),COLORMAGENTA;这里的简化之处在于:它只做了两两中枢的合并判断,没有对连续三个以上候选中枢做链式合并。实践中如果出现三中枢连续重叠,我会手动检查这一段图形,或者在参数里调大笔的间隔N来减少候选中枢数量。对大多数股票而言,日线级别的中枢多数以两个为主,链式合并的场景属于少数,简化处理不会让整体信号显著失真。
段(走势类型)的划分比笔更复杂,因为它涉及笔的次级递归,通达信公式几乎无法完整实现。我常规的做法是:用笔的价格高低点和运行时间做近似替代——把连续同向的笔合并为一段,段的方向由第一笔方向决定,段的终点由反向笔破坏确认。这不是缠论原文的严格定义,但作为副图辅助判断已经够用。真要做到完全递归的段划分,需要把K线导出到外部工具处理再以自定义数据导入,这是另一个主题,指标包内不做深度展开。
4. 四类买点与趋势过滤信号:从背驰到确认,拒绝孤立信号
4.1 四类买点怎么定义:一类背驰、二类回踩、三类突破、四类趋势
标题里的「四类买点」,我按双系统逻辑拆成四类可量化的信号,兼顾缠论三类经典买点和欧奈尔趋势突破。表格里的每一类都有明确的结构条件和趋势条件,两者缺一不可:
| 买点类型 | 结构条件(缠论) | 趋势条件(欧奈尔/均线) | 信号强度 |
|---|---|---|---|
| 一买 | 下跌段底背驰,MACD能量收缩 | RS曲线不再创新低 | 中 |
| 二买 | 一买后回踩不破前低 | MA20走平或向上 | 中高 |
| 三买 | 突破中枢上沿后回抽不回到中枢 | 欧奈尔曲线上穿0轴 | 高 |
| 四买 | 放量突破前期平台 | RS曲线创近60日新高,回踩10日线企稳 | 高 |
这里最反直觉的一点是:一买在四类买点里其实是最难用的。底背驰之后经常还有二次探底,如果趋势条件不过关,一买的成功率会显著低于其他三类。所以我宁可让一买的信号带上更严格的趋势过滤,而不是单纯看MACD背驰就直接给箭头。
四类买点的代码实现要等背驰判定和趋势判定都完成后再合成。先给出第4.2的背驰判定,再在第4.3做最终合成。
4.2 背驰判定的MACD辅助:面积收缩比极值更稳
缠论背驰的本质是力度衰减:同样一段下跌,后一段的下跌力度比前一段小。MACD 是最常用的力度度量工具,但直接比较 DIF 极值容易误判,我一般用能量柱的面积对比。面积 = 绿柱在下跌段内的累加值,后一段面积明显小于前一段,才认定背驰。
{=== MACD背驰判定 ===} {标准MACD参数} DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); MACD柱:=2*(DIF-DEA); {取最近两段下跌:通过最近两个底分型之间的距离切分} 前底距离:=BARSLAST(有效底); 前前底距离:=REF(BARSLAST(有效底),前底距离+1); {前后两段的绿柱能量(取绝对值)} 前段能量:=ABS(SUM(MACD柱,前底距离)); 后段能量:=ABS(SUM(MACD柱,前前底距离)); {底背驰:后段下跌创出新低,但能量小于前段} 新低:=LOW<REF(LOW,前前底距离); 底背驰:=新低 AND 后段能量<前段能量*0.9;参数说明:前底距离是最近有效底分型距离当前的K线数,前前底距离是更早一个底分型距离当前的K线数,两者之间的区域就是「前一段下跌」和「后一段下跌」的切分。SUM(MACD柱,N)对N根K线的MACD柱求和,负值求和后再取ABS得到能量值。0.9是背驰的力度阈值,意思是后段能量必须小于前段的九成才算背驰。这个阈值我建议按标的调:波动大的标的调到0.85,波动小的调到0.95。
注意:缠论原文对背驰的讨论涉及级别和走势中枢的嵌套关系,MACD面积只是辅助验证工具,不是背驰的充分条件。真正严谨的一买确认,还要看到价格创出新低的同时,RS曲线和均线系统没有同步创新低——这就是双系统确认的核心用法。
4.3 信号合成与趋势过滤:买点必须过方向这一关
单独一个买点信号不足以触发最终输出,趋势过滤条件相当于把方向关。我设定的过滤逻辑只有两条线:MA20的斜率向上,或者欧奈尔RS曲线站在自身均线上方。任意一条满足,方向关就过了。
{=== 双系统综合买点信号 ===} MA20:=MA(CLOSE,20); MA20向上:=MA20>REF(MA20,1); {RS曲线及其均线在下一章定义,此处用变量引用} RS:=计算的相对强度曲线变量; RS强势:=RS>家RS的N日均线; 趋势过滤:=MA20向上 OR RS强势; {四类买点信号:分别命名后做合成} 一买信号:=底背驰 AND 趋势过滤; 二买信号:=一买后回踩不破前低 AND MA20向上; 三买信号:=突破中枢上沿 AND 回抽不回到中枢 AND RS强势; 四买信号:=放量突破平台 AND RS创60日新高 AND 回踩10日线企稳; 综合买点:=一买信号 OR 二买信号 OR 三买信号 OR 四买信号; {DRAWICON只能用于主图和副图显示,选股公式不能包含} DRAWICON(综合买点,LOW*0.98,1);OR逻辑的用意是让两个趋势条件互相补位:MA20向上主要反映中期趋势,RS强势主要反映个股相对市场的强弱。单一趋势指标在震荡市里经常失真,两条至少满足一条,兼顾了趋势跟踪和相对强度两种视角。需要强调的是,四类买点信号的可靠性差异很大,我建议关注顺序是三买、四买优先,二买次之,一买最后——这直接对应4.1表格里的信号强度列。
5. 欧奈尔曲线与强度分档:把「强势股」翻译成可计算的RS序列
5.1 相对强度曲线怎么算:归一化涨幅差是最直观的RS线
欧奈尔曲线,在通达信里的实操形态通常是一条相对强度RS曲线。计算方式不复杂:选定一个基准日期,计算个股自基准日以来的累计涨幅,减去同期大盘指数累计涨幅,得到一条围绕0轴波动的曲线。曲线向上代表个股跑赢大盘,向下代表跑输。
{=== 欧奈尔相对强度曲线 ===} {基准:可以根据标的选择对应的市场指数,此处用变量代表} 基准指数:=所属市场指数收盘; {基准日:用BARSSINCE取上市以来或指定起点} 基准个股:=REF(CLOSE,启动日K线数); 基准指数值:=REF(基准指数,启动日K线数); {累计涨幅差,乘以100是为了让曲线数值在可读范围} RS:= (CLOSE/基准个股-1)*100 - (基准指数/基准指数值-1)*100; {RS的均线:常用20日或60日,视个人反应速度而定} RS_MA20:=MA(RS,20); {绘制曲线,0轴画一条参考线} RS,COLORRED,LINETHICK2; RS_MA20,COLORWHITE; 0,COLORGRAY;参数说明:启动日K线数一般取250——用过去一年作为基准周期,这样曲线表达的是「近一年相对大盘的超额收益」。也可以取60日,适合做中短线强度判断。CLOSE/基准个股-1算的是个股累计涨幅,基准指数同理,两者相减得到相对强弱。乘以100后数值从百分比变为点数,读图更直观。
相对强度曲线和普通均线的最大差异是:均线看的是自身价格趋势,RS看的是和市场赛跑的成绩单。一只股票价格在跌、但跌幅小于大盘时,RS曲线反而是向上的,这说明资金相对偏好它,是潜在强势股的雏形。这个视角是纯均线系统给不了的。
5.2 强度分档与阈值:弱势、走平、强势三档怎么划
RS曲线算出来之后,还需要一个分档规则来辅助决策。我常用的是三档划分:
| 强度档位 | 判定条件 | 对应操作倾向 |
|---|---|---|
| 弱势 | RS < RS_MA20 且 RS < 0 | 回避,缠论信号即使出现也降级处理 |
| 走平 | RS 在 0轴附近震荡,RS_MA20 走平 | 只关注,不动作 |
| 强势 | RS > RS_MA20 且 RS 创近60日新高 | 允许参与三买、四买信号 |
分档代码直接写在副图里,用背景色或柱状图区分,比如强势区 K线背景变浅红,弱势区变浅绿:
{=== 强度分档 ===} 强势:=RS>RS_MA20 AND RS>0; 弱势:=RS<RS_MA20 AND RS<0; 走平:=NOT(强势) AND NOT(弱势); {用STICKLINE画强弱区域背景} STICKLINE(强势,RS*0.05,RS,0,0),COLORLIGHTRED; STICKLINE(弱势,RS,RS*0.05,0,0),COLORLIGHTGREEN;这里RS*0.05的作用是画一条贴近0轴的细线区域作为背景底色,数值本身不参与信号计算。这一档划分的价值在于:当缠论副图出现一买信号时,如果强度分档处于弱势,我基本直接放弃;只有强势或至少走平状态下,一买才值得留意。
5.3 与缠论中枢位置的配合:只在关键位置用强度确认
RS曲线是强力过滤器,但不能脱离结构单独使用。我总结过一条铁律:RS强势只在中枢突破和回踩位置有决定性意义,在下跌段中间出现RS拐头向上很可能是诱多,不可作为买点依据。这也是为什么标题里强调「双系统」——不是你强我弱,而是两者交叉确认。
实际操作中,我会把RS强势条件与第3章的中枢变量绑定:当价格突破中枢上沿ZG时,RS必须同时创近60日新高,三买信号才成立;当价格在中枢内部震荡时,RS曲线就算强势也只作为观察信号,不进入选股结果。这个约束让选股结果的数量至少减少一半,留下的信号质量要干净得多。
一个值得留意的细节:RS曲线的基准指数需要根据标的类型切换。如果自选标的是小盘成长股,用大盘指数做基准容易失真,强度曲线长期飘在0轴下方,反而掩盖了它相对同板块的强势。我通常的做法是准备两个副图版本,一个以大盘指数为基准,一个以所属板块指数为基准,两个曲线一起看。
6. 调参避坑与复盘验证:指标包从能跑到能用的最后一步
6.1 5个高频坑:现象、原因、解决
坑1:分型标得到处都是,笔和段根本连不成线。现象:副图上一堆顶分型和底分型标记,画出来的笔密密麻麻,没有结构感。 原因:N值(最小间隔)设得太小,导致3根K线就能构成一个分型,高低点频繁切换。 解决:把N从5调到8或10。我一般先按当前周期的20根K线占比来估:日线N=8,30分钟N=5,周线N=13。每调一次,就用最近半年的历史数据复盘一次,看笔的连接是否接近缠论原文画法。
坑2:盘后选股结果和盘中看到的信号对不上。现象:盘中副图显示有买点,盘后运行选股公式却选不出来,或者反过来——选股结果出现了副图上根本没显示过的信号。 原因:副图公式里混用了有未来函数属性的画线函数(DRAWLINE、DRAWKLINE),或者REF参数里引用了尚未确定的变量。 解决:把所有画线函数从选股公式里全部剔除,选股公式里只用逻辑变量和数值比较。这两套公式分开维护,不要共用同一个文件。
坑3:中枢矩形时有时无,今天有明天消失。现象:副图里某个区域的中枢矩形,在K线滚动后消失或移动位置。 原因:中枢的端点使用了未确认的分型,最后一根K线还在变化,导致分型距离和笔端点发生变动。 解决:给中枢确认加一个延迟条件:确认笔成立后,再延迟一根K线输出中枢。简单做法是把中枢计算建立在确认笔变量之后再加REF(确认笔,1)之类的滞后引用。牺牲一根K线的及时性,换取图形的稳定性。
坑4:一买信号经常出现在下跌中继。现象:底背驰信号出现后,价格继续跌,信号被反复打脸。 原因:趋势过滤过于宽松,RS曲线还处于弱势区就放行了一买信号。 解决:把一买信号的过滤条件从RS>RS_MA20改为RS>RS_MA20 AND RS>0,必要时再把后段能量<前段能量*0.9改为0.8,让背驰判定的能量收缩要求更严。
坑5:换一只标的,信号就全乱套。现象:同样一套参数,在标的上表现稳定,换到另一只就频繁出信号或完全不出信号。 原因:MACD(12,26,9) 和N=8的参数组合不具有普适性,波动率和走势结构不同的标的需要不同的能量段长度。 解决:把关键参数声明为通达信公式参数,方便在指标参数面板里快速调整。建议先用默认参数跑一遍,记下信号数量,再把N和背驰阈值上下浮动30%,看信号数量变化。变化太剧烈的参数就是你要重点盯的敏感参数。
6.2 复盘验证:历史信号回看与参数敏感性测试
指标包写完后,我一般先不开真实选股,而是花一周时间做复盘验证。做法是:在通达信里随意定位一段历史行情,加载副图公式,逐个按键盘的左右键移动光标,检查每个标记的顶分型、笔连接、中枢矩形和买点箭头是否与当时的价格结构吻合。重点看两类错误:一类是分型标记出现但实际不是高低点,另一类是中枢矩形覆盖的价格区域明显不合理。这类错误多数源自间隔参数偏小,调大N值后重跑一遍。
更系统的方法是参数敏感性测试:每次只调一个参数,比如把N从5调到10,比较信号总数。合理的行为应该是:N小幅变动时,信号数量变化不大;N变化超过50%时,信号明显减少但核心买点仍然保留。如果N从5调到6时信号数量就腰斩,说明公式对参数过度敏感,这种稳定性不足以支撑实战。
最后一条习惯:每次改动公式,都同时跑一遍选股公式,而不是只改副图看效果。因为副图和选股公式使用同一套逻辑变量时容易发生版本漂移——副图改了N值,选股公式没同步改。我的做法是把公共逻辑写成一个独立的公式文件,副图和选股公式都用引用方式调用,保证两处永远一致。
这一套指标包从跑通到真正顺手,花的时间主要不在写公式,而在参数校准和信号复盘。用复盘替代盘感,是新手和老手之间最实际的分水岭。希望帮到你。
本文还有配套的精品资源,点击获取