开拓者量化源码分享基于ADX及EMA进行判断

本期介绍的是TB内置的交易系统-基于ADX及EMA进行判断,
ADX(Average Directional Index)和EMA(Exponential Moving Average)都是常用的技术指标,结合使用可以构建一个相对复杂的交易系统。
一般来说,ADX 指标用于衡量市场的趋势强度,而 EMA 指标用于确认趋势的方向。下面是一个可能的交易逻辑:
  1. 使用 ADX 指标来衡量市场的趋势强度,当 ADX 值高于某个阈值(例如 20)时,表示市场趋势强烈。
  2. 使用 EMA 指标来确认趋势的方向,当短期 EMA(例如 10 期)高于长期 EMA(例如 30 期)时,表示上涨趋势;反之,表示下跌趋势。
  3. 当 ADX 值高于阈值且短期 EMA 高于长期 EMA 时,产生买入信号。
  4. 当 ADX 值高于阈值且短期 EMA 低于长期 EMA 时,产生卖出信号。
请注意,这只是一个简单的交易逻辑,实际情况中可能需要更多的指标和规则来过滤假信号和避免风险。
 
下面先贴源码核心介绍。
// 策略说明:基于ADX及EMA进行判断
// 系统要素:
// 1. 计算30根k线最高价和最低价的EMA价差
// 2. 计算12根k线的ADX
// 入场条件:
// 满足上根K线的收盘价收于EMA30之上,且ADX向上的条件 在EntryBarBAR内该条件成立
// 当前价大于等于BuySetup,做多,当条件满足超过EntryBarBAR后,取消入场
// 出场条件:
// 当前价格下破30根K线最高价的EMA
 
首先,我们了解下EMA,简单的说,当要比较数值与均价的关系时,用 MA 就可以了,而要比较均价的趋势快慢时,用 EMA 更稳定;有时,在均价值不重要时,也用 EMA 来平滑和美观曲线。
其构造原理是:对收盘价进行加权算术平均,用于判断价格未来走势的变动趋势。与MACD指标DMA指标相比,EMA指标由于其计算公式中着重考虑了当天价格(当期)行情的权重,决定了其作为一类趋势分析指标,在使用中克服了MACD指标对于价格走势的滞后性缺陷,同时,也在一定程度上消除了DMA指标在某些时候对于价格走势所产生的信号提前性,是一个非常有效的分析指标。
 
 
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
 
 
如图,本人分别写了EMA和MA的均线,可以看出EMA更灵敏一点,均线相对确实滞后一点
 
 
添加图片注释,不超过 140 字(可选)
分别计算最高价最低价的EMA均线确定上下轨,再求中轨
 
 
添加图片注释,不超过 140 字(可选)
//当ADX向上且当前价大于30根K线最高价的EMA满足买入准备条件
 
 
 
添加图片注释,不超过 140 字(可选)
 
通过计算当前通道宽度中值加上收盘价,作为开仓触发价,降低噪音触发,属于过滤的一种
MROBS = NthCon(BuySetup, 1);
计算满足开仓条件后的bar数,当超过一定时间(bar数)不触发的话,不再进行开仓,二次过滤,第一次过滤是考虑的噪音,第二次过滤是行情的强势程度
出场部分:没什么好说的,跌破下轨出场。
 
 
 
添加图片注释,不超过 140 字(可选)
 
图中可以看到,过滤比较多,导致的结果就是震荡行情少了很多开仓,但是抓趋势能力很弱,意料之中,减少了开仓也就是减少了利润来源,这本来就是矛盾体,作为一个CTA策略,抓行情能力是最重要的,所以,这个策略效率很低,价值不大,但是可以学习其中的一些过滤方式。
posted @   量化交易者  阅读(157)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示