通信达公式参数怎么设置?从定义到优化避坑指南
2026/9/19 16:51:17 网站建设 项目流程

简介:通信达公式参数总结.doc以系统梳理通信达公式编写中的高频函数与用法为核心,适合正在学习通信达指标编写、技术分析及策略开发的新手和进阶用户。文档重点整理了行情函数、时间函数与引用函数三大类:行情函数涵盖最高价、最低价、收盘价、成交量、成交额、委买卖盘及主动性买卖盘等;时间函数提供日期、时间、年、月、星期、分钟以及距开盘分钟数等;引用函数则包括DRAWNULL、BACKSET、BARSCOUNT、COUNT、HHV、LLV、REF、SUM等常用工具,并配有具体调用示例。这些函数覆盖了从原始行情获取、时间维度定位到信号过滤与统计的完整链条,可直接支撑指标、选股和交易系统的编写。资源为1个doc文件,压缩包约52KB,内容精简集中,便于快速查阅。已有41人学习下载,适合作为通信达公式学习的随身速查手册,帮助读者准确理解各参数含义与适用场景,从而更高效地完成公式编写与市场数据分析。

1. 通信达公式参数:参数表解决「抄什么」,不解决「为什么」

做技术分析的工程师电脑里多半存过一份「通信达公式参数总结」之类的文档,打开是一张表:MACD 配 12、26、9,KDJ 配 9、3、3,BOLL 配 20、2。可真正动手写公式的人很快会发现,参数表只回答「默认抄什么」,不回答「为什么是这几个数」。同样一句 MA(CLOSE,N),N 取 5 和取 120,背后是两套完全不同的行情假设,改错了方向,公式跑得越快错得越远。下面把通信达公式参数从头理一遍:声明语法、指标语义、优化设置、稳健性验证四块。适合刚会写选股公式、想改参数不知先动哪个的入门者,也适合被参数优化坑过、想建立可复现流程的人。

2. 通信达公式参数定义语法:声明四字段、引用方式与完整带参公式

2.1 参数声明:参数名、最小值、最大值、缺省值四者缺一不可

通信达公式编辑器里有一个独立的参数区,每个参数占一行,按「参数名、最小值、最大值、缺省值」四列录入。把周期类参数声明成下面这种形式,是「参数总结」类文档最通用的写法:

N 2 250 20 M 1 6 2

第一行声明参数 N,允许范围 2 到 250,缺省值 20;第二行声明 M,范围 1 到 6,缺省值 2。这里有几个硬约束:参数名不能与 CLOSE、LOW、VOL 这类行情函数重名,否则编译阶段直接冲突;缺省值必须落在最小值和最大值之间;参数是纯数值,不能把价格序列或字符串赋给它。范围这一项尤其重要,因为后面做参数优化时,搜索边界就是由最小值和最大值决定的,范围设窄了最优解会被截断在边界上,设宽了枚举组合数又爆炸,一次优化跑几个小时。

注意:参数名不要用大写行情函数名,也不要与系统函数重名;缺省值不在范围内时,公式编译会直接报「参数设置错误」。

2.2 参数在公式体里的引用:直接传参、条件比较与分支开关

参数在公式体里就是一个数值变量,最常见的用法是作为周期参数直接传给函数:

N 2 250 20 均线:MA(CLOSE,N); 上穿:CROSS(CLOSE,MA(CLOSE,N));

第一行输出 N 日均线,第二行输出收盘价上穿 N 日均线的布尔信号。N 出现在两处,改一次参数两条线同步变化,这是参数最基础的价值:把「改逻辑」降级成「改数值」。所以参数适合放周期、倍数、阈值这类可量化的量,不适合放「用哪种算法」这种结构性的选择。

结构性选择可以用参数当分支开关实现。声明一个枚举参数 mode,取值范围 1 到 3,公式体里用 IF 切换算法,一组参数就能覆盖三类均线:

mode 1 3 1 N 2 250 20 价格线:IF(mode=1,MA(CLOSE,N),IF(mode=2,EMA(CLOSE,N),WMA(CLOSE,N)));

mode=1 用简单均线,mode=2 用指数均线,mode=3 用加权均线,N 在三条分支里共用。做参数优化时把 mode 也放进搜索范围,一次跑完三种算法的对比,省去手动切换公式的时间。

2.3 一个完整的带参公式:用 N 和 M 写可调均线通道

把声明和引用合起来,写一个带两个参数的均线通道公式,结构与 BOLL 一致但参数完全可控:

N 5 120 20 M 1 5 2 MID:MA(CLOSE,N); 上轨:MID+M*STD(CLOSE,N); 下轨:MID-M*STD(CLOSE,N);

