同花顺logo
指标设置作者:同花顺 官方团队

同花顺K线图中如何添加自定义指标公式的方法?

同花顺添加自定义指标公式, K线图指标公式怎么设置, 自定义指标公式导入方法, 同花顺指标公式无法显示怎么办, K线图添加自定义指标步骤, 同花顺自定义指标公式兼容性, 指标公式在K线图如何显示, 同花顺技术指标设置教程, 自定义指标公式添加失败如何排查

从三个真实痛点说起

多数人第一次打开同花顺的公式管理器,往往带着一个很具体的需求:软件自带的 MACD、KDJ 不够用,想把自己复盘时习惯看的那条偏离线搬到图表上。真正卡住人的通常不是公式本身,而是三个更琐碎的问题——写好的指标不知道存到了哪里,导入别人的公式后 K 线图一片空白,指标上图之后切换周期又明显变卡。

这篇内容就围绕“在同花顺K线图中添加自定义指标公式”这件事展开,按版本差异、操作路径、兼容性、风险控制四段推进。需要先说明一点:同花顺的界面文案会随版本迭代微调,本文描述的菜单名称与分类目录以截至当前的最新版本为参照。如果你的客户端看到的是“公式管理”而非“公式管理器”,或者分类树里多了一层子目录,都属于正常差异,按同样的逻辑操作即可。

读法建议:只想快速用起来的读者,可以直接跳到第四节和第五节;如果你已经会写公式、只是导入后不显示,第八节的排查表格和第六节的兼容性表更省时间。

从三个真实痛点说起
从三个真实痛点说起

功能定位:自定义指标到底解决什么问题

同花顺的自定义指标,本质上是让用户用软件内置的公式语言写一段计算逻辑,再把计算结果按每根 K 线绘制出来。它既可以画在主图,直接叠加在 K 线之上,比如各种均线、通道线;也可以画在副图,单独占用一个指标窗口,比如柱状图、折线。它读取的是已经加载到本地的行情数据,不改变数据本身,也不会产生任何委托或交易动作。

理解边界比理解功能更重要。同花顺的公式管理器里通常并列着若干分类,如技术指标、条件选股、五彩K线、交易系统等(具体目录名以实际界面为准)。它们共用同一套公式语法,但“把结果送到哪里”完全不同:技术指标画在图上,条件选股输出一个满足条件的股票列表,五彩K线改变 K 线本身的着色,交易系统则给出买卖信号的回测框架。把选股公式误存进技术指标目录,最常见的表现就是图上什么都不显示——这不是公式写错了,而是放错了抽屉。

与选股、预警、五彩K线的分工

  • 只想“看见”:技术指标。它是最轻的一类,不占用选股资源,改完即可上图。
  • 想“筛出来”:条件选股公式。语法相近,但输出必须是布尔判断,最终得到的是一份股票池,而不是一张图。
  • 想“被提醒”:预警公式。依赖客户端本地的行情推送,触发后弹出提示,不改变图表。
  • 想“换皮肤”:五彩K线。它修改的是 K 线的颜色与形态,和数值计算关系不大。

这个分工也解释了一个高频困惑:同一段代码放在选股公式里能跑,搬到技术指标里却报错。原因在于两者的输出约束不同:前者要的是真假判断,后者要的是数值序列。迁移时,必须改掉最后一行输出。先想清楚输出目标,再选目录,比事后反复排查更省事。

进入公式管理器的三条路径(以桌面端为主)

自定义指标的完整创建能力,主要集中在桌面客户端。原因很实际:写公式需要键盘输入、需要看编译报错、需要对照 K 线即时验证,这三件事在手机屏幕上都很别扭。所以下面的路径以桌面端为主线,移动端单独说明其现实限制。

