简介:文档收录通达信SAR指标(抛物线指标)的完整公式源码,并对逐行代码作出解析,面向需要理解指标内部计算逻辑的股票技术分析爱好者与通达信用户。文档逐项拆解了VAR1参数中周期、加速因子与最大步长的实际影响,详细说明红绿圆点在不同行情下的绘制条件,并对SS/SM多周期状态判断、MC均线计算以及多种STICKLINE红黄信号画线规则进行了逐段注释。通过阅读可清晰看出指标如何根据收盘价与前后周期比较来描述趋势反转点位,有助于使用者根据自身交易风格调整参数或改编为其他形态。资源为单个doc文件,大小371KB,内容集中便于查阅。目前已有2026人浏览学习,适合想深入掌握SAR指标原理并自行修改公式的读者,也可以作为通达信公式编写入门的实战样例,便于从源码层面理解技术指标的构建思路与颜色信号输出逻辑。无论用于观察趋势拐点还是学习指标公式语言,这份资料都能提供扎实的参考价值。 做技术分析的朋友,十有八九都翻到过“SAR指标源码”这类文档。SAR在通达信里通常被叫做抛物线指标,我最早接触它,就是因为一份《SAR指标源码 也叫抛物线指标通达信指标公式源码.doc》的文档。那会儿我刚接触公式编辑器,看到一堆英文函数和参数,第一反应是“这东西到底靠不靠谱”。后来我把源码一行行拆开,对照K线图反复验证,才慢慢明白:SAR不是用来预测方向的,而是用来帮你在做错的时候认错的。
这篇文章不打算贴完代码就完事。我想把SAR指标背后的算法逻辑、源码每个参数的作用、在通达信里的导入步骤,以及实战中容易踩的坑都掰开揉碎讲清楚。无论你是刚接触通达信的小白,还是已经在用SAR但总抓不住节奏的老手,应该都能从中找到点能直接拿去用的东西。
1. 先搞清楚SAR到底是什么:为什么叫抛物线指标
写源码之前,必须先搞懂SAR凭什么会翻转。SAR的全称是Stop and Reverse,直译过来就是“停止并反向”,早期中文技术分析书籍里也把它叫“止损转向指标”。它在K线图上显示成一群小圆点,价格在圆点上方时,圆点贴着价格从下往上追,价格在圆点下方时,圆点贴着价格从上往下压,走出来的轨迹很像一条被价格拖行的抛物线,所以大家干脆叫它抛物线指标。
1.1 SAR指标的底层逻辑:如何跟着价格“翻转”
SAR的计算核心是三个变量:极点价EP、加速因子AF、前一周期SAR值。网上各种源码版本很多,但无论怎么变形,核心公式都是这一条:
新SAR值 = 前SAR值 + 加速因子AF ×(极点价EP - 前SAR值)
当趋势向上时,极点价EP取持仓周期内的最高价;当趋势向下时,EP取周期内的最低价。加速因子AF一般从0.02起步,只要价格不断创出新的极值,AF就加0.02,但最大只能到0.2。一旦价格跌破或者涨破当前的SAR值,指标就翻转,AF重新从0.02开始计算。
这个逻辑可以类比开车时的跟车距离。前车加速,你跟着踩油门,但油门行程有限,追到一定程度就不再加速了,这就是MAXP(最大加速因子)的作用。前车突然刹车,你跟得太近就会撞上,对应到行情里就是价格跌穿SAR,提示你该止损转向了。理解了这个类比,再看源码里的参数就不觉得抽象了。
1.2 一个案例看懂SAR信号的含义
拿一段上涨行情举例。假设股价从10元启动,SAR初始值取前几周期的最低价附近。价格一路上涨,SAR值也跟着往上抬,圆点始终在K线下方,说明多头趋势在延续。这时候如果你手里有仓位,SAR就是一个移动止损位,价格不跌破它就拿住。
直到某一天,股价冲高回落,收盘价跌破了当天的SAR值,圆点立刻翻到K线上方,原先的下方支撑变成了上方压力。这就是经典的“止损转向”信号:多头仓位应该离场,反过来可以开始关注空头机会。同样,下跌末端价格向上穿越SAR时,圆点从上方翻到下方,也意味着空头趋势可能结束。
1.3 SAR指标的优势和致命短板
SAR最大的优势是客观。它不像均线那样滞后明显,也不像MACD那样需要人为判断金叉死叉的有效性,它是“价格不破位就一直持有,破位就反转”的机械规则。这种特性特别适合做趋势跟踪,能让你在单边行情中拿得住利润。
但SAR的短板也很明显:在横盘震荡阶段,价格会反复穿越圆点,信号频繁翻转,连续止损是家常便饭。这也是很多新手用了几天SAR就骂它是“亏损指标”的原因。它不是不好用,而是你的用法应该配合市场状态来调整,后面我会专门讲这一点。
2. 通达信SAR指标公式源码拆解:从复制到自定义
网上流传的“SAR指标源码”文档,内容质量参差不齐。有的就是一行代码,有的则套了一层复杂的颜色和买卖点提示。其实通达信里本身就内置了SAR函数,标题里那份doc文档的价值,更多在于告诉你“指标公式源码该怎么写、怎么调”。
2.1 通达信内置SAR函数的标准写法
通达信的系统函数里已经提供了SAR,完整格式是:
SAR(N, STEP, MAXP)三个参数分别代表:周期N、步长STEP、最大步长MAXP。最常用的默认参数是N=4,STEP=2,MAXP=20。直接在副图或者主图里写一行:
SARLINE: SAR(4,2,20), POINTDOT;就能把默认的抛物线指标画出来。但这样太简单了,看不出买卖点,也不方便整合进自己的交易系统。所以我们需要对它做一层包装。
2.2 复刻一个带买卖点提示的完整SAR指标
我自己在通达信里用的版本,是在内置SAR基础上加了转折提示和K线变色,源码如下:
N:=4; STEP:=2; MAXP:=20; SARLINE:=SAR(N,STEP,MAXP); DRAWICON(CROSS(C,SARLINE),L*0.98,1); DRAWICON(CROSS(SARLINE,C),H*1.02,2); STICKLINE(C>=SARLINE,C,O,3,0),COLORRED; STICKLINE(C<SARLINE,C,O,3,0),COLORCYAN; SARLINE,POINTDOT,COLORYELLOW;逐行解释一下。第一行到第三行是参数赋值,方便你直接在参数面板里调整。第四行计算SAR值,赋值给中间变量SARLINE。第五行和第六行分别画向上和向下的箭头,重点是CROSS这个函数:CROSS(C,SARLINE)表示价格从下往上穿越SAR,画在K线下方;CROSS(SARLINE,C)表示价格从上往下穿越SAR,画在K线上方。第七行和第八行让K线实体在多头状态下显示红色,空头状态下显示青色,直观反映当前SAR的多空状态。最后一行把SAR值本身以黄色小圆点的方式画出来。
编译时如果提示函数无效,先检查你的通达信版本是否支持DRAWICON和STICKLINE,这两个是主流版本都有的绘图函数。
2.3 三个参数STEP、MAXP、N的底层含义
很多人直接用SAR(4,2,20),但不知道这三个数字改起来意味着什么。N是计算周期,决定初始SAR值的位置,周期越大,SAR越贴近价格,反应的灵敏度越高;STEP是加速因子的初始值,决定SAR一开始追赶价格的速度;MAXP是加速因子的上限,数值越大,SAR在趋势加速阶段追得越狠,但也更容易被短暂回调击穿。
打个比方,参数调大相当于把跟车距离缩短,前车慢下来你马上就知道;参数调小相当于跟车距离拉长,容错率更高,但掉头的时候也更迟钝。没有绝对的好坏,只取决于你想抓大波段还是小波段。我个人的经验是:日线短线用默认的4、2、20,周线级别建议把N调整到6到8,分钟级别则把MAXP适当增大到30左右,具体效果要结合品种波动率来看。
3. 把源码导入通达信并解决乱码问题
标题里那份doc文档,很多人下载下来打开后发现全是乱码。这种情况通常不是文件损坏,而是编码问题。
3.1 新建指标公式的完整流程
通达信导入公式的步骤其实很简单。打开软件后按Ctrl+F,弹出公式管理器,选择“新建”,在公式名称栏填“SAR自用”,粘贴上面的源码,然后确认主图还是副图。SAR本身是跟随价格运行的指标,建议放在主图叠加模式。粘贴完成后点“测试公式”,如果底部提示“测试通过”,再点确定保存。
如果测试时报错,八成是标点符号出了问题。比如中文输入法下输入了全角括号或冒号,通达信不认,必须切换到英文半角符号重新输入。这类问题在复制网上源码时尤其常见,因为很多文章的代码里混着中文冒号。
3.2 打开doc源码乱码的解决办法
doc文件里出现乱码,通常是文本编码不匹配导致的。你可以把doc用记事本打开,另存为ANSI编码的txt文件,再复制里面的代码。如果文档内容本身是图片或加密文本,就直接放弃,从本文复制源码即可。
另外提一句,网上有些“解密”“解锁”类工具,我并不建议你去折腾。公式加密保护的是作者的心血,与其花时间破解,不如理解它的逻辑后自己重写一个。真正有价值的从来不是那几行代码,而是你用什么规则去执行交易。
3.3 不同周期下的参数调优参考
下面是我自己测过的参数组合,仅供参考,不能当作万能公式:
| 周期/场景 | N | STEP | MAXP | 备注 |
|---|---|---|---|---|
| 日线短线 | 4 | 2 | 20 | 常规默认,适应大多数股票 |
| 日线慢速 | 6 | 2 | 20 | 减少噪音,信号更少 |
| 周线波段 | 6 | 2 | 30 | 趋势更稳,适合中长线 |
| 15分钟/30分钟 | 3 | 3 | 30 | 提高灵敏度,但噪音偏大 |
| 指数/ETF | 4 | 2 | 20 | 与个股差异不大,可默认 |
调参的核心原则是:若信号太频繁,就增大N或减小STEP;若信号太迟钝,就减小N或增大STEP。每次只改一个参数,观察至少20根K线的表现,再决定下一步。
4. SAR指标实战中最容易踩的三类坑
4.1 震荡行情里连续打脸的问题
我见过最典型的场景,是横盘整理的股票。价格在一段区间里来回波动,SAR线也跟着来回翻转,今天翻多明天翻空,连续止损能让人心态爆炸。本质上,SAR是趋势指标,它默认市场“总会有趋势”,但震荡市里它就成了无头苍蝇。
解决思路有两个:一是过滤,只在周线级别趋势明确时使用日线SAR信号;二是配合均线方向,比如价格在MA60上方时,只做SAR的“多转空”平仓信号,不做反向开仓信号。这样砍掉一半以上的假信号。
4.2 跳空缺口导致信号失真的问题
遇到重大利好或利空,股票跳空高开或低开,SAR值会因为极值价格的跳变而瞬间改变位置。比如一只股票前一天SAR在10元,第二天直接跳空到11元开盘,SAR可能瞬间被甩到11.2元,导致价格开盘时已经处于“空头”状态,信号失真。
这种情况下不建议机械执行SAR信号。我通常的做法是:大幅跳空当天不做反转判断,等第二天K线走出来,看是否能延续缺口的力度,再用SAR信号作为提醒。本质上,SAR更适合连续交易的市场节奏,极端跳空行情需要人工干预。
4.3 与均线、MACD组合的正确姿势
SAR单独用容易在震荡中吃亏,但和趋势指标配合后效果会提升很多。我自己常用的是“SAR+MA20”组合:价格在MA20上方时,SAR只负责提供止盈位,不做反转开仓;只有价格跌破MA20且SAR同步翻空,才认为是有效的转势信号。MACD的话,可以结合红绿柱的收缩来判断SAR翻信号是否处在动能衰竭阶段,如果SAR翻空的同时MACD红柱连续缩短,那一笔空头信号的可靠性会更高。
组合的核心思想是“各取所长”:趋势指标负责过滤方向,SAR负责提供具体的出场位置。不要把所有判断任务都扔给SAR。
5. 常见问题速查与个人使用心得
5.1 六个高频问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 源码测试报错 | 全角标点、括号不匹配 | 切换英文输入法重新输入 |
| 导入后无显示 | 主图/副图设置错误 | 确认公式类型选择主图叠加 |
| 圆点和K线重叠看不清 | 颜色设置不合理 | 参考上文改COLORYELLOW等颜色 |
| 信号频繁出现 | N值太小或市场震荡 | 增大N值,或配合均线过滤 |
| 遇到跳空信号乱跳 | 极值跳变导致SAR失真 | 跳空次日再确认信号 |
| 下载的doc乱码 | 文件编码不统一 | 另存为ANSI编码后复制代码 |
表格里这几个问题,都是我实际操作中遇到过的。尤其是标点符号和主图设置,几乎每个新手都会卡一次。
5.2 关于“源码”这件事,我的个人体会
我用SAR指标很多年,最深的感受是:源码本身一点都不神秘,它就是把一套明确的数学规则翻译成计算机语言。真正把它用得好的交易者,往往并不是因为代码写得有多花哨,而是想清楚了这笔交易什么时候进、什么时候出、错了怎么办。
所以我的建议是,别到处找“万能指标源码”,拿到一份SAR源码后,先在原版基础上改参数,理解每改一个数字曲线会怎么走,再慢慢加入自己的过滤规则,最后把它固化下来。比如我现在用SAR,更多是把它当成“风险提醒器”:持仓时看SAR有没有被跌破,空仓时看SAR有没有翻多,而不是单纯跟着箭头追涨杀跌。心态上放平以后,你会发现这个追随价格的小圆点,比大多数复杂指标都要诚实。
本文还有配套的精品资源,点击获取