逻辑说明:MID 是 N 日均线,作为通道中轴;上轨和中轴的差值是 M 倍的 N 日标准差,下轨对称。标准差衡量价格围绕均线的离散度,通道宽度会自适应波动:行情剧烈时通道自动变宽,盘整时自动收窄,这是它比固定百分比通道更好用的原因。参数说明:N 控制观察窗口,N 小通道贴价格近、信号换手快,适合日内和短线;N 大通道平滑、趋势感强,适合日线以上级别。M 控制带宽,M 越大通道越宽,价格突破上轨的难度越大,假信号越少,但信号出现越晚。两个参数不要同时调,先定 N 再定 M,出问题时才能定位是哪一项引起的。

3. 通信达公式参数逐个拆解:MACD、KDJ、RSI、BOLL 的数字语义

3.1 MACD 的 12、26、9:快慢窗口与信号平滑各管一段

MACD 公式拆开看只有三行:

DIFF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:(DIFF-DEA)*2,COLORSTICK;

12 和 26 是快慢两根 EMA 的窗口,DIFF 是两者之差,衡量短期动量相对中期动量的强弱;9 是 DIFF 的平滑窗口,生成信号线 DEA。三个参数不是并列关系:12、26 决定 DIFF 的灵敏度和滞后程度,9 只负责让 DEA 平滑。常见的短线改法是把 12、26 同比例缩小到 6、13,DEA 同步缩到 5;只改其中一个窗口,会破坏快慢两线对同一段行情响应的对称性,金叉死叉的位置会整体偏移,与价格走势对不上。EMA 对窗口的敏感度比 MA 高,参数挪一个单位曲线形态就有肉眼可见的变化,所以 MACD 调参要每次只动一个数,并记下金叉死叉的位置变化。

3.2 KDJ 的 9、3、3:回看窗口、平滑期与权重基准是三个概念

KDJ 内置公式和默认参数 9、3、3,是「公式参数总结」文档里出现频率最高的一组,但三个数字的角色完全不同。RSV 部分最直观:

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:SMA(RSV,3,1); D:SMA(K,3,1); J:3*K-2*D;

第一个 9 是回看窗口,统计最近 9 根 K 线的最高价、最低价,算出当前收盘价在区间内的相对位置,值域 0 到 100。K、D 是对 RSV 的递推平滑,教科书写法是前值占三分之二、当日新值占三分之一;通信达把这套平滑拆成第二、第三个参数暴露出来,第二个是平滑期数,第三个是权重基准,默认 9、3、3 对应的就是代码里的平滑强度。J 是 K 和 D 差值的放大,用来缓解指标在超买超卖区的钝化,不属于参数讨论范围。调 KDJ 最常犯的错是把后两个参数当成同一个量一起改,其实第二个影响平滑的窗口长度,第三个影响新行情进入指标的速度,应该分开调。

3.3 常用指标参数速查表

指标默认参数参数含义常见调整方向
MA5 / 10 / 20 / 60简单移动平均的窗口日内用 3/8/13,波段用 21/55
MACD12 / 26 / 9快线窗口 / 慢线窗口 / DEA 平滑窗口短线 6/13/5,快慢窗口同缩放
KDJ9 / 3 / 3RSV 回看窗口 / 平滑期 / 权重基准短线 5/2/2,权重基准别大于平滑期
RSI6 / 12 / 24N 日涨幅均值与跌幅均值的比值窗口单线用 14,多线保持倍数关系
BOLL20 / 2均值窗口 / 标准差倍数趋势市 2.5,震荡市 1.8

这张表就是「参数总结」最常见的形态,但表里真正有用的不是缺省值,而是「参数含义」和「常见调整方向」两列。缺省值是软件作者在特定行情假设下定的,换到你的标的、周期和交易频率上,最优组合往往不同,抄表只能作为起点。

3.4 调参优先级:先主窗口,再平滑,后阈值

调参有个通用顺序:先动决定信息窗口的参数,比如 MACD 的 12、26,KDJ 的 9,BOLL 的 20;再动只做派生曲线平滑的参数,比如 DEA 的 9,KDJ 的第二、第三个参数;最后才动阈值类参数,比如 BOLL 的 2。原因是前两类改变的是「用什么信息」,最后一类改变的是「多严苛才算信号」,混在一起调无法归因。每次只动一个参数,记录改动前后的信号数量、平均持仓天数和期末净值,比一次动三个参数更快定位问题,也更容易形成自己的参数调整记录。

4. 通信达公式参数优化实操:面板设置、目标指标与三个陷阱

4.1 优化前先把范围、步长、区间和成本填对

