程序化交易策略详解:双均线交叉系统(DMACS)

需积分: 50 0 下载量 189 浏览量 更新于2024-07-12 收藏 1.74MB PPT 举报
本文将深入探讨程序化交易策略的实现,并通过具体的实例——双均线交叉系统(DMACS)进行详细讲解。程序化交易的核心在于利用计算机自动化执行预先设定的交易规则,以降低人为情绪对决策的影响,提高交易效率。本文涉及的交易策略包括持仓交易系统和日内交易系统,旨在捕捉市场的主要趋势,同时控制风险。 首先,持仓交易系统的设计基于趋势跟踪理念,目标是捕捉市场的主要波动,减少在盘整期间的连续亏损,以及最大化资金回撤的控制。一个基本的持仓交易策略是双均线交叉系统(DMACS),它通过比较短期均线和长期均线的关系来决定买入或卖出信号。当短期均线上穿长期均线时,视为买入信号;下穿时,视为卖出信号。在示例中,短期均线设为10日,长期均线设为20日,初始交易头寸为1手。 在代码实现上,双均线指标(DualMA)首先定义了两个均线的周期长度,然后计算并绘制出这两个平均线。在DMACS_V1版本中,我们增加了交易逻辑,当短期均线上穿长期均线时,如果之前持有空头,先平仓再建立多头;反之,当短期均线下穿长期均线时,如果之前持有多头,先平仓再建立空头。这个逻辑通过条件变量condBuy和condSell实现,并在满足条件时执行买入或卖出操作。 在实际测试中,DMACS_V1在不同交易品种上进行了回测,如铜(Cu000)、锌(ZN000)和橡胶(RU000),考虑了4%的交易佣金。结果显示,尽管在不同品种上表现不一,但该策略在净利润与最大回撤比例方面显示出一定的盈利能力,例如在铜和锌上,净利润分别是526451和114012,最大回撤分别是-130057和-31079,净利润/最大回撤比例分别为4.05和3.66,这表明在承受一定风险的情况下,策略能够带来相对较高的回报。 然而,需要注意的是,这些回测结果并不代表未来的真实表现,因为市场条件会不断变化。此外,优化策略可能涉及调整均线周期、交易量管理、止损和止盈设置等。在实际应用中,还需要考虑滑点、交易成本、资金管理等因素,以确保策略的稳定性和适应性。对于更高级的交易者,可以结合其他技术指标和市场数据,构建更复杂的算法交易模型,以提升策略的性能。
2017-08-09 上传
策略为王是一个很老的股票交易软件,包括行情接收、显示、技术指标、策略模拟等。功能很全,该有的都有,在当时也算是专业软件。 不知何故后来人家不再使用,也不再维护,就把源码放出来共享,一群好人啊!这是目前通过正常途径能够找到的最好的开源交易软件,也是最好的C++示例系统之一。无论您是有意从事股票/期货的自动交易,还是学习C++编程,读它的源码都是一个很好的开端,我就是这么做的。 策略为王最早的开发环境是VC6。我当时下的代码,最多升级到VS2003。据说能升到VS2005,我没试,但再往上肯定不行了。因为程序所用第三方控件库不支持更高版本的VS,这也是VS讨厌的地方。 后来我用QT编写自己的行情软件,就不再关注策略为王了。 最近兴趣重燃,发现网上有人家升级到VS2008的版本。原来的第三方控件库基本不再使用,功能及界面效果也大打折扣。未使用新的界面库,可以说程序变成了半成品,但这样也好,剩下的都是干货,更有利于研究和学习。无论如何,人家能升级到VS2008我还是很佩服的,做这个事的人应该是下了不少功夫,在此要表示感谢。 基于以前的积累,我对这些程序比较熟悉。在人家的基础上,我又做了点儿工作:把开发环境升级到了VS2015,改了几个错误,加了点儿小功能,加上了示例数据(让人一运行就能看到股票列表、技术图表和板块)。 传上来,谈不上共享精神,骗点儿积分。莫办法,有积分才能继续下载其它资源。 程序我在VS2015上已编译通过,这两天也一直在上面运行、修改。但不保证您的开发环境也能顺利通过,也许需要一些配置上的修改。如果您在编译过程中遇到问题,并不是我有意骗您,别生气,您可能需要点耐心,我要的1分也不多。 如果您使用其它的VS版本作为开发环境,可以去下载相应的版本,不用下载这个。据我所知,就CSDN上,从VC6到VS2010所有版本都有。 最后,祝您开发、学习有个好心情。