简介:通达信江恩角度线指标公式教程文档,适合正在研究江恩理论量化表达、希望将角度线分析思路落地为通达信可运行代码的股票技术分析爱好者。文档基于江恩理论,围绕高低点计算、SX跌H/SX涨L判定、调点与最低最高定位、L/H斜率推导、天线地线绘制、上斜线与下斜线生成等核心逻辑展开,对源码逐段拆解,并结合实际公式代码说明DRAWBAND绘图、涨跌点回溯等关键实现方式。资源以单个doc文件形式提供,大小约149KB,阅读便利,便于公式复制与对照学习。已有465人浏览学习,适合具备一定通达信公式基础、希望理解或二次修改该指标的读者。通过这份教程,读者可以掌握江恩角度线的完整构造思路,理解斜率和关键位置的计算原理,进而结合自身交易体系调整参数或融入其他策略,提升行情走势判断的辅助能力。
1. 江恩角度线指标:先搞懂它到底在算什么
通达信里的江恩角度线公式,源码并不长,但大多数人拿到后第一反应是“看不懂它在画什么”。如果你把角度线当成一条简单的趋势线去用,那基本等于白装。它背后的几何逻辑是价格与时间的比例关系,常见做法是取一个历史高低点作为起点,然后按 1:1、1:2、2:1 等固定斜率向外延伸,形成一组扇形射线。这组线在通达信里是用 DRAWLINE 或类似的绘图函数画出来的,但真正决定它有没有用的,是起点选在哪、波动率系数怎么设。
这个公式适合谁?适合那些已经看腻了均线、布林带,想用时间维度辅助判断拐点的股民或量化研究者。它不预测涨跌,只提供“价格走到某个时间和价格的交汇点,可能发生反应”的参照系。说白了,它是一套坐标纸,不是水晶球。
我用这个指标三年,最直接的感受是:它最大的价值不在那条 1:1 主线,而在那些辅助角度线围成的通道。价格贴着某条线走,说明当前节奏被这条线“控制”;一旦跌破或突破,往往就是节奏切换的信号。但这里有个大前提——公式里的参数、起点选择、复权方式,任何一个不对,画出来的线就是废线。
2. 公式拆解:江恩角度线的核心算法与参数含义
2.1 角度线的基本数学原理:价格时间比不是随便定的
江恩角度线的母本是几何角度线,核心假设是“价格与时间存在均衡比例”。标准定义中,1x1 线表示每单位时间价格上涨一个单位价格,45 度角只有在坐标轴单位完全一致时才成立。但股票软件里,屏幕上的价格坐标和时间坐标天然不等宽,直接用角度画线是错的。
通达信公式里常见做法是计算价格振幅与周期数的比值,再乘一个自定义系数,从而把“角度”转化为实际的斜率。常见的源码长这样:
X1:=HHV(HIGH,N); X2:=LLV(LOW,N); PRICE:=(X1-X2)/N; TIME:=N; SLOPE:=PRICE/TIME*RATIO;这段代码的逻辑是:取最近 N 根 K 线的最高价和最低价,算出平均每根 K 线的价格波动幅度,再除以周期数,得到单位周期的价格变化量,最后乘上 RATIO 作为可调系数。RATIO 就是整个公式最关键的参数,它决定 1x1 线是“陡”还是“平”。
如果你把 RATIO 设成 1,画出来的 1x1 线就是最原始的价格时间比;设成 0.5,线的斜率减半,表示价格每走两个时间单位才涨一个价格单位,相当于降速。实盘中我一般把 RATIO 放在 0.618 到 1.382 之间,因为纯 1:1 在 A 股震荡市里太理想化,贴近黄金分割的比例反而更容易贴合实际高低点。
2.2 源码级拆解:从起点到扇形射线的完整绘制逻辑
先放一段整理过的、可在通达信直接使用的完整公式源码。这个版本我按“起点选择、斜率计算、射线延伸”三段式结构重写过,比原始版本更清晰:
起点:=BARSLAST(REF(HIGH,1)<HIGH AND HIGH>REFX(HIGH,1)); 起点价:=REF(HIGH,起点+1); 周期:=IF(起点>0,起点,60); 幅度:=(HHV(HIGH,周期)-LLV(LOW,周期))/周期; 斜率:=幅度*N1; DRAWLINE(起点=0,起点价,起点=周期,起点价-斜率*周期,COLORRED); DRAWLINE(起点=0,起点价,起点=周期,起点价-斜率*周期*2,COLORGREEN); DRAWLINE(起点=0,起点价,起点=周期,起点价+斜率*周期*0.5,COLORYELLOW);这段代码里,BARSLAST和REFX的组合用于寻找最近的“有效高点”作为起点。周期参数在起点距离过远时会被强制设为 60,防止射线画到屏幕外。N1是斜率系数,和前面讲的 RATIO 功能一致。
DRAWLINE的四个参数依次是:条件 1、位置 1、条件 2、位置 2。这里从起点价向后画到“起点价减斜率乘周期”,本质是固定起点、向右下方延伸。你想画向上发散的线,就把减号换成加号。我一般会保留两条下降线加一条上升线,因为下跌趋势中角度线的支撑作用比压力更值得观察。
2.3 参数合理性边界:为什么同样一套公式在不同股票上差这么多
通达信公式是通用的,但每只股票的波动特性完全不同。银行股一天波动两三个点,题材股一天能上下十个点,用同一套斜率参数画出来的角度线,在银行股上可能几个月不碰线,在题材股上一天就被穿透三次。
所以参数必须按标的的“日均真实波幅”来调。常见做法是先用ATR指标估算当前品种的波动水平,再反向推导斜率系数:
ATR14:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14); 斜率系数:=ATR14/CLOSE*100/20;这段代码把 14 日平均真实波幅除以收盘价,再除以 20,得到的是一个“归一化波幅百分比”。斜率系数乘以 20,表示价格在一个周期内愿意走多少个 ATR 的距离。这个值越小,画出的线越平缓;越大,线越陡峭。
实际操作中,对于日线级别,斜率系数在 0.5 到 2 之间比较常见;如果做的是 30 分钟级别,系数要放大到 2 到 5,因为短周期内的波动噪音更大。分钟级别和日线级别共用一套系数的做法,我也见过不少人这么干,结果就是角度线完全脱离价格走势,基本不能用。调参数时务必结合当前 K 线周期重新计算,不要偷懒沿用。
3. 通达信软件中的安装与调试:从公式编辑器到副图显示
3.1 通达信公式管理器中的源码格式要求与导入步骤
通达信的公式管理器对源码格式有严格要求:每个语句必须以分号结尾,赋值用:=,绘图用:,多个输出项之间不能有中文逗号或多余空格。很多人在导入时报错,原因往往是某行末尾漏了分号,或者把中文括号写成了英文括号。
我整理了一份最小可用的副图公式,你直接复制到通达信公式编辑器里就能用:
N1:=1.0; 起点:=LLV(LOW,60); 斜率:=(HHV(HIGH,60)-LLV(LOW,60))/60*N1; DRAWLINE(起点=LLV(LOW,60),起点,起点=55,起点+斜率*55,COLORRED);导入路径是:通达信菜单栏 -> 功能 -> 公式系统 -> 公式管理器 -> 新建 -> 选择“副图”类型。名称可以自定义,比如“JDX”,画线方法选“主图叠加”还是“副图”取决于你要不要遮住 K 线。这里用“主图叠加”,因为角度线要和 K 线在同一坐标系里才有意义。
导入后如果 K 线窗口里没有任何线条,多半是DRAWLINE的条件没满足。检查起点条件起点=LLV(LOW,60),在每一根 K 线上都会计算,但只有当这根 K 线的最低价等于过去 60 根的最低价时,条件才为真。也就是说,每 60 根 K 线只有一根能当成射线起点。如果你希望起点更频繁,把 60 换成 20 或 30 即可。
3.2 如何在主图和副图之间切换显示:叠加方式的选择逻辑
主图叠加和副图显示的区别不只是一个位置问题。主图叠加时,角度线的价格坐标和 K 线完全一致,你能直观看到价格在线的上方还是下方,这是判断支撑压力最自然的方式。副图显示时,角度线被压缩在独立区域里,和主图价格坐标不一致,画出来的“角度”会失真,参考价值会打折扣。
所以我建议至少保留两套公式:一套主图叠加名为“JDX_MAIN”,另一套副图显示名为“JDX_SUB”。主图版本用于日常看图,副图版本用于观察角度线之间的间距变化,比如当 1x1 线和 1x2 线之间的距离从宽变窄,往往意味着波动在收敛。
切换显示用通达信左下角的“主图指标”和“副图指标”按钮即可。主图叠加会覆盖原有 MA 均线,副图则独占一个指标窗口。如果你同时想看均线和角度线,把公式里输出项前加上画线类型就无法并存,但通达信支持一个指标里同时输出均线和角度线,只要把 MA 的绘制语句也写进同一个公式即可。
3.3 不同通达信版本间的公式兼容性:常见报错对策
通达信有多个版本:券商定制版、独立行情版、手机版。公式在电脑版写好后,导入手机版时经常出现“语法错误”或“绘图函数不支持”的提示。原因在于手机版的内核版本较低,DRAWLINE的第二个参数不支持变量函数,只能接受常数。
对策很简单:手机上换用DRAWKLINE或STICKLINE替代,或者干脆放弃绘制射线,只输出起点价格和斜率的数值,用数字判断价格是否越界。算子在手机上会走缓存,实时性略差,这个影响不大,角度线本来就是看形态的,不是做高频的。
如果你在电脑版上公式一切正常,但某些线条颜色显示不对,十有八九是调色板索引超出了当前主题的色号范围。通达信的色号从 0 到 17 是基本色,18 到 34 是扩展色,部分旧版只支持到 17。把COLORRED这类命名色改成数字色号,能规避这类问题。
4. 江恩角度线的典型买卖用法:让公式真正产生交易信号
4.1 角度线交叉与价格穿越的判别逻辑:从画线到信号的转换
角度线画出来后,最关键的是把它转成可执行的信号。我常用的判别逻辑有三条:第一,价格自下而上穿越 1x1 线,视为短线转强;第二,价格自上而下跌破 1x1 线,视为转弱;第三,价格在 1x2 线和 2x1 线之间反复震荡,说明处于盘整,不参与。
公式层面,原版只画线不发声,你要自己写条件语句。下面这段附加代码可以加在角度线公式后面,用于输出买卖提示:
穿越:=CROSS(CLOSE,MA1) AND CLOSE>REF(起点价,1); 提示:=IF(穿越,1,0); DRAWICON(提示,LOW*0.99,1);这里的MA1指代你画好的 1x1 线的当前值。在通达信里,DRAWLINE画出的线没有独立变量名,很难直接在后续语句里引用,所以更常见的做法是提前用MA1:=起点价-斜率*BARSSINCE(起点条件)计算出当前 K 线上 1x1 线的数值,然后再和收盘价比较。
用这种方式生成信号,比肉眼盯线要可靠得多。因为肉眼很容易忽略盘中瞬间的穿越,收盘后仅仅看最终状态又会错过盘中的有效突破。条件单式的信号写入公式,可以直接在选股器里筛股票,不必每天翻几百只票。
4.2 起点选择的实操经验:为什么高低点周期不同画出来的线完全两样
起点选择是江恩角度线使用中最容易翻车的地方。有人习惯选最近 60 根 K 线的最高点,有人选最低点,还有人用固定日期。不同的选择直接决定整组扇形线的倾斜方向,弄反了方向,支撑线画成了压力线,结果就是完全逆向。
我的经验是遵循“顺势选点”原则:上涨趋势中选最近的低点作为起点,方向向上画线,线作为支撑参考;下跌趋势中选最近的高点作为起点,方向向下画线,线作为压力参考。判断趋势用简单的均线排列,或者用前面提到的角度线起点跟随法——起点随 K 线刷新而移动,而不是死守一个点不动。
下面这段公式实现的是“移动起点”效果,起点每 20 根 K 线自动刷新一次,避免长期固定在历史某点:
周期:=20; 刷新点:=MOD(BARSLAST(ISLASTBAR),周期)=0; 新起点:=REF(LLV(LOW,周期),1); 起点价:=IF(刷新点,新起点,REF(起点价,1));MOD(BARSLAST(ISLASTBAR),周期)=0判断当前 K 线距离最后一根 K 线的根数是否为周期的整数倍,是则重新计算起点。这样角度线会像移动平均线一样不断滚动更新,始终保持对当前走势的贴合度。缺点是历史画线会被覆盖,不适合长期复盘,但适合实盘参考。
4.3 与均线系统配合的组合策略:如何过滤假信号
江恩角度线单独使用,假信号不少。价格穿越 1x1 线可能是真实突破,也可能是某一根 K 线的大幅波动造成的假穿越。要过滤掉这些噪音,常见做法是搭配一条中长周期均线,比如 60 日均线,作为方向过滤器。
具体规则:价格在 60 日均线之上,只做角度线的买入信号,忽略卖出信号;价格在 60 日均线之下,只做角度线的卖出信号,忽略买入信号。这样可以把胜率从五五开提升到六七成,付出的代价是放弃一部分逆势的反弹机会。
我把这个规则写进选股公式,思路如下:
方向:=CLOSE>MA(CLOSE,60); 信号:=CROSS(CLOSE,MA1) AND 方向; 选股:信号=1;用这个公式做每日选股,筛出来的标的数量会明显减少,但每个标的的形态质量会好很多。角度线最怕的不是信号少,而是信号杂——一旦什么穿越都当成买点,一天能出几十个信号,根本没法操作。均线过滤本质上是在帮角度线“做减法”。
5. 实战中的常见问题与避坑指南:角度线翻车现场一手复盘
5.1 角度线画出来和屏幕不贴合:比例失衡与缩放问题
现象:公式导入后,画出的角度线要么陡到直接冲出屏幕,要么平到贴住底部,与 K 线走势完全脱节。
原因:通达信图表在横向滚动或纵向缩放时,K 线的视觉比例会变化,但DRAWLINE画出的斜线不会随缩放自动调整。也就是说,你在 100% 缩放下看是 45 度,缩放到 80% 时可能变成 60 度,但这不改变线的实际斜率数值,只是视觉上“不贴”。
解决:第一步,把公式里的斜率改成用“真实波幅”计算,而不是用“最高价减最低价”,后者会被跳空缺口带偏。第二步,不要再刻意追求 45 度视觉效果,用数值判断价格与线的位置关系,而不是用肉眼看角度。角度线是数学参考,不是美术作品。
5.2 未来函数与信号漂移:为什么昨天看到的信号今天消失了
现象:昨天收盘时公式出现了买入信号,今天开盘后信号消失,或者信号位置发生了偏移。
原因:公式里用了REFX、DRAWLINE这类引用未来数据的函数。REFX会引用下一根 K 线的数据,在最后一根 K 线上计算时,下一根还不存在,系统会用当前值填补,导致结果漂移。信号在盘中出现,却在收盘后被修正掉,这就是典型未来函数引发的假信号。
解决:把REFX改成REF,只引用历史数据。如果公式里确实需要“收盘后确认”的逻辑,可以把条件改为IF(ISLASTBAR,REF(CLOSE,1),CLOSE),用上一根收盘价代替当前尚未走完的 K 线数据。修改之后信号稳定性和可信度会大幅提升,代价是信号会晚一根 K 线出现,但实盘本来就需要收盘确认,这个延迟可以接受。
5.3 除权除息后角度线失效:复权方式的选择与调整
现象:某票经历高送转或大比例分红后,K 线形态没有变,但角度线明显错位,原来贴着 1x1 线运行的价格突然远离了所有线。
原因:通达信默认的不复权数据会因除权跳空而改变价格连续性。角度线公式内部用最高价、最低价、收盘价计算斜率,如果这些价格在除权日发生跳空,斜率会被大幅拉偏,而绘图起点是历史低点,仍在自然坐标里,两者一对比自然错乱。
解决:在通达信设置里切换成“前复权”或“等比前复权”。前复权是以当前价格为基准反推历史价格,能保证当前价格和角度线起点价格处于同一坐标系。但我还要提醒一点:前复权价会随着新的除权事件不断变动,历史信号会被重新计算,长期持有逻辑下建议使用“不复权”坐标加“除权日人工修正”的方式,各有取舍,看你更依赖哪个维度。
5.4 公式运行卡顿与数据量过大:绘图函数的性能优化
现象:把角度线公式用在日线级别还可以,一切换到分钟级别,或者用在上市时间很长的次新股上,通达信界面就会明显卡顿,切图都要等好几秒。
原因:DRAWLINE函数在每个 K 线上都要执行一次几何计算,如果公式里再叠加多个DRAWICON和DRAWTEXT,计算量会成倍增长。分钟级别的 K 线数量是日线的数倍,数据量越大,卡顿越明显。
解决:限制绘图范围。在公式最前面加上时间过滤条件:
时间过滤:=BARSLAST(DATE>1200000)<120;DATE>1200000表示只从 2020 年之后的数据开始计算,BARSLAST限制最多回溯 120 根 K 线。这样既保留了角度线的核心形态,又砍掉了历史数据计算压力。如果你只需要最近一年的角度线,就把 120 改成 250,效果更轻。
5.5 参数记忆混乱:同一公式在不同股票上必须单独调参
现象:同一套参数在 A 股票上画出来的角度线很漂亮,换到 B 股票上完全歪了,你以为是公式有问题,其实是参数没跟着换。
原因:角度线斜率是基于标的波动率计算的,波动率不同,参数自然不同。用同一套 N1 值套遍所有股票,等于让一个固定斜率适配所有市场,这明显不现实。
解决:为每只关注的股票建立一个独立指标副本,名称上区分开来,比如JDX_BANK、JDX_TECH。每个副本单独调节 N1 值,调整的标准是:让 1x1 线在近 60 根 K 线内尽量多次成为价格的高低点分界,而不是线离价格太远或太近。这个调参过程没有捷径,只能一只票一只票地试。想省事的话,就用 2.3 节里的 ATR 自适应斜率法,至少能保证线不离谱。
6. 江恩角度线的高级用法:自动画趋势通道与周期共振验证
角度线往前再走一步,可以变成全自动的趋势通道识别工具。我记得有一次复盘,某只票连续三天的高低点恰好落在 1x1 和 2x1 两条线之间组成的通道里,第四天开盘直接低开在通道下沿,之后两个交易日跌了七个点。等回头想用工具把这种通道稳定捕捉出来时,我才发现原版公式根本没法输出“通道宽度”这个变量,靠肉眼复盘总有走神的时候。
于是我改出一版自动通道版公式,核心思路是同时计算 1x1、2x1、1x2 三条线,并输出它们之间的价差:
MA1:=起点价-斜率*BARSSINCE(起点条件); MA2:=起点价-斜率*2*BARSSINCE(起点条件); MA05:=起点价-斜率*0.5*BARSSINCE(起点条件); 通道宽:=MA2-MA05;通道宽这个值会随着价格远离起点而不断增大,但在横盘整理期会收窄。我一般把“通道宽小于过去 60 日平均通道宽的一半”作为变盘预警条件,配合成交量放大,成功率会高很多。这套逻辑你可以写进选股器里,每日收盘后自动扫描符合“角度线通道收窄 + 量能放大”的标的,比手动翻图高效得多。
新款角度线公式我还加了一个“周期共振”功能:同时计算日线和周线的 1x1 线,当两条线的方向一致时,在界面里输出一个黄色圆点。共振出现时,往往意味着中期趋势和短期趋势同向,这算是对角度线时间维度的一种强化验证。
总的来说,江恩角度线不是一套能自动赚钱的「黑匣子」,它的价值在于强制你用时间和价格的双重坐标去思考走势,而不是只盯着几个指标数值。用的时候记住三件事:起点选对方向,斜率跟着波动率走,信号必须叠加过滤条件。这也是我这几轮行情里最有体会的一点——方向比精确更重要,容错比预测更实际。希望帮到你。
本文还有配套的精品资源,点击获取