将技术分析进行到底
提供专业的程序化交易解决方案

算法模型之语法结构

本文介绍使用文华财经赢智8.2程序化交易平台编写算法交易模型时遵循的基本语法结构。


 

与C语言语法类似,盘口模型中所有的变量需要先声明,程序中必须有一个主函数MAIN(),自定义函数不是必须的。

 

基本运算

加:+
减:-
乘:*
除:/
赋值:=
逻辑判断:==、!=、>、>=、<、<=

 

控制语句

IF条件控制比较简单,不再赘述。

循环控制是通过WHILE或者FOR实现的。

 

WHILE实例:

2001.1

FOR实例:

2001.3

当满足条件count>=10时,循环执行第12行和第13行,直到ikk<=count条件不满足跳出循环,继续执行后面的语句。

其中,第13行ikk = ikk + 1对ikk重新赋值。这个例子中,每循环一次,ikk增加1。

运行结果如下:

2001.2

12:25:24至12:26:09,主函数共运行了10次。其中,前9次不满足第8行的逻辑判断,并没有执行循环语句。

问题来了,为什么主函数可以循环执行10次呢?是否是WHILE和FOR控制了主函数的执行次数?

这是赢智8.2的后台循环机制在起作用。WHILE和FOR的作用域只在MAIN()函数内,不能控制主函数的执行频率。

后台循环机制,也可以说是模型驱动机制,主要控制主函数的执行频率。规则是这样的:

盘口模型是由行情数据、交易回报、时间驱动循环执行的。当有新的行情数据,或者交易回报信息,都会驱动模型执行一遍。如果既没有行情数据,也没有交易回报信息,则每5秒执行一次。

 

 

 

赞(0)
未经允许不得转载:文华程序化 » 算法模型之语法结构
分享到: (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    这一篇没看太懂

    双鱼座守望者8个月前 (03-06)回复

横冲直撞 一直到最远方