三条可达路径,按场景选

  1. 菜单入口:打开任意一只个股的 K 线图,在顶部菜单栏找到“工具”,下拉菜单中通常会有“公式管理”一类条目,点进去就是公式管理器主界面。这条路径最稳,不依赖当前鼠标停在哪个区域。
  2. 图表右键:在 K 线图空白处(不要点在 K 线上)点右键,菜单中一般能找到指标管理或公式管理相关项。适合正在看图、想顺手改一行参数的时候。
  3. 指标名称栏右键:图表上方会显示当前指标的名字(如 MACD、KDJ),在这个名字上点右键,通常会出现更换指标、管理指标之类的入口。这条路径最快,但部分版本只在副图指标名上生效。

三条路径最终都落到同一个界面,区别只是省了几次点击。经验性观察是:如果记不住菜单在哪,用第三条最快;如果要给同事写操作说明,用第一条最不容易出错,因为它和窗口焦点无关。

不要依赖记忆中的快捷键。不同版本、不同模块对功能键的绑定并不一致,甚至有版本把同一个组合键分配给了搜索框。写教程或做团队交接时,请以菜单文字为准,并注明“以实际版本界面为准”。先用菜单走通一次,再记快捷键也不迟。

移动端与网页端:能做什么、不能做什么

在手机 App 上,K 线图下方通常有一排指标名称,点一下会展开可选指标列表,其中可能包含你已经同步或内置的自定义指标。也就是说,App 端更擅长“调用”而不是“创作”。完整的新建、编辑、编译调试,经验性观察仍以桌面端为主;部分版本可能在移动端提供简化的公式查看入口,但不宜作为主要编辑环境。

可复现的验证方法很简单:打开 App 的 K 线图,在指标栏上长按或点击展开列表,看是否存在“编辑公式”“新建指标”这类动作。如果没有,就说明当前版本不支持在移动端创作;如果存在,点进去看编辑框是否完整、能否保存并即时上图——三步走完,功能边界就清楚了。网页版同理,以浏览器端实际提供的按钮为准,通常以查看与切换为主。

新建一个自定义指标:从空白到上图

进入公式管理器后,界面通常分为左右两部分:左侧是分类目录树,右侧是公式列表和操作按钮。新建动作的标准顺序是——先在左侧选中目标目录,再点右侧的“新建”,最后在弹窗里填名称、选画线方法、写代码、保存。顺序反了,就会出现“新建完找不到”的情况,因为公式被存进了你没展开的那个目录。

命名与分类:两个容易被忽略的细节

名称尽量避免与系统指标重名。如果你给自己的公式起名叫 MACD,后续在图上切换指标时很容易混淆,排查问题也会多绕一圈。建议用“个人前缀 + 含义”的写法,比如以自己名字缩写开头,或者统一加一个 ZD_ 前缀,方便在列表里一眼筛出来。

分类要选对。技术指标类公式应放在技术指标目录下(有的版本再细分一层“自定义”),不要扔进条件选股。这个动作没有技术含量,却是“指标不显示”的头号原因。

画线方法:主图叠加还是副图

新建弹窗里有一项决定指标画在哪里,通常叫“画线方法”或“显示位置”,选项大致是主图叠加与副图两类。选主图,指标会和 K 线共享一个坐标系,价格类指标(均线、通道)应该选这个;选副图,指标会独占一个新窗口,振荡类指标(偏离率、差值、柱状)应该选这个。

选错的表现很有辨识度:一个取值范围在 -10 到 10 之间的偏离率指标如果画在主图上,会因为量纲和股价差了几个数量级而缩成贴着零轴的一条平线,看起来像“没生效”。遇到这种情况,先别改代码,先去检查画线方法。

两个可以直接跑通的最小示例

先给一个副图指标:20 日乖离率。它衡量收盘价偏离 20 日均线的百分比,正值越大,说明价格离均线越远。这段代码只用到最基础的行情函数与均线函数,跨软件迁移的兼容性也最好。

N:=20;
M:=MA(CLOSE,N);
乖离:(CLOSE-M)/M*100,COLORSTICK;
零轴:0,COLORGRAY;

这段代码里有两种赋值符号,区别是关键:冒号加等号(:=)表示中间变量,只参与计算、不画图;单个冒号(:)表示输出行,每一行输出都会在副图上画一条线或一组柱子。把“乖离”那行改成 :=,副图立刻变成空白——这是新手最常见的“代码没错但没图”的原因。

