全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
【量化源码共学】之二十,基于ADX及EMA进行判断
2022-09-02 09:36

哈喽大家好,我是源码分享者,大概算了下,之前差不多写了有20篇关于量化方面的文章,从本期开始打算写不少于一百个策略源码内容,更多的是为了打牢基础止损,认识更多在这方面努力的朋友。

本期介绍的是TB内置的交易系统-基于ADX及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指标在某些时候对于价格走势所产生的信号提前性,是一个非常有效的分析指标。

 

 

如图,本人分别写了EMA和MA的均线,可以看出EMA更灵敏一点,均线相对确实滞后一点

 

分别计算最高价最低价的EMA均线确定上下轨,再求中轨

//当ADX向上且当前价大于30根K线最高价的EMA满足买入准备条件

通过计算当前通道宽度中值加上收盘价,作为开仓触发价,降低噪音触发,属于过滤的一种

MROBS = NthCon(BuySetup,  1);

计算满足开仓条件后的bar数,当超过一定时间(bar数)不触发的话,不再进行开仓,二次过滤,第一次过滤是考虑的噪音,第二次过滤是行情的强势程度

出场部分:没什么好说的,跌破下轨出场。

 

图中可以看到,过滤比较多,导致的结果就是震荡行情少了很多开仓,但是抓趋势能力很弱,意料之中,减少了开仓也就是减少了利润来源,这本来就是矛盾体,作为一个CTA策略,抓行情能力是最重要的,所以,这个策略效率很低,价值不大,但是可以学习其中的一些过滤方式。

 

好了,本次的分享就到这里,我是拥有海量高质量实盘源码的量化交易者,展现各种各样的量化策略和交易知识,提供无限的交易可能,欢迎大家多交流多分享。

 

 

 

您未登录,请先 登录注册 后发表评论
顶部