首页 > 技术 > 数字货币交易网站 cex|给商品期货策略加上一个闹钟--策略中的定时设计

数字货币交易网站 cex|给商品期货策略加上一个闹钟--策略中的定时设计

摘要:经常有设计策略的朋友问我,如何给策略设计定时功能,让策略在指定的时间去处理某些任务。例如,一些日内策略,需要在下午收盘前平仓。类似这样的需求在策略中要如何设计才

经常有设计策略的朋友问我,如何给策略设计定时功能,让策略在指定的时间去处理某些任务。例如,一些日内策略,需要在下午收盘前平仓。类似这样的需求在策略中要如何设计才好。一个策略里面可能要用到很多时间控制,这样来说我们把时间控制功能封装起来最好,最大程度降低时间控制代码与策略的耦合性,让这个时间控制模块可以复用,并且在使用方面简洁易懂。

设计一个“闹钟”

160680544645809.jpg

我们设计并实现了一个创建闹钟对象的函数(可以理解为构造函数),其它语言直接可以设计一个闹钟类(例如使用Python,后续我们用Python实现一个)。

设计好构造“闹钟”对象的函数,在使用时只需一行代码即可创建一个“闹钟”对象。

160680550585927.jpg

例如,创建一个对象t,并且定时每天14:58触发。

可以再创建一个对象t1,定时每天9:00触发。

160680552297356.jpg

测试策略

我们写一个测试用的策略,策略使用最简单的均线系统,策略只是用来测试而已不用在意收益情况。策略计划在每天9:00开盘时,根据日均线金叉、死叉判定开仓(做多、做空、不交易),并且在下午14:58时平仓(15:00收盘)。

160680561420534.jpg

在策略中放入我们已经实现的CreateAlarmClock函数,并且在main函数开始部分构造两个“闹钟”对象。在策略判断开仓、平仓的位置,加上“闹钟”对象调用Check函数的代码,如代码中注释掉的部分。

回测运行

160679107450150.jpg

可以看到回测,早上9点之后开仓,下午14:58开始平仓。也可以用于多品种策略,在多品种策略中可以创建多个这样的“闹钟”对象,用于多品种的时间控制,互不影响。

Python语言实现闹钟类

实现以及测试代码:

160680565772075.jpg

回测测试运行:

160679107498906.jpg

需要注意的是,回测测试运行,底层K线周期不能设置过大,否则可能直接跳过时间检测的点导致没有触发。

策略代码仅仅抛砖引玉提供思路,感谢阅读。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。