再给一个主图指标:两条不同周期的均线叠加,用来观察短期与中期成本的相对位置。它演示的是主图叠加场景,画线方法要选主图。

短均线:MA(CLOSE,5),COLORWHITE;
长均线:MA(CLOSE,20),COLORYELLOW;

颜色常量(如 COLORWHITE、COLORYELLOW、COLORRED)在多数版本里通用,但个别名称可能有差异。如果编译提示颜色未定义,把颜色后缀整段删掉即可,指标仍能正常输出,只是线条会用默认色。

参数表:把写死的数字变成可调项

把上面的 N 从代码里搬到参数表,是让指标真正好用的分水岭。参数声明通常写在代码区之外的一个独立输入框里,格式为“名称(最小值,最大值,默认值)”,多个参数用逗号隔开。以 N(1,250,20) 为例,它表示参数 N 的取值范围是 1 到 250,默认取 20。

为什么值得做这一步:当你想在日线上看 20 日、在周线上看 10 周时,不必回到编辑器改代码再保存,直接在图表上双击指标线、在弹出的参数框里改数字即可。副作用也要提前知道——最小值设成 1 而代码里有除法,分母可能取到极小值导致数值爆炸,所以涉及除法的参数,最小值建议从 2 或 3 起步。这也是后面调优一节的前提。

语法要点与四个高频坑

同花顺的公式语言与主流行情软件的分析语言高度相似,基础函数、运算符号、语句结构基本一致,学过一次基本能迁移。真正消耗时间的从来不是语法本身,而是几类固定模式的坑。下面四条,按踩中的概率排序。

坑一:分号与全角符号。每条语句以分号结束,缺分号会报语法错误。更容易被忽略的是中文输入法状态下的全角括号、全角逗号——它们在编辑器里看起来和半角几乎一样,但编译一定失败。写完代码切回英文输入法再检查一遍,能省掉大量“看不懂的报错”。

坑二:除零与数据不足。任何形如 A/B 的写法,都要考虑 B 为 0 或无效值的情况。新股上市初期,20 日均线的样本根本不够,MA 返回的可能是一个无效值,此时 (CLOSE-M)/M 会得到无意义结果,图上表现为断线或一柱擎天。稳妥写法是用条件判断保护分母,例如先判断 M 是否大于 0 再输出,或者干脆在图表上只保留计算结果、不追求每一根 K 线都有值。

坑三:未来函数。ZIG、PEAK、TROUGH 这类函数的特点是“回头看得特别准”——因为它们是用后面的数据来确认前面的转折点。含这类函数的指标,历史图上信号漂亮得不像话,切换到实时行情后信号会不断重绘、消失、换位置。这不是软件 bug,是函数定义决定的。

坑四:输出行过多。副图窗口的高度有限,如果你输出了七八条线,它们会互相遮挡,视觉上等于没有信息。经验性观察是副图保留 1 到 3 条输出最易读,超过 5 条基本失去可读性。把这四条放在一起看,前两条靠输入习惯规避,后两条靠输出设计规避。

导入、导出与跨软件迁移

公式的复用价值很高——同事发来一段、论坛上看到一段、自己在旧电脑上存过一段,都需要一个搬运通道。同花顺的公式管理器通常提供两条通道:一是选中公式后通过导出或另存为生成文本文件,二是直接把代码复制粘贴进编辑区。前者适合整目录备份,后者适合单个公式快速试用。

导出的正确姿势

导出时建议连同公式名称和参数表一起留存,别只存代码段。原因是参数表是独立于代码的,光把代码复制走,换个软件重建时就得凭记忆补回参数范围和默认值,很容易出现“同样的公式两边结果不一样”的怪事。具体导出文件的扩展名与存放位置因版本而异,以界面提示为准,但它本质上是纯文本,用任意文本编辑器都能打开核对。

