- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Trade With a Competitive Edge DTS
大智慧策略交易平台 DTS策略开发语言Vmlua
使用范例
Revision History
Date Version Description Author 2013/7/2 1.00 Initial version. DTSGroup
Approval History
Date Version Description Approver
Table of Contents
第一章 Vmlua编程基础 4
1.1. Vmlua运行环境介绍 4
1.2. 开发第一个策略 5
1.3. Vmlua策略简介 6
1.4. Vmlua开发环境详解 8
第二章 Vmlua程序设计基础 16
2.1. 标准Lua简介 16
2.2. Vmlua对标准Lua的扩展 24
第三章 Vmlua使用范例讲解 24
3.1 如何订阅和显示实时行情(普通行情、L2) 24
3.2 如何订阅和显示历史行情 24
3.3 如何下单:单笔委托、篮子下单 24
3.4 如何查询和显示持仓数据 24
。。。 25
。。。 25
3.x 综合范例一:LAPI测试工具讲解 25
3.y 综合范例二:盘口下单策略讲解 25
第四章 Vmlua高级开发 25
附录1 VMLUA API参考手册。。。 26
附录2 。。。 26
DTS策略开发语言Vmlua使用范例
第一章
Vmlua运行环境介绍
Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。
1)在Windows下可以安装Lua5.1 for windows. 安装后菜单如下显示:
选择SciTE,可以执行Lua脚本。如下图所示:
2)在Linux下使用Lua, 需要安装Lua环境。安装好后,在命令行执行lua命令。
如下图:
开发第一个策略
写一个最最简单的程序——Hello World。
print(Hello World)
假定你把上面这句保存在hello.lua文件中,你在命令行只需要:
prompt lua hello.lua
看到结果了吗?
让我们来看一个稍微复杂点的例子:
-- defines a factorial function
function fact (n)
if n == 0 then
return 1
else
return n * fact(n-1)
end
end
print(enter a number:)
a = io.read(*number) -- read a number
print(fact(a))
这个例子定义了一个函数,计算输入参数n的阶乘;本例要求用户输入一个数字n,然后打印n的阶乘。
这两例子,可以在Lua for Windows下直接执行,执行结果如下图:
Vmlua策略简介
有了对vmlua的认识之后,我们可以开始vmlua编写策略。Vmlua策略的编写,需要在投研平台里进行。
启动投研平台后,点击文件菜单,选择新建策略:
输入“策略名称”,并选择策略类型,生成新的策略。
打开刚才新建的“Test1”策略,是一个空白的策略。可以点击策略编辑器上方的小工具按钮中的“函数”,了解我们的vmlua包含哪些函数。
下面,我们用一个简单例子来说明vmlua的使用。
--使用函数GetDate获取到当天日期
--将日期保留在变量d1中
local d1 = GetDate()
--格式化输出内容
message = string.format(今天是%s, d1)
--将变量d1发送到UI界面上,MyDate是消息的名称
SendToUI(MyDate, message)
从这个例子我们来了解vmlua的标准函数和DTS系统函数。 Lua标准函数是Lua类库自带的函数库,可以到lua的网站上去了解,如:/luai/i/_
Lua语言提供了丰富的函数库,如字符串处理就提供了如下函数:
string.byte string.char string.dump string.find string.format string.gmatch string.gsub string.len string.lower string.match string.rep string.
文档评论(0)