简介:这份通达信指标文档面向股票技术分析爱好者与指标编写初学者,聚焦副图趋势判断场景,帮助读者理解弘历趋势王指标的构造逻辑与实战用法。资源包内含1个doc文件,约103KB,以图文与公式说明为主,便于在电脑端直接查阅与对照编写。指标核心围绕多周期指数移动平均值展开,将3、6、9、12、18、26、34等周期的EMA组合成A1至A7七组均线,再通过FORCAST函数预测未来走势,并借助IF语句与DRAWNULL语句实现上涨与下跌的分色绘制,红色代表价格走强、绿色代表走弱。文档还涉及TowerC变量以及DIRECTIONMAX、DIRECTIONMIN的取值方式,用于刻画趋势方向与高低点。目前已有12689人学习下载,适合希望把均线、预测函数与条件绘图整合进副图指标、提升趋势识别效率的读者参考。
1. 弘历趋势王副图指标:从公式结构到实战信号过滤
很多做通达信公式的朋友,第一次看到「弘历趋势王(副图)」这类指标,第一反应是去网上找源码,复制粘贴进公式管理器,然后盯着副图里红绿柱子来回变色,却说不清它到底在算什么。我早年也这样,结果就是信号一多就乱,一乱就怀疑指标本身有问题。其实副图指标的核心价值不在「有没有源码」,而在你能不能读懂它的公式结构:它用了几条均线、用什么条件判断趋势方向、变色阈值卡在哪里。这篇笔记就按这个思路走,先把副图指标的计算逻辑拆开,再讲怎么在通达信里落地、怎么调参数、怎么过滤掉那些让人反复止损的假信号。适合已经会打开公式管理器、但还没系统梳理过副图指标写法的人。
2. 副图指标的计算骨架:均线、趋势线与变色条件
副图指标和主图指标最大的区别是:主图指标要跟K线叠在一起,副图指标只在自己的坐标系里画线或画柱。弘历趋势王这类副图,常见做法是用两条快慢均线的差值或比值来定义趋势强度,再用一个阈值判断多空,最后用 STICKLINE 或 DRAWICON 把状态画出来。理解这个骨架,后面改参数才不会瞎改。
2.1 快慢均线差值与趋势方向的数学表达
大部分趋势类副图指标,底层都是「快线减慢线」或者「快线除慢线」。差值版更直观,比值版更抗量纲变化。通达信里写起来都不复杂,关键是先确定用哪条均线。常见做法是 EMA 和 SMA 混用,因为 EMA 对近期价格更敏感,SMA 更平滑。
下面是一段最小可运行的副图公式骨架,只保留趋势计算和一条零轴参考线:
{弘历趋势王副图骨架:快慢EMA差值} N1:=12; {快线周期,常见12} N2:=26; {慢线周期,常见26} FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); TREND:FAST-SLOW,COLORSTICK; {差值画柱} ZERO:0,COLORGRAY; {零轴参考}这段代码里,N1和N2是参数,不是写死的。TREND就是快慢线差值,大于零说明快线在慢线之上,趋势偏多;小于零偏空。COLORSTICK让差值以柱状图显示,正负一眼能看出来。ZERO是零轴,用来判断多空分界。逻辑说明:差值本身没有上下限,所以副图会自动缩放,零轴位置会随数据变化,但零轴始终是 0,不会跑。
参数说明:N1越小,信号越灵敏,但假信号越多;N2越大,趋势越稳,但滞后越明显。我一般先用 12 和 26 跑一遍,看看柱状图跟价格波段的对应关系,再决定要不要调。如果标的波动率很高,比如日内振幅经常超过 3%,可以把N1调到 8、N2调到 21,让信号跟得紧一点。
2.2 用 STICKLINE 画红绿柱:颜色切换的阈值怎么定
差值画柱只是第一步,真正让副图「好看」的是红绿变色。通达信里用STICKLINE可以按条件画不同颜色的柱。常见写法是:差值大于零画红柱,小于零画绿柱。但这里有个细节:如果差值在零轴附近反复穿越,红绿会频繁切换,看起来像闪烁。解决方法是加一个缓冲阈值,比如差值绝对值小于某个数时不画柱,或者用两条阈值线。
{红绿柱带缓冲阈值} N1:=12; N2:=26; FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); TREND:=FAST-SLOW; THRESH:=0.02*CLOSE; {缓冲阈值,取收盘价的2%} STICKLINE(TREND>THRESH,0,TREND,2,0),COLORRED; STICKLINE(TREND<-THRESH,0,TREND,2,0),COLORGREEN; STICKLINE(ABS(TREND)<=THRESH,0,TREND,2,0),COLORGRAY;逻辑说明:THRESH是动态阈值,用收盘价的百分比表示,这样不同价位的股票都能用同一套参数。STICKLINE的第四个参数是柱宽,第五个参数是是否空心,这里用 2 和 0 表示实心柱。三条STICKLINE分别处理红、绿、灰三种状态,灰色代表趋势不明,避免在震荡区反复变色。
参数说明:THRESH的系数 0.02 是我常用的起点。如果标的波动小,比如大盘蓝筹,可以降到 0.01;如果波动大,比如小盘题材,可以升到 0.03。这个系数没有绝对标准,要看副图里灰色区域是不是覆盖了大部分震荡段。如果灰色太少,说明阈值太小,红绿切换还是频繁;如果灰色太多,说明阈值太大,趋势信号被吞掉了。
2.3 把趋势线叠加到副图:DRAWBAND 与 DRAWICON 的取舍
有些版本的趋势王副图不画柱,而是画一条趋势线,再用图标标记买卖点。这时候可以用DRAWBAND画带状区域,或者用DRAWICON在特定位置画箭头。DRAWBAND适合展示两条线之间的区域,比如快线和慢线之间的带宽;DRAWICON适合标记金叉死叉。
{趋势带与图标标记} N1:=12; N2:=26; FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); DRAWBAND(FAST,RGB(255,0,0),SLOW,RGB(0,255,0)); {快线红带,慢线绿带} CROSS(FAST,SLOW) 时 DRAWICON(1,LOW*0.99,1); {金叉画向上箭头} CROSS(SLOW,FAST) 时 DRAWICON(1,HIGH*1.01,2); {死叉画向下箭头}逻辑说明:DRAWBAND的前两个参数是一条线和它的颜色,后两个参数是另一条线和它的颜色。当快线在慢线之上时,红色带会覆盖绿色带,视觉上就是红带;反之就是绿带。DRAWICON的第三个参数是图标编号,1 通常是向上箭头,2 是向下箭头,具体编号在不同通达信版本里可能略有差异,需要自己在图标库里确认。
参数说明:DRAWBAND的颜色用RGB函数指定,红绿是最常用的组合。DRAWICON的位置参数我习惯用LOW*0.99和HIGH*1.01,让箭头稍微偏离K线,避免遮挡。如果副图空间有限,可以只保留DRAWBAND,去掉图标,因为图标在副图里容易和柱状图重叠。
3. 在通达信里落地:公式管理器操作与参数调试
公式写出来只是第一步,真正落地要在通达信公式管理器里新建、编译、加载到副图,然后观察实际效果。这一步的坑比写公式还多,比如参数没设对导致编译失败、副图加载后不显示、颜色跟预期不一致。下面按操作顺序走一遍。
3.1 新建副图公式的完整步骤与编译检查
打开通达信,按Ctrl+F调出公式管理器,选择「技术指标公式」下的「其他类型」,点「新建」。公式名称填一个自己记得住的,比如HLQSW,画线方法选「副图」。然后把写好的代码粘贴进编辑区,点「测试公式」。如果提示「编译成功」,说明语法没问题;如果提示某一行有错,通常是标点符号用了中文全角,或者变量名重复。
{完整可编译的副图公式示例} N1:=12; N2:=26; FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); TREND:=FAST-SLOW; THRESH:=0.02*CLOSE; STICKLINE(TREND>THRESH,0,TREND,2,0),COLORRED; STICKLINE(TREND<-THRESH,0,TREND,2,0),COLORGREEN; STICKLINE(ABS(TREND)<=THRESH,0,TREND,2,0),COLORGRAY; ZERO:0,COLORGRAY;逻辑说明:这段代码可以直接编译,没有用到外部函数,也没有引用其他指标。ZERO这一行用冒号而不是赋值号,是为了让零轴显示在副图里。如果不想显示零轴,可以把这一行删掉,或者改成ZERO:=0;变成内部变量。
参数说明:N1和N2是硬编码的,如果想在公式管理器里调,需要把它们改成参数形式。通达信支持在公式头部用PARAM声明参数,但不同版本语法略有差异。稳妥做法是先在代码里写死,跑通之后再改成参数。
3.2 参数调优:周期、阈值与标的波动率的匹配
参数调优不是找「最优解」,而是找「跟当前标的匹配的解」。同一个指标,用在大盘股和用小盘股,参数肯定不一样。我一般会做三组对比:默认参数、灵敏参数、平滑参数,然后在同一段历史行情里看哪种信号更符合自己的交易节奏。
| 参数组 | N1 | N2 | 阈值系数 | 适用场景 |
|---|---|---|---|---|
| 默认 | 12 | 26 | 0.02 | 大多数股票,日线级别 |
| 灵敏 | 8 | 21 | 0.015 | 高波动小盘股,短线 |
| 平滑 | 16 | 34 | 0.025 | 低波动蓝筹,中线 |
调参时不要只看信号数量,要看信号出现的位置。如果红柱出现在波段起点附近,说明参数合适;如果红柱总是出现在波段中后段,说明参数太滞后;如果红柱在震荡区反复出现,说明阈值太小。我习惯把副图和主图K线放在同一屏,用键盘上下键逐根K线看,这样能直观感受到信号和价格的对应关系。
3.3 副图加载后不显示或颜色异常的排查
有时候公式编译成功,但加载到副图后一片空白,或者颜色跟代码里写的不一样。常见原因有三个:一是画线方法选错了,选成了「主图叠加」,副图自然不显示;二是STICKLINE的柱宽参数设成了 0,柱子宽度为零,看不见;三是颜色代码在部分通达信版本里不支持COLORRED这种写法,需要用RGB函数。
排查顺序:先确认画线方法是「副图」,再检查STICKLINE的第四个参数是不是大于 0,最后把颜色改成RGB(255,0,0)这种通用写法。如果还是不显示,把代码里除了ZERO:0;之外的所有行都注释掉,看零轴能不能出来。零轴能出来,说明副图加载没问题,问题在画柱的代码;零轴出不来,说明公式根本没加载成功。
4. 避坑与常见问题:信号闪烁、未来函数与版本差异
副图指标用久了,总会遇到一些让人头疼的问题。有些是公式写法导致的,有些是通达信本身的行为,还有些是版本差异。下面这几条是我自己踩过的坑,按「现象 → 原因 → 解决」整理出来。
4.1 红绿柱频繁切换:阈值太小还是均线太短
现象:副图红绿柱在零轴附近反复变色,一根K线红、下一根绿,再下一根又红,看起来像闪烁。
原因:要么是阈值THRESH太小,差值稍微穿越零轴就触发变色;要么是N1和N2太短,快慢线本身就在频繁交叉。
解决:先把阈值系数从 0.02 提到 0.03,观察灰色区域是否覆盖了震荡段。如果还是闪烁,把N1从 12 提到 16,N2从 26 提到 34,让均线更平滑。注意不要同时调两个,否则分不清是哪个参数起了作用。
4.2 信号出现在K线走完之后:未来函数的识别与规避
现象:复盘时看副图信号很准,实盘时信号总是慢半拍,或者信号出现后价格已经走了一段。
原因:公式里用了未来函数,比如ZIG、PEAK、TROUGH这类会引用未来数据的函数。未来函数在复盘时会把后面的高低点算进来,所以看起来准,实盘时没有未来数据,信号就滞后了。
解决:检查代码里有没有ZIG、PEAK、TROUGH、BARSLAST配合未来条件的写法。如果有,尽量换成CROSS、REF、EMA这些只依赖历史数据的函数。如果必须用未来函数,就在副图里标注清楚,实盘时只做参考,不直接作为买卖依据。
4.3 不同通达信版本对 STICKLINE 参数的处理差异
现象:同一段代码,在A电脑上红绿柱正常,在B电脑上柱子宽度不对,或者颜色变成默认色。
原因:不同通达信版本对STICKLINE的第五个参数(空心/实心)和颜色代码的支持不一样。有些版本不支持COLORRED这种简写,有些版本对柱宽为 0 的处理是画一条线而不是不画。
解决:把颜色统一改成RGB函数,比如RGB(255,0,0)代替COLORRED。柱宽参数不要用 0,最小用 1。如果还是不一致,就在公式头部加一行{版本兼容}注释,提醒自己这个公式在哪个版本上验证过。
4.4 副图指标与主图指标信号冲突:以哪个为准
现象:主图指标显示金叉,副图趋势王还是绿柱,不知道该信哪个。
原因:主图和副图的计算周期、均线类型、阈值都不一样,信号不同步是正常的。主图指标通常更贴近价格,副图指标更偏向趋势确认。
解决:不要试图让两个指标完全同步。我一般把主图指标当触发信号,副图指标当过滤条件。比如主图金叉时,如果副图绿柱正在缩短或者已经翻红,才考虑进场;如果副图还是深绿,就再等等。这样虽然会错过一些机会,但能过滤掉不少假突破。
4.5 历史数据不足导致副图前半段空白
现象:副图加载后,最近一段有柱子,但往前翻很久都是空白。
原因:EMA 和 SMA 都需要足够的历史数据才能算出稳定值。如果股票上市时间短,或者通达信本地数据只下载了最近几个月,副图前半段就没有值。
解决:在通达信里按F10查看股票上市日期,确保本地数据覆盖了至少N2的三倍周期。如果数据不够,可以在公式里加一个BARSCOUNT(CLOSE)>N2*3的条件,数据不足时不画柱,避免看到不准确的信号。
5. 进阶技巧:把副图信号转成选股条件与预警
副图指标除了用眼睛看,还能转成选股公式和预警条件。这一步是把「手动翻股票」变成「自动筛股票」的关键。下面讲两个具体做法:一是把红柱翻绿或绿柱翻红写成选股条件,二是用通达信预警系统实时监控。
5.1 用 CROSS 把红绿切换写成选股公式
选股公式和副图公式的写法几乎一样,区别是选股公式最后要输出一个布尔值,通达信只取值为 1 的股票。把副图里的红绿切换条件用CROSS包起来,就能变成选股条件。
{选股:绿柱翻红} N1:=12; N2:=26; FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); TREND:=FAST-SLOW; THRESH:=0.02*CLOSE; RED:=TREND>THRESH; GREEN:=TREND<-THRESH; CROSS(RED,GREEN); {绿转红时输出1}逻辑说明:RED和GREEN是两个布尔变量,分别代表红柱区和绿柱区。CROSS(RED,GREEN)表示RED从 0 变 1 的那一刻,也就是绿柱翻红的瞬间。选股公式里不需要STICKLINE,只需要最后一行输出条件。
参数说明:N1、N2、THRESH要和副图公式保持一致,否则选出来的股票和副图看到的信号对不上。如果选股结果太多,可以把THRESH系数调大,或者加一个CLOSE>MA(CLOSE,60)的条件,只选趋势向上的股票。
5.2 用条件预警实时监控副图信号
通达信的预警系统可以实时监控选股公式,当条件满足时弹窗或声音提示。设置路径是:功能 → 预警系统 → 条件预警设置 → 添加品种 → 选择选股公式。预警周期可以选 1 分钟、5 分钟或日线,取决于你的交易频率。
{预警:红柱缩短} N1:=12; N2:=26; FAST:=EMA(CLOSE,N1); SLOW:=EMA(CLOSE,N2); TREND:=FAST-SLOW; THRESH:=0.02*CLOSE; RED:=TREND>THRESH; RED AND TREND<REF(TREND,1); {红柱但差值在缩短}逻辑说明:这个预警条件不是等绿柱翻红,而是红柱出现后差值开始缩短,提前提示趋势可能减弱。REF(TREND,1)取上一根K线的差值,TREND<REF(TREND,1)表示当前差值比上一根小。
参数说明:预警条件比选股条件更敏感,因为它是实时计算的。如果预警太频繁,可以把THRESH系数调大,或者加一个BARSCOUNT(CLOSE)>60的条件,过滤掉上市时间太短的股票。预警只是提示,不是自动交易,最终决策还是要结合主图和其他信息。
5.3 副图指标的多周期共振验证
单周期副图信号容易受噪音影响,我习惯用日线和 60 分钟线做共振验证。日线红柱 + 60 分钟红柱,信号可靠性更高;日线红柱 + 60 分钟绿柱,说明短期在回调,可以等 60 分钟翻红再考虑。
具体做法:把副图公式分别加载到日线和 60 分钟副图,用MULTI函数或者直接切换周期观察。通达信不支持在同一个副图里同时显示两个周期的信号,但可以用REF函数引用大周期数据。比如在 60 分钟副图里引用日线趋势:
{60分钟副图引用日线趋势} N1:=12; N2:=26; FAST_D:=EMA(CLOSE,N1); SLOW_D:=EMA(CLOSE,N2); TREND_D:=FAST_D-SLOW_D; FAST_60:=EMA(CLOSE,N1); SLOW_60:=EMA(CLOSE,N2); TREND_60:=FAST_60-SLOW_60; STICKLINE(TREND_60>0 AND TREND_D>0,0,TREND_60,2,0),COLORRED; STICKLINE(TREND_60<0 AND TREND_D<0,0,TREND_60,2,0),COLORGREEN; STICKLINE(TREND_60>0 AND TREND_D<0,0,TREND_60,2,0),COLORYELLOW; STICKLINE(TREND_60<0 AND TREND_D>0,0,TREND_60,2,0),COLORBLUE;逻辑说明:这段代码在 60 分钟周期里同时计算了 60 分钟趋势和日线趋势(TREND_D实际上是用 60 分钟数据算的日线参数,严格来说不是真正的日线,但可以作为近似)。四种颜色分别代表共振多、共振空、短期多长期空、短期空长期多。黄色和蓝色区域就是周期冲突区,信号可靠性低。
参数说明:N1和N2在两个周期里可以不同,比如日线用 12/26,60 分钟用 8/21。但为了简化,我一般先用同一组参数跑,看共振效果,再决定要不要分开调。共振验证的目的是减少假信号,不是增加信号数量,所以宁可漏掉一些,也不要被冲突信号带偏。
最后说一个我自己的习惯:副图指标改完参数后,不要马上实盘用,先拿最近三个月的 1 分钟数据跑一遍预警,看看信号触发频率和实际价格走势的对应关系。如果一天触发几十次,说明参数太灵敏;如果一周都不触发一次,说明太迟钝。这个习惯帮我省了不少后悔药。希望帮到你。
本文还有配套的精品资源,点击获取