导入后的第一件事不是上图,是编译。多数版本的公式编辑器里有测试或编译类按钮,它会告诉你哪一行、哪个标识符有问题。跳过这一步直接上图,你看到的往往是空白或者一条水平直线,反而更难定位问题。

兼容性表:从其他软件迁过来会撞到什么

同花顺与主流行情软件的公式语法相似度很高,基础部分几乎可以直接跑,差异集中在中后段。下表列出的是经验性观察,逐条的最终判定请以你本地编辑器的编译结果为准。

语法类型常见写法迁移到同花顺时的经验性表现验证与处置
基础行情CLOSE、OPEN、HIGH、LOW、VOL、AMOUNT基本通用,直接可用编译无报错即通过
均线与平滑MA、EMA、SMA、DMA多数可用,但 SMA 这类带权重参数的函数,参数含义容易记混优先用 MA、EMA 起步;SMA 先查编辑器函数说明
统计函数HHV、LLV、COUNT、SUM、REF通常一致,注意参数顺序用小样本手算对照
逻辑判断IF 及其别名写法别名支持情况视版本而定统一改写成 IF,跨软件最稳
画线标注DRAWICON、DRAWTEXT、STICKLINE函数存在,但参数个数与图标编号体系可能不同导入后逐个核对参数,先注释掉再逐行放开
未来函数ZIG、PEAK、BACKSET 等支持范围与重绘行为差异最大不建议迁移;实盘参考价值存疑

这张表最有用的地方在于定位顺序:如果编译在第一屏就报错,问题几乎一定在基础函数拼写或全角符号;如果编译通过但图形不对,问题多半出在画线函数的参数或画线方法的选择上。

兼容性表:从其他软件迁过来会撞到什么
兼容性表:从其他软件迁过来会撞到什么

参数化与调优:让同一个指标适应不同周期

一个写得好的指标,应该在日线、周线、不同标的上都能用,而不是只在某一个特定场景下才正确。做到这一点靠的是参数化,而不是复制粘贴多份代码。举个具体场景:你写的 20 日乖离率在日线上很贴合,但换到周线后,20 周均线跨度接近半年,指标变得极其迟钝。此时把 N 提到参数表里,周线上手动改成 10 或 13,同一份代码就复用了。

调参时建议保留一个对照习惯:改完参数后,先看副图上极值出现的位置是否合理,再看极端值有没有超出常识范围。如果一根 K 线上出现几百的偏离值,通常是分母过小导致的数值异常,而不是行情真的走出了极端。这类问题不看图只盯代码很难发现,必须上图看。

什么时候不该继续调参:当你发现指标对参数极度敏感——从 20 改到 21 图形就面目全非——说明这个指标的结构本身不稳定,再调也是在拟合历史。此时更值得做的是换一个逻辑更稳健的度量方式,或者在副图上同时画出两个不同周期的版本做交叉验证。

故障排查:现象、原因、验证、处置

下面这张表按“你看到什么”组织,而不是按“可能哪里错了”组织。原因是排查时人只能看到现象,从现象反推原因比从头读代码快得多。

现象可能原因验证方法处置
保存后在列表里找不到新建时左侧目录选错,或未点保存展开分类树的每个子目录逐层查看重新保存并明确指定目录
图上有名字但没线条输出行被写成了中间变量(:=)检查每行开头的符号是 : 还是 :=至少保留一行 : 输出
副图一条贴零轴的平线画线方法选成了主图,量纲被压扁改回副图再看编辑属性调整显示位置
编译报“未定义标识符”函数名拼写、大小写或参数个数不符注释掉可疑行做二分定位换成基础函数重写该行
数值出现极端值分母趋近于零,或样本期数据不足单独输出分母变量观察其取值加条件保护,参数最小值上调
信号反复跳动、历史很准实时失效引用了未来函数对同一根历史 K 线在两个时刻各看一次移除未来函数,或仅作复盘参考
切换周期明显变卡输出行过多,或叠加了多个复杂指标逐个隐藏指标观察流畅度变化精简到 1 至 2 条输出