通信达公式系统自带参数优化,原理是把参数从最小值到最大值按步长枚举,每个组合在测试区间上跑一遍回测,最后按指定指标排序输出结果表。进入优化面板后,四个设置决定结果质量:

优化参数:N 范围 2..60 步长 2 优化参数:M 范围 1..5 步长 1 测试区间:2021-01-01 至 2024-06-30 交易成本:佣金 0.025% + 印花税 0.05% + 滑点 0.02%

参数说明:步长决定搜索粒度,先用大步长粗扫找到峰值区间,再用步长 1 精扫,比一次设细步长省几个小时。测试区间要覆盖至少一段完整的牛熊转换,只取单边上涨段优化出来的参数,在震荡市里大概率失效。交易成本按双边佣金加卖出印花税再加滑点估算,现阶段印花税按卖出万分之五计,佣金按双边万分之二点五,滑点按最小跳动价位折算。很多人优化结果好看,是成本填了 0,实盘一跑手续费就把利润吃掉了。

4.2 排序指标选收益回撤比,过滤低交易次数

优化结果报表里的指标不少,先分清各自的用途:

报表指标关注点建议用法
总收益绝对盈亏只在回撤相近时比较
收益回撤比收益与回撤的平衡首选排序指标
胜率单次对的概率配合盈亏比一起看
交易次数样本量设下限过滤无效组合

把排序指标从总收益改成收益回撤比,是筛选稳健参数最简单的一步。总收益最高但最大回撤是第二名两倍的组合,实盘里很难拿得住。同时过滤交易次数过少的组合:一年交易不足十次,统计上不具显著性,换一段行情结果可能完全翻转。

4.3 三个让优化结果作废的原因:未来函数、边界参数与样本过少

第一个是未来函数。ZIG、BACKSET、PEAK、TROUGH 这类函数会引用未来 K 线数据,用它们写的公式在历史回测里信号完美,实盘里信号会随新 K 线产生而后移或回改。验证方法:把公式挂到最新 K 线上,观察已走完的 K 线信号是否会随行情刷新而移动,会动的就用了未来数据,这类公式无论参数怎么优化都不能用于实盘。

第二个是参数落在取值范围边界。优化结果里最优 N 恰好等于设定的最大值 60,说明真实最优值在搜索区间之外,你扫到的是边界截断点。处理办法是扩大边界重扫,如果 N 一直增大收益一直上升,说明这个参数不适合当前周期级别,扩大边界也解决不了。第三个是交易次数过少。年化 80% 但全程只有 12 笔交易,这个结果没有统计意义。把交易次数下限设到 50,优先选信号分布均匀的组合,再比较收益回撤比。

提示:优化结果里最优值出现在区间边界时,先扩大边界重扫确认,不要直接采信这一组参数。

5. 参数动态用法与稳健性验证:调完先别急着实盘

5.1 用 IF 条件实现随行情切换的动态参数

参数不一定要在整个图上取固定值,用条件分支把行情状态接进参数选择,可以让同一参数在趋势和震荡里自动切换:

N 5 120 30 周期:IF(CLOSE>MA(CLOSE,60),N,MAX(2,INTPART(N/2))); 动态均线:MA(CLOSE,周期);

逻辑说明:价格站上 60 日均线时用完整周期 N,否则用 N 的一半,INTPART 取整避免均线周期出现小数,MAX 保证最小周期不小于 2。趋势段用慢线过滤噪音,震荡段用快线捕捉反弹。注意这会让参数语义从「窗口长度」变成「基础窗口长度」,优化出的 N 绝对值不再直观,务必在公式注释里写明触发条件,否则一个月后回看会忘记 N 到底起了什么作用。

注意:动态周期方案只对接受变量周期的函数有效,MA 可以,部分内置函数要求常量周期,先在小样本上验证再推广。

5.2 邻域验证、样本外验证与参数平台图

调参完成后花十分钟做三次验证。第一步邻域验证:最优参数各加减一个单位重跑,比如 N=20 最优,就再跑 19 和 21,信号数量或收益剧烈变化说明结果落在陡峭边缘,不可信;相邻参数表现接近,说明位于稳健平台。第二步样本外验证:用 2021 到 2023 年数据优化,把 2024 上半年留出来只做验证,样本外收益明显塌方就重新评估整个参数体系。第三步把优化报表里不同 N 对应的收益画成折线,理想的稳健参数是一条宽平台;只有一个尖峰的曲线基本是过拟合,换一段行情尖峰就消失。能通过这三步验证的参数才值得写进自己的「公式参数总结」文档,否则那组数字只能算是特定历史行情的一种巧合。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询