4.1 跨周期模型代码编写实例

4.1 跨周期模型代码编写实例


跨周期模型,顾名思义和两个或两个以上周期有关。例如,模型加载在RB1710 合约(螺纹1710 合约)的15 分钟周期上但需要取RB1710 合约在60 分钟周期的指标数值,这就要用到跨周期了。

4.1.1 跨周期关键函数#IMPORT

#IMPORT 函数的语法如下:

#IMPORT [PERIOD,N,FORMULA) AS VAR

下面来看一下各参数的意义与使用注意事项:

1. PERIOD

PERIOD 为周期,其支持的周期有SEC( 秒周期), MIN( 分钟周期) ,HOUR( 小时周期), DAY( 曰周期), WEEK( 一周), MONTH( 一月) ,QUARTER( 一季度), YEAR (一年) ;

2. N

N 是指被引用的具体K 线周期, N 必须为大于等于1 的整数。

3. FORMULA

FORMULA 为引用娼标名,需要注意的是被号|用指标名不能包含汉字和符号。

4.VAR

VAR 是指, 给被引用指标起一个新名字。注意定义变量名不能与函数名重复,可以和被引用指标名称相同。

5. #IMPORT

#IMPORT 函数是没有分号结尾的。

4.1.2 在5 分钟周期上引用60 分钟周期的5 均线和10 均线

首先建立指标并保存为MYAA。打开赢智程序化交易软件,单击导航栏左侧的"模型",然后在空向处单击右键,在弹出菜单中单击"新建公式",弹出"MyLanguage( 麦语需)趋势跟踪模型编写平台一新建趋势跟踪模型"对话框,然后编写代码,如图4.1 所示。

代码如下:

MA5:= MA(CLOSE, 5);

MA10:= MA(CLOSE,10);

下面保存文件。单击菜单栏中的"文件/另存为"命令,弹出"另存为"对话框,然后保存在"自编"中,文件名为MYAA ,如图4.2 所示。

然后单击"保存"按钮,这样在自编中,就可以看到MYAA 文件, 如图4.3所示。

下面就可以建立跨周期模型来调用MYAA 文件中的参数。

再新建公式,然后编写代码,并保存在自编中,名称为"跨周期",如图4.4所示。

代码如下:

#IMPORT[MIN, 60,MYAA] AS X1

MYMA5: = X1.MA5 ;

MYMA10:= X1.MA10 ;

建立好跨周期模型后, 就可以加载到1 分钟周期上, MYAA 指标不需要加载,只加载跨周期模型即可。

4.1.3 收盘价站上30 日均线买平后买开新仓,跌破30 日均线卖平后卖开新仓

新建一个模型文件,命名为"MYBB" ,代码如下:

MA30:= MA(CLOSE,30)

再建立一个标型文件,命名为"收盘价与30 日均线",代码如下:

4.1.4 均线和KD 多周期共振判断行情

均线和KD 多周期共振判断行惰,需要量化模型。虽化是: 1 小时周期均线多头排列, 5 分钟KD 指标金叉,买平后买开新仓; 1 小时周期均线空头排列,5 分钟KD 指标死叉,卖平后卖开新仓。

新建一个模型文件,命名为"MYCC" ,代码如下:

C1:= MA(CLOSE, 5)

C2:= MA(CLOSE,10);

C3:= MA(CLOSE, 30)

再新建一个模型文件,命名为"均线和KD 指标",代码如下:

4.1.5 MACD 多周期共振判断行情

MACD 多周期共振判断行情,需要量化模型。量化是: 日线MACD 红并且60 分钟MACD 红,这时30 分钟MACD 金叉,就买多, 30 分钟MACD死叉时平仓;曰线MACD线并且60 分钟MACD线,这时30 分钟MACD死叉时,就卖空, 30 分钟MACD 金叉时平仓。

新建一个模型文件,命名为"MYDD" ,代码如下:

再新建一个模型文件,命名为"MACD 多周期共振判断行情",代码如下:

4.1.6 跨合约引用数据

跨合约引用数据,要用到#CALL 函数,其语法如下:

#CALL [CODE, FORMULA] AS VAR

下面来看一下各参数的意义与使用注意事项:

1. CODE

CODE 为文华码,例如沪铜1707 合约的文华码为2107。另外,要注意CODE 的位置不能为空。另外,在期货舍约的报价信号中,可以看以不同合约的文华码,如图4.5 所示。

2. FORMULA

FORMULA 为引用指标名,需要注意的是被引用指标名不能包含汉字和符号。

3. VAR

VAR 是指,给被引用指标起一个新名字。注意定义变量名不能与函数名重复,可以和被引用指标名称相同。

4. # CALL

#CALL 函数是没有分号结尾的。

下面来举一个简单的例子。

新建一个模型文件,命名为"MYEE" ,代码如下:

C1:= REF(CLOSE,1) ;

再建一个模型文件,命名为"调用沪铜1707 合约昨天收盘价" , 代码如下: