StrategyQuant中内置了大量的技术指标,为了保证StrategyQuant生成的策略与策略运行软件平台上表现一致性,几乎所有的的指标都重新做了完整的定义。
因此在使用MT4/5,或Multicharts之前,首先是要要导入自定义指标。
有关指标导入,可以参考这里,提高Strategyquant创建期货交易策略的可靠性 提高Strategyquant创建期货交易策略的可靠性
最新版的StrategyQuant X 更强大的功能,是使用自定义策略模板才生成特定类型的策略。 这显然需要了解每个指标到底是什么意思,因为很多指标本身,中外的描述就有差异,而且同个指标也有诸多不同的版本。所以接下来将分几期来梳理一下SQ X中的内置指标。
ADX指标
实际上是DMI指标。 SQ的ADX参数有两个,SQ_ADX(周期,输出类型),输出类型0为ADX,1为DI+ / PDI,2或其它为DI- / MDI。
ADX可以表示市场处在单边趋势中还是陷入整理震荡市,过低表示低迷没有明朗的涨跌方向,过高或预示着趋势短期内已经走地过远,有回归需求;而PDI/MDI可以表示市场是处于多头趋势还是空头趋势。
LongEntrySignal = ((ADX(Main chart,ADXLowerPeriod1)[2] < 20)
and GannHiLo(Main chart, GannHiLoPeriod1)[1] is in Down Trend); #GannHiLoPeriod1=14 参数较小,标识走势 处在短期调整中ShortEntrySignal = ((ADX(Main chart,ADXLowerPeriod1)[2] < 20)
and GannHiLo(Main chart, GannHiLoPeriod1)[1] is in UP Trend);
象这样,就可以构建一个趋势收敛突破系统。
基于ADX推荐使用的信号:
- ADX is lower than level
- ADX is falling
- ADX is rising
Aroon指标
Aroon指标由Tushar Chande于1995年发明,名称源自梵语"黎明曙光",通过计算价格创新高/新低的时间间隔预测趋势变化。指标由三个核心组件构成:
- Aroon Up:量化价格创新高的时间强度
- Aroon Down:量化价格创新低的时间强度
SQ的Aroon有两个参数,第一个参数是时间周期,第2个参数为0时代表上升线,为1时代表下降线。
伴随着价格上升,上升线开始上升直到100,当价格创立高点回落,上升线也从100处开始下下行;之后,当价格不断下跌,下降线开始上升,直到100,当价格开始脱离底点反弹,下降线回落。
参数设置与计算逻辑
1. 周期选择策略
周期长度 | 适用场景 | 特点 |
---|---|---|
7-14天 | 短线交易 | 敏感度高,需配合其他指标过滤 |
25天 | 标准配置 | 平衡噪声与趋势识别能力 |
30天+ | 长线投资 | 过滤短期波动,捕捉大趋势 |
计算公式:
$ AroonUp = \frac{N - HH}{N} \times 100 $
$ AroonDown = \frac{N - LL}{N} \times 100 $
其中:
- N:计算周期(默认25天)
- HH:最高价出现后的天数
- LL:最低价出现后的天数
传统用法
- 当 AroonUp大于AroonDown,并且AroonUp大于50,多头开仓;
- 当 AroonUp小于AroonDown,或者AroonUp小于50,多头平仓;
- 当 AroonDown大于AroonUp,并且AroonDown大于50,空头开仓;
- 当 AroonDown小于AroonUp,或者AroonDown小于50,空头平仓;
基于Aroon推荐使用的信号:
- aroon down falls from top
- aroon up rises from bottom
ATR指标
SQ X中的ATR指标有两个版本,SQ_ATR 和 SQ_MTATR,后者与国内常见的真实波幅ATR指标一致,使用简单算术平均的方法来计算波动率。
比较这两种ATR计算方式的差异。
递归公式(SQ_ATR)的数据更平滑,因其通过权重衰减机制抑制突变,对新数据反应较慢。
简单算术平均(SQ_MTATR)所有时间点的数据权重一样,相比SQ_ATR起伏稍大一些。
递归公式(SQ_ATR)适用场景
- 需要长期趋势跟踪的策略(如趋势跟随系统);
- 对噪声敏感的场景(如避免短期波动干扰信号)。
简单算术平均(SQ_MTATR)适用场景 - 需快速响应短期变化的策略(如突破系统);
- 数据分布均匀且无需历史衰减的场景。
国内多数散户会忽视像ATR这类指标,不过在程序化交易系统的设计中,ATR指标因其量化波动性的特性,可贯穿策略开发的多个核心环节。以下是ATR在机械交易系统中的关键应用方向及实现逻辑:
一、动态止损保护机制
1. 初始止损设定
- 公式:
多头止损价 = 入场价 - K×ATR(N)
空头止损价 = 入场价 + K×ATR(N)
- 参数范围:K=1.5-3(海龟交易法则采用2倍ATR)
- 优势:根据波动率动态调整止损间距,避免被短期噪音触发
2. 追踪止损优化
- 动态通道:
多头追踪止损 = 最高价回撤M×ATR
空头追踪止损 = 最低价反弹M×ATR
- 实证案例:比特币趋势交易中,3倍ATR回撤阈值可捕捉80%以上主升浪
二、仓位规模动态调整
1. 跨品种风险均衡
- 计算公式:
头寸规模 = 账户风险上限 / (ATR×合约乘数)
- 示例:10万账户,ATR=50点,合约乘数10,则持仓量=20手
2. 波动率自适应仓位
- 策略逻辑:
- ATR<历史均值20% → 增仓30%
- ATR>历史均值30% → 减仓50%
三、突破信号有效性验证
1. 波动扩张过滤假突破
- 过滤条件:
当前ATR > 5日ATR均值×1.2
- 效果:标普500突破策略胜率提升18%
2. ATR通道突破确认
- 通道构建:
上轨=开盘价+1.5×ATR
下轨=开盘价-1.5×ATR
- 绩效指标:股指期货5分钟周期夏普比率达2.1
四、趋势强度量化评估
1. 趋势加速预警
- 判定条件:
ATR的20日EMA斜率>15度
+价格>50日均线
- 实战案例:黄金2024年行情提前3日发出强化信号
2. 趋势衰竭识别
- 背离检测:
价格创新高
+14日ATR_SMA下降
- 风险规避:纳斯达克ETF回测减少46%反转亏损
五、目标止盈策略构建
1. 固定波动倍数止盈
- 分层止盈:
- 第一目标:1×ATR平仓50%
- 第二目标:3×ATR追踪止损
- 盈亏比:EUR/USD测试达3.2:1
2. ATR比例缩放止盈
- 动态公式:
目标价=入场价 + (当前ATR/历史ATR中位数)×基准盈利
- 收益对比:年化收益率提升27%
六、参数优化与风险控制
1. 周期参数自适应
- 策略匹配:
- 短线(<3日):7日ATR
- 长线(>20日):21日ATR
2. 极端波动熔断
- 风控规则:
单日ATR > 20日ATR均值×3 → 强制减仓50%
- 回撤控制:2024年3月美股闪崩减少9.2%损失
四级目录有吗?
(未完待续)