表格里最值得记住的是倒数第二行。判断一个指标有没有用未来函数,不需要读懂全部代码,只需要做一次对照实验:在盘中打开图表记住某根 K 线上的信号位置,隔一段时间刷新再看同一根 K 线。位置变了,就说明它在重绘。

副作用与风险控制

性能:图变卡通常是你自己加上去的

自定义指标会随每次刷新重新计算。一个指标本身的计算量通常微不足道,问题出在叠加:同时挂三四个自编指标、每个又有五六条输出行、还都在副图上,切换周期时的等待感会明显增加。这属于定性的经验性观察,具体体感因机器配置、数据量、网络状况而异,因此不建议引用任何具体秒数作为标准。可控的做法是保持图表上同时运行的自编指标不超过两三个,其余按需临时开启。

未来函数:最贵的坑不在语法

含未来函数的指标不会报错、不会卡顿、图上也非常好看,唯一的代价是它给出的历史信号在实盘时无法复现。很多人不是被公式骗了,而是被自己回测出来的漂亮曲线骗了。一个务实的判断标准是:如果这条指标会让你产生“这个位置闭眼买”的冲动,那它多半动用了未来数据,值得先做上面那个刷新对照实验。

分享边界:公式里不要放任何账户信息

公式文本本质是明文,一旦发给别人、贴到论坛、存进共享目录,内容就不可撤回。所以代码里不要出现账号、资金量、自定义的隐私命名。反过来,接收他人公式时也应保持审慎:先编译、先在副图上看表现、先做未来函数检查,再决定要不要放到主图。指标是计算工具,不是投资建议,这一点在分享和接收时都成立。

适用与不适用场景清单

不是所有需求都该用自定义指标解决。下面按“该用”和“不该用”分开列,判断标准是:你要的东西是“看见一组数值”,还是“得到一份名单”“收到一次提醒”。

  • 适合:把复盘时反复手算的比率画成副图;把多周期均线的相对位置可视化成一条线;验证一个想法在历史上的形态;给团队统一一套观察口径。
  • 适合:把外部软件里已经跑通的公式迁移过来做对照,前提是基础函数为主、不涉及画线标注。
  • 不适合:想筛出满足条件的股票池,应该用条件选股公式。
  • 不适合:想在价格触及时收到提示,应该用预警功能,指标只负责画图不负责推送。
  • 不适合:想在手机上随时随地写公式,当前移动端更适合调用而非创作。
  • 不适合:想用指标替代交易决策流程,任何自编指标都不承担这个职责。

这份清单的实际用法是在动手前问自己一句:我要的最终产物是一张图,还是一份名单、一条提醒?答案会直接决定你把公式存进哪个目录,而这一步往往比写代码更影响成败。

最佳实践检查表

把前面各节的要点压缩成一份可以照着走的检查表。它按操作时间顺序排列,每一步都能独立验证,出问题时也方便定位是哪个环节漏了。

  1. 先确认目标:要图、要名单还是要提醒。要图才继续往下走。
  2. 进公式管理器后,先在左侧选中“技术指标”下的自定义目录,再点新建。
  3. 命名加个人前缀,避免与系统指标同名。
  4. 明确画线方法:价格类指标选主图,振荡类指标选副图。
  5. 参数写成“名称(最小值,最大值,默认值)”格式,涉及除法的参数最小值不要设成 1。
  6. 代码先写最小可运行版本,编译通过、上图正常,再逐步加输出行。
  7. 第一版只用基础函数,颜色常量等修饰放到最后加。
  8. 上图后切换一次周期,确认指标在日线与周线上都不崩。
  9. 做一次刷新对照实验,排除未来函数。
  10. 确认无误后导出备份,导出时把参数表一并记录。

第 5 步和第 6 步是最容易图省事跳过的,也是最容易返工的。先用五行代码跑通全链路,再往里加逻辑,比一次性写完两百行再调试要快得多——因为报错位置会直接告诉你哪一行不成立,而两百行的报错往往从第一行就开始滚。

