SAR抛物线转向指标全称为Stop and Reverse,是技术分析里典型的趋势跟踪工具。它通过不断移动的止损点来贴近价格,在上涨时位于K线下方,下跌时位于K线上方,一旦价格穿越该点就发出趋势反转信号。在iOS端用Core Graphics绘制股票K线图时,把SAR的计算结果转成屏幕坐标并逐日连线,能让用户清晰看到趋势边界与止损位置。

SAR指标的计算逻辑与核心参数
SAR的计算依赖于加速因子AF和极值EP。初始AF通常设为0.02,每当价格创出趋势内新高或新低时,AF按0.02步进增加,上限多为0.2。EP则是当前趋势中的最高价或最低价。以多头为例,当日SAR等于昨日SAR加上昨日AF乘以后昨日SAR与昨日EP的差值,并用前几日极小值约束不得高于那些低点。
这种递推方式让SAR点逐步逼近价格,形成抛物线形态。若某日最低价低于当日SAR,则判定为多头反转,新趋势空头SAR起点取前一段的EP,AF重置为0.02。理解这套递推关系,是在Core Graphics中正确描绘点的前提,因为每一个SAR值都必须依赖前一交易日状态,不能孤立求解。
用Core Graphics将SAR映射到K线坐标系
Core Graphics的CGContext绘图以左上角为原点,而股票软件习惯左下角代表低价、右上角代表高价。因此需要写一个转换函数:屏幕Y等于图表顶部偏移加上(最高价减该值)除以价格跨度乘图表高度。SAR数值先参与同样的价格归一化,再得出像素点,使用CGContextMoveToPoint与CGContextAddLineToPoint连接相邻交易日。
实际绘制时,建议把K线蜡烛与SAR分为两个图层或同一上下文的不同绘制阶段。先画蜡烛,再画SAR小圆点,这样不会被遮挡。点半径设两到三像素即可,多头SAR用一种填充色,空头SAR换另一种,方便用户一眼分辨当前趋势方向。以下是常见绘制参数对照:
| 参数 | 含义 | 典型值 |
|---|---|---|
| AF_START | 初始加速因子 | 0.02 |
| AF_STEP | 每次创新高/新低增加量 | 0.02 |
| AF_MAX | 加速因子上限 | 0.2 |
| DOT_RADIUS | SAR圆点像素半径 | 2.5 |
止损点与反转信号的检测实现
止损点即每日SAR本身。在iOS逻辑层,可维护一个数组存储每个交易日的SAR值,并在行情刷新时做穿透判断:若持仓为多且当日收盘最低价小于等于当日SAR,触发平仓并反手为空;反之从空翻多。该检测应放在数据更新回调里,与Core Graphics渲染分离,保证策略稳定执行不因掉帧而漏判。
反转信号可视化方面,除了圆点跳到对侧,还可在K线旁标注箭头或文字。由于Core Graphics支持绘制文本,调用CGContextShowText或集成Core Text都能实现。重点是信号必须和计算的SAR严格一致,不能凭肉眼近似,否则会让用户依据错误止损位操作,造成实盘风险。
结合趋势跟踪策略的实战应用
单纯SAR适合单边市,震荡市会频繁反转。因此在iOS工具中可加入过滤:例如要求反转后两根K线确认,或结合成交量阈值。趋势跟踪策略以SAR作为移动止损轨,价格在其上方持有多单,下方持有空单,用户能在App内看到动态风险线,从而替代固定百分比止损的生硬。
开发时建议把策略参数暴露给设置页,让用户调整AF上限以适应不同品种波动。Core Graphics只负责任意参数下的重绘,不固化逻辑。最终实现的K线图既展示历史SAR抛物线,也实时计算当日预估SAR,帮助持有者提前感知可能反转的价位区间,提升决策效率。
Core_GraphicsSAR指标趋势跟踪修改时间:2026-08-11 12:21:25