【量化源码共学】之错误不少的正期望系统

【量化源码共学】之错误不少的正期望系统

 

哈喽大家好,我是源码分享者,今天来分享源码仓库里的一套程序化交易实战策略。

先看绩效图:

一小时周期40+品种

15分钟周期40+品种

 

 

可以看到这个策略长期来说是个可以盈利的策略,但是,中间回撤不创新高的时间很长,再就是收益回撤比不高,一般人很难坚持用下去。

下面我们来对源码进行剖析,看看核心结构以及进出场资金管理等部分的设计有没有可学的部分。但是在笔者的解析过程中,发现该策略的一些错误地方,也请大家一起判断。

  1. 开仓部分

首先是用了一个超长的均线进行多空判断

 

然后对走势进行类似布林带的一个处理

 

通过取一定周期内当天开盘价加上上一周期的最高价-收盘价 做上轨,取一定周期内当天开盘价加上上一周期的最低价-收盘价做下轨,引入一个动态轨道作为有效突破用,中线作为开仓判断条件之一。开仓部分没问题,亮点是该策略因为了一个振幅概念,当当前K比上一根突破K走势更强劲的时候判定为有效突破,如何判定强势呢,该策略这样写

也就是K线波动幅度更大,判定为更强势,但这里面用的是当前K的数据,如果实盘中直接用的话,我觉得应该是会造成信号闪烁的,毕竟除了开盘价,其它价位一直都是变动的,这是发现的问题一。

该策略中间引入了一个TBQ已经内置好的函数,就是求开仓以后的最高价和最低价,源码如下:

但是如果你认真看的话会发现这里面错误百出:

比如前面限制了BarSSinceentry == 0,这里还求个最低价,这不是多此一举吗?再就是这里求最低价为什么用max??,后面求最高价用了个min,实在是错的离谱,如果代码上看的不明显,我们输出一条开仓后的最高价看看,这是该策略发现的问题二。

PlotAuto("HigherAfterEntry",HigherAfterEntry);

如图,下面的横线是HigherAfterEntry输出后的值,开仓后最高价竟然比开仓价更低,实在是搞笑,上面的曲线是该策略的跟踪止损线,是通过HigherAfterEntry加上一定系数的开盘价作为跟踪止损标的。下面给出TBQ自带的计算表达式,大家参考一下。

好了,该策略分析完毕,总结一下,主要是两点问题需要考虑,开仓部分引用当前K的H和L,会在实盘时造成信号闪烁;再就是计算开仓后的极值部分函数错误,导致后面的跟踪止损模块发生根本性的错误,但是它加上了开盘价的修正,所以又导致了该跟踪模块相对来说还可以用。

该策略的亮点我觉得在开仓部分,运用了多重过滤,有大周期均线判断多空,有相邻K判断突破力度,有类似布林带的突破确认。该策略能实现正收益,我觉得主要就是开仓部分做到了严格的过滤,能够做到顺势,但是由此带来的缺点就是开仓次数很少,50000个小时竟然单品种平均开仓次数在50左右,这个开仓次数加上收益回撤比,我相信很少有人能坚持用下去的。但该策略在这么多问题的情况下能做到正期望,我觉得是值得我们思考的。

总的来说,该策略满分10分,我给5分吧,不及格。

 

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

 

 

 

【量化源码共学】之基于平移的高低点均值通道与K线中值突破
【量化源码共学】之二十,基于ADX及EMA进行判断
【量化交易系统】实盘账户展示
目前市面上能找到的量化策略和程序化交易策略源码合集
双线交叉系统量化
量化交易中鼎鼎大名的通用止损模块之吊灯止损法
【策略分享】利用过滤震荡市后的高低点突破做单,附送源码。
如何将现有excel量化模型与开拓者系统对接或转化
为什么以前无源码导出现导入不了
求个最简单的MACD源码