验证与观测方法:怎么确认它真的生效了

“看起来有图”不等于“算得对”。一套可复现的验证流程大致是这样:第一步,找一个你熟悉的标的和一段明确的区间,用副图输出一个中间变量(比如把 MA(CLOSE,20) 单独输出),和图上鼠标悬停看到的均线数值做对照;第二步,把该中间变量改成最终输出,确认图形形态与中间变量的走势逻辑一致;第三步,切换周期再走一遍前两步,确认参数在新周期下的表现符合预期;第四步,做刷新对照实验排除未来函数。

观测指标不需要复杂。定性上看三件事就够了:一是极端值是否出现在合理的行情位置(暴涨暴跌处),而不是随机散布;二是切换周期后指标的整体形态是否仍然成立,而不是完全变形;三是刷新前后同一根 K 线的信号是否稳定。三件事都满足,这个指标基本可以作为观察工具使用;只要有一条不满足,就回到排查表里逐条过。

常见问题(FAQ)

为什么我在公式管理器里新建了指标,K 线图上却找不到?

最常见的原因是新建时左侧选中的分类目录不对,公式被存进了“条件选股”或其他目录,而技术指标目录下自然查不到。其次是保存动作没有真正提交。可复现的排查方式:回到公式管理器,把左侧分类树逐层展开,确认公式实际落在哪个目录;找到后重新保存并明确指定到技术指标目录,再回到 K 线图通过指标名称栏切换。

导入别人的公式后编译报错,一定要重写吗?

不一定。先用二分法定位:把后半段注释掉再编译,看报错是否消失,以此缩小范围到具体某一行。常见原因有三类——全角标点、函数名在当前版本中不存在、画线函数的参数个数不匹配。前两类改起来很快,第三类需要查编辑器内的函数说明。如果报错集中在未来函数上,建议直接放弃迁移,这类函数即使能跑通,实盘参考价值也存疑。

自定义指标能不能在手机上编辑?

以当前版本的实际表现为准。移动端通常更擅长调用与切换已有指标,完整的新建与编译调试经验性观察仍以桌面端为主。验证方法很直接:在 App 的 K 线图指标栏展开列表,看是否存在编辑或新建入口,点进去确认能否保存并即时上图,三步即可判定边界。

指标上图后切周期特别卡,是公式写错了吗?

多半不是写法错误,而是计算量叠加。同时运行多个自编指标、每个带多条输出行,切换周期时重算负担会明显上升。处置方式是逐个隐藏指标观察变化,定位到具体哪一个后精简其输出行数,通常保留一到两条即可。具体卡顿程度因设备与数据量而异,不宜以固定秒数作为判断标准。

怎么快速判断一个公式有没有用未来函数?

做一次刷新对照实验。盘中打开图表,记下某根已走完的 K 线上信号出现的位置或数值,隔一段时间刷新页面再看同一根 K 线。如果信号位置发生移动或消失,说明该指标在重绘,大概率引用了未来数据。另一种辅助判断是看历史图形是否过于完美——转折点全部踩在最高最低价上,通常不是好事。

收尾:下一步做什么

回到最初的问题:在同花顺 K 线图中添加自定义指标公式,真正需要记住的只有三件事——公式要存在对的目录里,输出行要用对的符号,画线方法要和指标的量纲匹配。其余的语法细节、参数调优、跨软件迁移,都是在这三件事成立之后才需要操心的。

建议的行动顺序是:今天先照着本文的两个最小示例,各建一个主图指标和一个副图指标,跑通“新建—编译—上图—切周期”这条完整链路;明天再把你自己真正想看的那个比率或差值,替换进副图示例里的计算行。等这条链路变成肌肉记忆之后,再去碰导入导出和跨软件迁移,成功率会高很多。指标终究只是观察工具,它能帮你把想法可视化,但不替你做判断——这条边界守住了,自定义指标才真正为你所用。后续版本若继续调整界面文案或入口位置,按本文的验证路径重新走一遍即可,不必把某一版菜单当成永久标准。