简介:一份面向通达信用户与股票技术分析爱好者的江恩角度线指标公式源码文档,专注于解决角度线手工绘制繁琐、主观判断偏差大的问题。文档将移动平均线(MA3/MA10/MA30)、相对强弱指标(RSI)、ZigZag拐点识别与江恩角度线自动绘制融为一体,同时给出涨停判断逻辑,帮助投资者快速定位关键支撑与压力位。资源为单个doc文件,大小252KB,打开即可获取完整源码并粘贴至通达信公式管理器使用。目前已有1070人学习下载。正文分模块拆解了均线、RSI、ZigZag、角度线及涨停共五部分公式,并附有DRAWLINE绘制参数、上升/下降角度系数等核心细节;读者既能直接应用,也能理解其计算原理,按个人风格调整参数,从而更高效地跟踪趋势变化与买卖时机。 你从某个股吧或网盘里下载过一份名为“江恩角度线通达信指标公式源码.doc”的文件吗?打开一看,里面通常是一段排版混乱的公式,辛辛苦苦复制到通达信里,要么直接编译报错,要么画出来一堆歪歪扭扭的线,压根看不出和江恩理论有什么关系。我当年也是这么过来的。今天这篇东西,不是简单把网上流传的源码再抄一遍,而是把江恩角度线在通达信里落地这件事彻底讲明白:它背后的原理是什么、为什么大多数源码画出来不对、真正能用的指标公式源码应该怎么写,以及装好之后怎么用它辅助趋势判断。适合对通达信公式有一定基础、但被网上各种“源码”坑过的人,也适合完全不懂公式编写、只想直接抄一份能用的代码去复盘的朋友。
1. 江恩角度线的底层逻辑:它不只是“画一条斜线”
很多人第一次看到江恩角度线,第一反应是“这不就是趋势线吗?找一个低点往上画射线而已”。这个理解不能说全错,但会漏掉最关键的东西——角度线真正的价值不在“线”,而在“角度”背后代表的价格与时间关系。
江恩角度线的原始定义很简单:1x1线,代表时间走1个单位、价格也走1个单位,几何上对应45度线。在此基础上衍生出1x2、2x1、1x3、3x1、1x4、4x1等,其实都是“时间和价格的比例”在变化。2x1代表时间走1格、价格走2格,上涨速度翻倍;1x2代表时间走2格、价格才走1格,上涨速度减半。江恩当年用这套体系判断趋势强弱:1x1是多空分界线,价格站上1x1代表多头占优,跌破1x1代表空头接管;2x1以上是极强趋势,1x2以下则是弱势整理。
但这里有一个大多数新手忽略的关键:所谓45度,是建立在坐标轴横纵单位一致的前提下。而股票图表的横轴是时间(根数),纵轴是价格(元),两者根本不是同一个量纲。同样一条“45度线”,在一只5元股和一只100元股上面,视觉形态完全不同。所以在通达信这类行情软件里做江恩角度线,无法真正按“几何角度”画线,只能把“角度”翻译成“单位时间内价格变动的幅度比例”。
我在实际使用中,习惯把1x1线定义为“每个K线周期价格变化起点价的UD%”,UD默认为0.01,也就是1%。比如起点价10元,1x1线就是每天涨0.1元;2x1线每天涨0.2元;1x2线每天涨0.05元。这个思路刚好是下面源码的核心,也解决了不同价位股票“同样一套参数”失真的问题。
还有一个容易被忽略的细节:江恩角度线的起点非常重要。它不像普通趋势线可以随手画,而是要选在重要的阶段低点或高点。起点选错了,后面的所有角度线都失去参照意义。网上很多源码用ZIG、PEAK、TROUGH这类函数自动找转折点,看着很智能,实际上这些函数带有未来函数属性,信号会随行情变化而漂移,这也是为什么很多人下载的源码“时准时不准”的根本原因之一。
2. 通达信公式里最难的一步:让角度线在坐标纸上“立起来”
通达信公式语言本身没有“按角度画射线”的原生函数,要实现江恩角度线,只能绕道:用几何平移法,从起点向未来推算每个K线上的目标价,把这些点连成一条斜线。
这里会遇到三个绕不开的问题。
第一是坐标比例不固定。横向N根K线,纵向价格范围取决于股票价位和周期,同样的公式在不同票、不同周期上画出来,视觉角度天差地别。解决办法就是把斜率参数单位化,也就是我前面讲的“按起点价的百分比计算每日增量”。这个思路虽然不是严格意义上的几何角度,但它是通达信里最接近江恩本意的做法,而且可调、可控。
第二是起点怎么选。既不能引入未来函数,又要保证线条稳定。我常用的方案是用LLVBARS和HHVBARS这两个函数,在最近N个周期内找到最低点或最高点,把它作为起点。LLVBARS返回的是“最低价出现在多少个周期之前”,当它的返回值等于0时,说明当前这根K线就是最近N周期内的最低点,这个起点条件就成立了。这类函数只依赖历史数据,不包含未来信息,画出的线虽然会随新的K线出现而重新选择起点,但这是合理的动态变化,不会出现信号闪烁式的前后矛盾。
第三是画线方式。在通达信里,比较可靠的是组合使用DRAWLINE函数。它需要两个条件点,第一个点用起点条件,第二个点用ISLASTBAR(最后一根K线),价格则用从起点推算到当前的目标价。DRAWLINE的第五个参数设为1,线就会自动向右延伸。这样画出来的就是一条从起点出发、贯穿当前K线并继续向右展开的射线。
来看一个可验证的计算例子。假设起点价10元,UD=0.01,N=50:
- 1x1线角度45度,TAN(45度)=1,50天后目标价=10×(1+0.01×1×50)=15元。
- 2x1线角度约63.4度,TAN(63.4度)≈2,50天后目标价=10×(1+0.01×2×50)=20元。
- 1x2线角度约26.6度,TAN(26.6度)≈0.5,50天后目标价=10×(1+0.01×0.5×50)=12.5元。
通达信里三角函数的输入参数是弧度制,所以公式里必须先把角度乘以3.14159再除以180,也就是常见的“角度转弧度”写法。很多下载到的源码画出来角度完全不对,往往就是这一步写错了。
3. 可直接复制的江恩角度线源码与装盘细节
下面这段源码我一直在用,稳定可靠,不存在未来函数。上升版以最近60根K线内的最低点为起点,画出1x1、2x1、1x2、3x1、1x3、2x3六条角度线。
{江恩角度线·上升版} MBARS:=60; {最近60根K线内寻找起点} UD:=0.01; {1x1单位价格尺度:起点价的1%} 起点:=LLVBARS(LOW,MBARS)=0; 起价:=LOW; N:=BARSLAST(起点); 价1:=起价*(1+UD*TAN(45*3.14159/180)*N); 价2:=起价*(1+UD*TAN(63.4*3.14159/180)*N); 价3:=起价*(1+UD*TAN(26.6*3.14159/180)*N); 价4:=起价*(1+UD*TAN(71.6*3.14159/180)*N); 价5:=起价*(1+UD*TAN(18.4*3.14159/180)*N); 价6:=起价*(1+UD*TAN(33.7*3.14159/180)*N); DRAWLINE(起点,起价,ISLASTBAR,价1,1),COLORRED; DRAWLINE(起点,起价,ISLASTBAR,价2,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价3,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价4,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价5,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价6,1),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价1,'1x1'),COLORRED; DRAWTEXT(CURRBARSCOUNT=80,价2,'2x1'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价3,'1x2'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价4,'3x1'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价5,'1x3'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价6,'2x3'),COLORGRAY;下降版同理,只是把起点换成最近60根K线内的最高点,价格从起点向下减:
{江恩角度线·下降版} MBARS:=60; UD:=0.01; 起点:=HHVBARS(HIGH,MBARS)=0; 起价:=HIGH; N:=BARSLAST(起点); 价1:=起价*(1-UD*TAN(45*3.14159/180)*N); 价2:=起价*(1-UD*TAN(63.4*3.14159/180)*N); 价3:=起价*(1-UD*TAN(26.6*3.14159/180)*N); 价4:=起价*(1-UD*TAN(71.6*3.14159/180)*N); 价5:=起价*(1-UD*TAN(18.4*3.14159/180)*N); 价6:=起价*(1-UD*TAN(33.7*3.14159/180)*N); DRAWLINE(起点,起价,ISLASTBAR,价1,1),COLORGREEN; DRAWLINE(起点,起价,ISLASTBAR,价2,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价3,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价4,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价5,1),COLORGRAY; DRAWLINE(起点,起价,ISLASTBAR,价6,1),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价1,'1x1'),COLORGREEN; DRAWTEXT(CURRBARSCOUNT=80,价2,'2x1'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价3,'1x2'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价4,'3x1'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价5,'1x3'),COLORGRAY; DRAWTEXT(CURRBARSCOUNT=80,价6,'2x3'),COLORGRAY;安装步骤很简单:打开通达信,按Ctrl+F打开公式管理器,新建技术指标公式,选择“主图叠加”,粘贴源码,填上公式名称,点“测试公式”,通过后保存。回到K线图,输入公式名称的拼音首字母就能调出来。需要注意,必须选“主图叠加”,如果选成“副图”,角度线会被压缩到副图区域,完全变形。
编译报错时不用慌,九成是标点符号问题。通达信公式只认英文半角标点,从Word或网页复制过来的源码很容易混入中文全角逗号、引号、括号,DRAWLINE、TAN这些函数名也会因为全角空格而无法识别。我的排查习惯是把源码先粘贴到记事本里,把所有中文标点统一替换成英文标点,再复制进通达信。
还有一个很实际的坑:如果画面上线条只有一段、没有完整延伸,一般是起点条件在最近N根K线内出现了多个满足条件的位置(比如最低价并列或多根K线同时满足条件),导致BARSLAST计算混乱。这时候把MBARS适当调大或调小,让起点唯一即可。参数UD也需要根据个股手动微调,标准是让1x1线尽量贴合最近一段主要上涨趋势的低点连线。
4. 实战怎么读:1x1线的强弱转换与买卖节奏
指标装好只是第一步,怎么读才是真正拉开盘面差距的地方。我的习惯是把角度线当成“趋势强弱标尺”,而不是精确的买卖点预测器。
最基本的用法是看股价与1x1线的位置关系。上升趋势中,股价站在1x1线上方,说明多头节奏正常;每次回踩1x1线不破,是原趋势的延续点。这里的“不破”不是盘中插一下就算破,而是收盘价能否站在线上方。一旦收盘价连续两到三根K线收在1x1线下方,趋势就降级了,至少要从“强势多头”调整为“震荡或者防守”。
角度线之间的交叉也很有参考价值。上升趋势中,股价从2x1线上方回落,第一次触及1x1线时通常会有反弹,因为1x1线本身是江恩体系里最核心的平衡线。如果1x1线也被跌穿,下一个参考就是1x2线,但这个级别的支撑就明显弱了,更多是超跌反弹的位置。
下跌趋势反过来用。下降1x1线是空头压力线,股价反弹到这条线附近如果出现放量滞涨、长上影、吞没阴线,就是比较清晰的减仓信号;突破下降1x1线并站稳,才谈得上趋势反转,第一目标可以看下降2x1线。我复盘时经常遇到一种情况:股价第一次突破下降1x1线后又跌回去,第二次再突破时量能明显放大、均线拐头,这时候的成功率比第一次高很多。
我个人的看盘流程大概是这样:
- 先看大周期,周线级别股价处于1x1线上方还是下方,确定大方向。
- 回到日线,找到起点附近是否配合了明显的成交密集区,确认起点有效性。
- 股价回踩上升1x1线时,看K线形态和量能,比如缩量小阴线、十字星、或者放量阳包阴,出现这类信号才考虑介入。
- 用2x1和1x2判断短线强弱级别,股价能贴着2x1上行属于极强,跌破2x1后进入1x1到1x2的弱势区间。
- 收盘价跌破1x1线后不再急着接,等反抽1x1线无法重新站上时再考虑离场。
角度线配合均线和成交量使用,效果比单打独斗好得多。均线提供趋势方向,成交量提供突破可信度,角度线提供节奏强弱的参照。三者的关系,就像地图上的经纬线、地形和路标。
5. 通用源码的失效现场与我的处理原则
任何指标都有失效的时候,江恩角度线也不例外。分享几个我实际踩过的坑,以及目前的处理原则。
第一个坑是股票除权。除权导致股价跳空,不复权数据下角度线会直接断层,1x1线突然出现巨大裂缝。我的处理是:看K线形态、找支撑压力位时用前复权数据,下单时再切回不复权确认实际价格。角度线这类需要跨K线连续计算的工具,必须在复权数据下才好用。
第二个坑是低价股和高价股差异。虽然我用了按起点价百分比计算的方式,但UD=0.01并不适配所有股票。高价股波动率通常低于低价股,同样1%的日涨幅对100元的票和5元的票含义完全不同。我现在每关注一只新股票,都会先看它最近一个月的ATR或平均波动率,再回头调UD参数,让1x1线尽量贴合它真实的波动节奏。比如一只票近期日平均波动在2%,UD设为0.02会更合适。
第三个坑是起点选择。自动选出的最低点不一定有意义,可能只是短线急跌的毛刺。我复盘时通常会在代码基础上手动确认起点,如果自动选中的起点前后没有明显成交密集区或V形反转结构,就把MBARS调大或调小,让起点落到自己认为更有意义的位置。角度线的价值高度依赖起点的正确性,这一步偷懒,后面全盘皆输。
第四个坑是强趋势失真。真正的主升浪或恐慌性抛售中,K线会瞬间击穿好几条角度线。这时候别硬套支撑压力,2x1或3x1都守不住的时候,说明行情已经超出常规节奏,普通技术工具的意义就不大了,要么用更高级别的K线周期观察,要么干脆放弃这个工具等趋势恢复常态。
还有一个使用习惯问题:同一张图上叠加太多角度线会非常乱。我现在上升线只用红色,下降线只用绿色,控制在一组起点画6条线以内。复盘时固定用同一套角度参数,不随手调来调去,否则很容易陷入参数过拟合,怎么调都好看,一到实盘就变形。
我用下来的整体感受是:江恩角度线的意义不在于提供精确的“变盘点”或“目标价”,而在于给你一套判断趋势强弱的坐标,校准你对市场节奏的体感。先用好1x1这一条线,把它和其他工具交叉验证,等熟悉了再逐步增加2x1、1x2这些衍生线。最后说个小技巧,日常盯盘时把参数设置里的UD调慢,你会发现角度线的“倾斜速度”直接反映市场情绪,这种方法看盘久了,对趋势拐点的敏感度会有明显提升。
本文还有配套的精品资源,点击获取