LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 手把手教你写策略--移植一个my语言策略

手把手教你写策略--移植一个my语言策略

2019-11-29 发明者量化交易 来源:区块链网络

最近和朋友聊策略的时候,了解到有不少使用my语言编写策略苦于灵活的问题。很多情况下需要使用非系统提供的标准K线周期,例如提出最多的就是需求使用4小时K线。这个问题已经在一篇文章中得以解决,有兴趣的可以先看下发明者量化官网教程。不过在my语言策略中这个问题由于my语言高度的封装特性,无法灵活的自行处理数据。这个时候就需要把策略思路移植为其它语言。

对于趋势策略移植来说是非常简单的,我们可以使用一段范例代码,填充驱动策略的数据计算部分代码,填充交易信号触发条件即可。

可复用的范例代码:

以用于OKEX期货的策略为例。

gbv1uF8CNCdzXsTIOsTbG2ipxhlyKeDttbhJHb0T.png

举例:双均线策略的移植

麦语言回测:

v2-f992a72edd050162cff060b35e6cd83b_hd.jpg

麦语言策略代码:

hU8nzm05XHdtPndcWKuRKj6o7T7H8f6UAnafDQFf.png

移植为JavaScript策略

首先给可复用的范例代码填充上行情获取、指标计算部分:

BdxrQojywmAYsWISdYmnkDWwWUi52hlYKYrcWBXy.png

可以看到,双均线策略非常简单,只是首先获取K线数据records,然后使用TA函数库的均线函数TA.MA计算出5日均线、15日均线(回测界面上可以看到,K线周期设置的是日K线,所以TA.MA(records, 5)计算出的就是5日均线,TA.MA(records, 15)15日均线)。然后获取ma5指标数据的倒数第二个点ma5_curr(指标值),倒数第三个点ma5_pre(指标值),ma15指标数据同理。然后就可以使用这些指标数据去判断金叉死叉了,如图:

yiA4GGyGYT5U3Rdn769Ht9OwgMJMqw1f0M57RxKg.png

只要形成这样的状态,即为确定的金叉死叉。那么判断信号的部分就可以写成:

NXNOXUnDhWQelEtzNQpq8DenWJLePsveSV6qpxvv.png

这样就移植OK了,可以回测试下:

JavaScript策略的回测

回测配置:

OSqEMAEalaZtrdrnC0kBmKMkWaTctb4jfLGOBBqL.png

回测结果:

1TFLgfUVH8DhwE89WUXUBWjAb8Olfgu0fbOGvKck.png

my语言的回测

U9yKZZRHNe8DIm6pEPa3yMcMIiWPBXEgdh17Cq6P.png

可以看到回测结果基本一样,这样如果希望对于策略继续增加交互功能、增加数据处理(例如K线合成)、增加自定义的图表画图显示就可以实现了。

有兴趣的同学动手试试吧

—-

编译者/作者:发明者量化交易

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...