7.2 算法交易模型的基本语法
算法交易模型的基本语法结构如下:


从上述代码可以看到,算法交易模型的基本语法是,先定义变量, 再定义主函数,最后自定义函数。
7.2.1 主函数
一般而言,编写一个能运行在操作系统上的程序,都需要一个主函数。主函数意味着建立一个独立进程,且该进程成为了程序的入口,对其他各函数进行调用,这样整个程序的运行轨迹就像一种擒,有时我们称之为调用钱。主函数既是程序的入口,又是程序的出口,通常我们还可以指定一个返回值再退出,以表明程序最后的结果是什么样的。
由于主函数肩负着入口和出口的重任,所以最好不要把太多的细节方面的逻辑直接放在主函数内,这样不利于维护和扩展。主函数应该尽量简洁,具体的实现细节应该封装到被调用的子函数里面去。下面利用赢智程序化交易软件来编写主函数。
打开赢智程序化交易软件,然后单击菜单栏中的"编写",弹出下一级子菜单,就可以看到"编写算法交易模型"命令,如图7.1 所示。

单击"编写算法交易模型"命令,弹出"My Language ( 麦语言)趋势跟踪模型编写平台一新建算法交易模型"对话框,然后编写代码,如图7.2所示。

代码如下:

代码编写完成后,最好检测一下语法是否正确。单击菜单栏中的"检测/语法检测"命令,如果代码正确,就可以看到"检测通过"提示信息,如图7.3所示。
单击菜单栏中的"文件/另存为"命令,弹出"另存为"对话框,保存在"自编",文件名为"主函数"。

7.2.2 带有返回值的函数
下面先来编写带返回值的函数,然后在主函数中调用该函数。
单击菜单栏中的"文件/新建算法交易模型"命令,新建算法交易模型,然后编写代码,如图7.4 所示。

这里编写的是带有返回值的函数,具体代码如下:

然后编写主函数,调用前面编写的带有返回值的函数,如图7.5 所示。

主函数代码如下:

单击菜单栏中的"文件/另存为"命令,弹出"另存为"对话框,保存在"自编",文件名为"主函数调用带有返回值的函数" 。
7.2.3 不带有返回值的函数
下面先来编写不带返回值的函数,然后在主函数中调用该函数。
单击菜单栏中的"文件/ 新建算法交易模型"命令,新建算法交易模型,然后编写代码,如图7.6 所示。

不带有返回值的函数的代码如下:

然后编写主函数,调用前面编写的不带有返回值的函数,如图7.7 所示。

主函数代码如下:

单击菜单栏中的"文件/另存为"命令,弹出"另存为"对话框,保存在"自编",文件名为"调用不带有返回值的函数"。