量化麦语言程序化模型的编写精
麦语言函数手册之欧阳家百创编
文华财经“麦语言”函数手册
欧阳家百(2021.03.07)
(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
量化经典麦语言程序化模型的编写知识课件
CROSS(MA10,MA5),SP;
CROSS(MA10,MA5),SK;
CROSS(MA5,MA10),BP;
均线上穿平空做多,均线下穿平多做空;
具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;
CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;
总结:多条件下用“()”明确逻辑关系
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。 用法:
#IMPORT [CODE, PERIOD, FORMULA] AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA
的数据。CODE 文华Fra bibliotek,PERIOD 周期,FORMULA 引用指标名, VAR 定义变量名
在建立你的模型 #IMPORT [ , MIN30 ,AAA] AS VAR DM5:=VAR.RMA5; DM10:=VAR.RMA10; MA5:=MA(C,5); MA10:=MA(C,10); RM5>RM10&&CROSS(MA5,MA10)&&TIME<1450,BK; (RM5<RM10&&CROSS(MA10,MA5))||TIME>=1450,SP; RM5<RM10&&CROSS(MA10,MA5)&&TIME<1450,SK; (RM5>RM10&&CROSS(MA5,MA10))||TIME>=1450,BP; AUTOFILTER;
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10);
麦语言基本语法与指令说明
2、指令指定交易数量,买入数量为变量 a.BK 后面括号中的计算公式可任意编写,计算结果为买入数量。 b.小数采用向下取整原则。 c.指定交易数量后,设置的数量无效。 例: CLOSE>MA(CLOSE,5),BK(MONEY*0.5/(C+0.5*FEE));//收盘价大于 5 周期均线,按照理论可用资金 50%买入。
2、指令指定对应组别,不指定交易手数,下单手数为模组设置的固定手数。 例: CROSSUP(C,MA(C,5)),BK('A');//A 组做多指令,收盘价向上穿越 5 周期均线,买开仓,下单手数为模组设置的固定手数
在非过滤模型中的应用
1、指令指定交易手数,下单手数为固定手数
a.BK 后面的括号中为下单手数,可为任意正整数。 b.指定交易手数后,模组设置的手数无效。
CLOSE*OPEN;返回收盘价与开盘价的积。 CLOSE/OPEN;返回收盘价与开盘价的商。
CLOSE>OPEN&&REF(CLOSE>OPEN,1);当根 k 线 与前一根 k 线都收阳返回 1,否则返回 0。
CLOSE>OPEN||REF(CLOSE>OPEN,1);当根 k 线收阳或 前一根 k 线收阳返回 1,否则返回 0。
2、指令指定对应组别,不指定交易数量,买入数量为设置的固定数量。 例: CROSSUP(C,MA(C,5)),BK('A');//A 组做多指令,收盘价向上穿越 5 周期均线,买入,买入数量为设置的固定数量
在非过滤模型中的应用
1、指令指定交易数量,买入数量为固定数量
麦语言基本语法与指令说明
a.下面例 1 中,BK 后面的括号中“1”位置为下单手数。 b.下单手数为固定手数或者变量。 c.如下单手数为变量且结果包含小数,小数采用向下取整原则。 d.指定交易手数后,模组设置的手数无效。 例 1: CROSSUP(C,MA(C,5)),BK('A',1);//A 组做多指令,收盘价向上穿越 5 周期均线,下单手数为固定手数,1 手
例 2: CROSSUP(C,MA(C,5)),BK('A',MONEY*0.5/(C+0.5*FEE));//A 组做多指令,收盘价向上穿越 5 周期均线,买入数量为变量, 按照理论可用资金 50%买开仓
BK 指令使用说明:
1、用于期货、外盘合约上为买入开仓 2、用于股票合约上为买入,但和 STOCKT0 或 STOCKT0_PLUS 连用加载在股票合约上不出信号
//后为使用方法的文字解释
在期货、外盘合约中的应用
在过滤模型中的应用
1、指令不指定交易手数,下单手数为模组设置的固定手数。 例: CLOSE>MA(CLOSE,5),BK; //收盘价大于 5 周期均线,买开仓,下单手数为模组设置的固定手数
6、定义全局变量 VARIABLE:VAR1:=X,VAR2:=Y; IF 条件 1 THEN VAR1:=VAR1+1; IF 条件 2 THEN VAR2:=VAR2+1; VARIABLE 表示声明后面的变量名为全局变量
Байду номын сангаас
VAR1 VAR2 全局变量的名字 X Y 为全局变量的初始值 VAR1:=VAR1+1;表示给 VARI 赋值 如果当前 K 线条件满足条件 1,则给 VARI 赋值为 VAR1+1,否则仍旧取值为之前的 VAR1 的值
量化交易中一般模型编写示例
量化交易中⼀般模型编写⽰例⼀些基础的策略模型需要在每根K线⾛完的时候按照出现的信号⽅向下单, 我们把这种模型叫做收盘价模型。
本⽂将介绍⼀些常见的模型写法, 读者可以根据实际交易时的需求, 进⾏取舍和延申。
运⾏这些模型实现了更丰富的量化策略, 例如头⼨管理, 指令价交易等。
条件描述阶段涨幅:N⽇收盘价的差值的百分⽐。
(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100再创新⾼:所谓再创新⾼就是指今⽇最⾼价是N⽇以来的最⾼价HIGH=HHV(HIGH,N)该函数在当⽇最⾼价创N⽇新⾼时为1,否者为0。
放量上攻:指价格上扬,成交量剧增价格上扬可以描述为:CLOSE/REF(CLOSE,5)>1.2;表⽰5⽇上涨20%成交量剧增可描述为:VOL>MA(VOL,5)*3;表⽰成交量超过5⽇均量的3倍所以公式可写成为:CLOSE/REF(CLOSE,5)>1.2 AND VOL>MA(VOL,5)*3窄幅整理:就是指近⼀段时期价格维持在⼀定幅度之内(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE<0.08;HHV(CLOSE,20)-LLV(CLOSE,20)表⽰20⽇收盘价振幅,即20⽇内价格振幅在8%以内波动。
均线多头排列:移动平均线(MA)是将⼀段时间的股票价格⽤数理统计的⽅法加以平均,再将这些平均价标于图上并⽤线连接起来即可。
它可以⽤来观察股价的趋势。
均线多头排列可以看做是上升趋势⾏情的表现。
5⽇、10⽇、60⽇均线分别表⽰为:MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA60:=MA(CLOSE,60);均线多头排列可写成:MA10>MA5&&MA60>MA10(注意不要写成连等形式)前期⾼点及其位置前期⾼点价格可以写成:HHV(HIGH,20)表⽰20⽇最⾼价前期⾼点位置:HHVBARS(HIGH,20)表⽰20⽇内最⾼价到现在的周期数,若HHVBARS(HIGH,1)等于6,则表⽰前期⾼点出现在6⽇前。
麦语言编程教程
麦语言编程教程所有的编程都可以归结为以下三类:第一,表达式问题。
以当前视角,给出变量的计算公式。
所谓的当前视角,就是不考虑位置关系,把那个位置当作是当前位置。
事实上,前面那张表中任何一个方格的数据,都是把这个方格所在列当成当前K线来解读的。
第二,逻辑判断问题。
其实可以归结成表达式问题,但是考虑到逻辑判断比较重要,而且和纯计算数值的表达式略有些不同的,所以独立出来。
第三,定位问题。
只有一个位置不需要确定,那就是当前,这里说的当前,是K线图上最后一根K线,不是前面说的当前视角。
定位的结果是得到历史某个位置到当前的距离。
定位的目的是到那个历史位置去取值,可以是逻辑值,也可以是数据值。
当然定位还有另外一个作用,就是画线,这种情况我们之后再讨论。
表达式问题和逻辑判断问题这两个问题都是比较简单的。
关键点是以当前视角给出计算公式,不需要考虑计算公式之外的位置问题。
*************************************************************** *************先来一个简单的例子:求当前K线最高价和最低价一半的价格。
这是一个和位置完全没有关系的问题,因为当前K线是不需要定位。
所以我们可以直接定义变量名称并给出计算公式。
HL:(H+L)/2;*************************************************************** *************如果在表达式中,某个数据需要通过定位从历史中取,那么可以用定位问题的解决方法取到这个数值,然后再与其他与位置无关的变量组成表达式。
例如,计算最高、最低价,以及前一根K线收盘价的平均。
前一根K线收盘价定义为:ZC:=REF(C,1);//定位问题后面会有详细说明HLC:(H+L+ZC)/3;*************************************************************** *************在一个区间内计算数值,如果有系统函数,则与定位无关。
麦语言函数手册
文华财经“麦语言”函数手册
(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
11.头寸函数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
麦语言函数手册
取Tick图中该笔TICK的成交价。用法:L2_PRICE返回TICK图中该笔TICK的成交价。
L2_VOLUME
取TICK图中该笔TICK的成交量。用法:L2_VOLUME返回TICK图中该笔TICK的成交量。
ASKBIGVOLPRICE
TICK图中该笔Tick盘口中空头满足大单条件的与最新价的最近价格。用法:ASKBIGVOLPRICE返回TICK图中该笔Tick盘口满足大单条件的与最新价的最近价格,注模型中需调用一次CALVOLPRICELIST函数
L2_ASK4
取秒周期末卖4价(K线图)或该笔TICK时刻的卖4价(Tick图)。用法:L2_ASK4K线图时返回当前秒周期最后时刻的卖4价。TICK图时返回该笔TICK时刻的卖4价。
L2_ASK5
取秒周期末卖5价(K线图)或该笔TICK时刻的卖5价(Tick图)。用法:L2_ASK5K线图时返回当前秒周期最后时刻的卖5价。TICK图时返回该笔TICK时刻的卖5价。
DMA(X,A)
返回X的动态移动平均,其中A为常数,并且必须介于0及1之间。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。
EMA(X,N)
L2_BIDVOL5
取秒周期末买5量(K线图)或该笔TICK时刻的买5量(Tick图)。用法:L2_BID5K线图时返回当前秒周期最后时刻的买5量。TICK图时返回该笔TICK时刻的买5量。
L2_ASKVOL1
取秒周期末卖1量(K线图)或该笔TICK时刻的卖1量(Tick图)。用法:L2_ASK1K线图时返回当前秒周期最后时刻的卖1量。TICK图时返回该笔TICK时刻的卖1量。
第2-3讲 模型基本结构与编写
注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起; 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算; 4、N为空值时,返回空值。 5、N可以是变量。 返回数值
3、麦语言编写基础—函数
统计类函数: 1、金融统计函数:统计过去某段行情的高低值、根据已知条件统计相关周期 、计算移动平均… 2、数理统计函数:统计过去某段行情的标准差、斜率…
3、麦语言编写基础—函数
时间函数: 取得年、月、日、时、分、秒… 取得距收盘前的时间
3、麦语言编写基础—函数
CIRCLEDOT 画小圆点线。 所属分类:绘图函数 注: 1、该函数支持在函数后设置颜色。 2、不支持将函数定义为变量,即不支持下面的写法:A:CIRCLEDOT;
DRAWTEXT:显示文字。 所属分类:绘图函数
模组头寸函数: 取资金、持仓、盈亏…
该部分函数在后续章节详细介绍
3、麦语言编写基础—函数
编写训练: 1、写一个均线组合,由5条均线组成,参数为5、10、20、30、60. 2、翻译下面代码: LOWV:=LLV(LOW,9); HIGHV:=HHV(HIGH,9); RSV:=(CLOSE-LOWV)/(HIGHV-LOWV)*100; K:SMA(RSV,3,1); D:SMA(K,3,1); J:3*K-2*D; 3、写一个k线组合:红三兵 a、每日的收盘价高于前一日的收盘价; b、每日的开盘价在前一日阳线的实体之内; c、每日的收盘价在当日的最高点或接近最高点。
3、麦语言编写基础—函数
REFX引用后N个周期的数据。
用法: REFX(X,N)引用X在N个周期后的值。 注: 1、当N为有效值,但当前的k线数不足N根,返回无效值; 2、N为0时返回当前X值;N为空值时返回空值。 3、N不能为变量 4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请 谨慎使用!
麦语言程序化模型的编写精品文档
例 同一合约不同周期的数据调用
要求
30分钟周期上,当前面一根MA5大于MA10,并且5分钟 周期上,MA5上穿MA10,做多。
30分钟周期上,当前面一根MA5大于MA10,并且5分钟 周期上,MA5下穿MA10,做空。
尾盘平仓
先建立一个指标 名称AAA RMA5:=REF(MA(C,5),1); RMA10:=REF(MA(C,10),1);
MACD、KDJ指标模型:
DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG); DEA := EMA(DIFF,N); MACD:=2*(DIFF-DEA); RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M1,1); J:=3*K-2*D; (CROSS(K,D)&&J<30)||(CROSS(DIFF,DEA)&&MACD>1),BK; (CROSS(D,K)&&REF(J,1)>70)||(CROSS(DEA,DIFF)&&MACD<-1),SP; (CROSS(D,K)&&J>70)||(CROSS(DEA,DIFF)&&MACD<-1),SK; (CROSS(K,D)&&REF(J,1)<30)||(CROSS(DIFF,DEA)&&MACD>1),BP; AUTOFILTER;
模型中跨指标,是将多个指标交易思想结合在一起进行看盘 断势。 关键词:多个交易条件
1:以均线结合KD交叉指标为例: 2:练习编写:MACD、KDJ指标模型。
麦语言自编策略模型函数列表
实用标准文案麦语言自编策略模型函数列表文华财经资讯有限公司“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过8年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用目录自编策略模型支持的函数 (3)1.数学运算(24) (3)2.金融统计函数(25) (12)3.数理统计函数(8) (26)4.逻辑判断函数(22) (31)5.时间函数(15) (41)6.绘图函数(26) (49)7.画线函数(10) (64)8.波峰波谷统计函数(7) (75)9.未来函数(2) (84)10.头寸函数(47) (85)11.历史数据引用(18) (136)12.日内高频数据引用(46) (146)13.引用其他合约价格(1) (154)14.颜色常数 (155)自编策略模型支持的函数1.数学运算(24)ABS(X) 求X的绝对值注:1、正数的绝对值是它本身;2、负数的绝对值是它的相反数;3、0的绝对值还是0;例1:ABS(-10);//返回10。
例2:ABS(CLOSE-10);//返回收盘价和的10价差的绝对值。
例3:ABS(C-O);//当前K线实体长度ACOS(X) 求X的反余弦值注:1、X取值范围[-1,1]。
2、若X不在取值范围,返回值为空值。
例1:ACOS(-1);//求-1的反余弦值;例2:ACOS(1);//求1的反余弦值;ASIN(X) 求X的反正弦值注:1、X取值范围[-1,1]。
2、若X不在取值范围,返回值为空值。
48. 量化模型的构建需要哪些数据?
48. 量化模型的构建需要哪些数据?48、量化模型的构建需要哪些数据?在当今数字化的时代,量化模型在各个领域都发挥着重要作用,从金融投资到市场营销,从医疗保健到交通规划。
然而,要构建一个有效的量化模型,数据是至关重要的基石。
那么,究竟哪些数据是构建量化模型所必需的呢?首先,历史数据是构建量化模型的基础。
以金融领域为例,如果我们要构建一个预测股票价格走势的量化模型,那么过去一段时间内该股票的价格波动、成交量、市盈率等数据就是必不可少的。
这些历史数据能够帮助我们发现潜在的规律和趋势,从而为模型的构建提供依据。
同样,在市场营销中,过去产品的销售数据、市场份额、消费者反馈等历史信息对于预测未来的销售情况和制定营销策略具有重要意义。
除了历史数据,实时数据也是构建量化模型不可或缺的一部分。
实时数据能够反映当前的市场动态和业务状况,帮助模型及时调整和优化预测结果。
例如,在交通领域,实时的路况信息、车辆流量、天气状况等数据对于优化交通信号灯控制和规划道路建设非常重要。
在金融市场中,实时的交易数据、新闻事件、政策变化等能够迅速影响资产价格,因此及时获取和处理这些实时数据对于准确的量化交易决策至关重要。
特征数据在量化模型的构建中也占据着重要地位。
特征数据是对原始数据进行加工和提取得到的具有代表性和区分度的信息。
比如,在信用评估模型中,个人的收入水平、负债情况、信用记录等就是重要的特征数据。
通过对这些特征数据的分析和建模,可以评估一个人的信用风险。
在图像识别模型中,图像的颜色、形状、纹理等特征数据则是模型进行识别和分类的关键。
此外,关联数据对于构建全面和准确的量化模型也十分重要。
关联数据指的是与研究对象相关的其他因素的数据。
以医疗保健为例,如果要构建一个疾病预测模型,除了患者的临床症状和检查结果等直接数据外,还需要考虑患者的生活习惯、遗传因素、环境因素等关联数据。
这些关联数据能够帮助我们更全面地了解疾病的发生机制和影响因素,从而提高模型的预测准确性。
麦语言基本语法与指令说明
3、指令指定对应组别,同时指定交易手数,
a.下面例 1 中,BK 后面的括号中“1”位置为下单手数。 b.下单手数为固定手数或者变量。 c.如下单手数为变量且结果包含小数,小数采用向下取整原则。 d.指定交易手数后,模组设置的手数无效。 例 1: CROSSUP(C,MA(C,5)),BK('A',1);//A 组做多指令,收盘价向上穿越 5 周期均线,下单手数为固定手数,1 手
例: CLOSE>MA(CLOSE,5),BK(500);//收盘价大于 5 周期均线,买入 500 股。设置的数量无效
2、指令指定交易数量,买入数量为变量 a.BK 后面括号中的计算公式可任意编写,计算结果为买入数量。 b.小数采用向下取整原则。 c.指定交易数量后,设置的数量无效。 例: CLOSE>MA(CLOSE,5),BK(MONEY*0.5/(C+0.5*FEE));//收盘价大于 5 周期均线,按照理论可用资金 50%买入。
2、指令指定对应组别,不指定交易数量,买入数量为设置的固定数量。 例: CROSSUP(C,MA(C,5)),BK('A');//A 组做多指令,收盘价向上穿越 5 周期均线,买入,买入数量为设置的固定数量
在非过滤模型中的应用
1、指令指定交易数量,买入数量为固定数量
a.BK 后面的括号中为买入数量,可为任意正整数。 b.指定交易数量后,设置的数量无效。
CLOSE>OPEN;当根 k 线的收盘价大于开盘价 (阳线)返回 1,否则返回 0。
麦语言函数手册之欧阳体创编
文华财经“麦语言”函数手册
(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:多个交易条件 1:以均线结合KD交叉指标为例: 2:练习编写:MACD、KDJ指标模型。
MA5:=MA(C,5);
MA10:=MA(C,10);
均线模型
MA5>MA10,BK;//5日均线大于10日均线买入 。
课程内容
一、模型的基本结构和跨指标模型的编写 二、跨周期模型的编写 三、模型中资金管理的编写
MY 语言的编写基于文华财经wh3平台中。通过本节课 的学习,了解文华公式编写平台的基本函数与语法,设计 自己的指标和程序化交易策略模型,实现全自动的委托发 单交易。
公式:
泛指指标、模型。没有具体指向性。
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代 码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头 的名称之外的名称。
MY language 编写语法 MY language 操作符
1、命名部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符内。 命名不能和已存在的公式名称重复;
2、定义变量名称 变量名称不能相互重复; 不能与参数名重复; 不能与函数名重复;
3、半角输入法的大写状态;
4、每个语句应该以分号结束;
MA5<MA10,SP;/模型中加入KD指标思路:
DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG); DEA := EMA(DIFF,N); MACD:=2*(DIFF-DEA); RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M1,1); J:=3*K-2*D; (CROSS(K,D)&&J<30)||(CROSS(DIFF,DEA)&&MACD>1),BK; (CROSS(D,K)&&REF(J,1)>70)||(CROSS(DEA,DIFF)&&MACD<-1),SP; (CROSS(D,K)&&J>70)||(CROSS(DEA,DIFF)&&MACD<-1),SK; (CROSS(K,D)&&REF(J,1)<30)||(CROSS(DIFF,DEA)&&MACD>1),BP; AUTOFILTER;
5、参数部分: 可以设置六个参数 首先是参数名称,然后是参数的最小值,最大值,最后是参数
的默认值。 在定义参数时要注意的是参数名称不可以重复,12个字符内
6、运用函数语言,也就是表达你的语言 函数具有自己的表达式,运行它就需要将我们的思路,按照函
数的表达式套用表述。
模型源码 命名
参数
A:(O+C)/2; B:C>O; //判断是否收阳;满足条件返回1,否则返回0 D:TIME=0900&&C>O; //用于多条件逻辑关系
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10);
SETTLE REF(X,N)
引用结算价 引用X在N个周期前的值
MA(X,N)
求X在N周期内的简单移动平均。
定义变量: 当根K线最高价; 结算价: 15周期收盘价均线(显示定义);
衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;
HH:=H; S:=SETTLE; MA15:MA(C,15);
REF(HH,1); REF(MA15,1);
在编写前,需要将交易思想清晰量化后,通过语言函数编写完成
交易模型基本结构 1.定义需要的每个变量 2.交易条件+交易指令
MA5:=MA(C,5); MA10:=MA(C,10);
定义思路中涉及到的变量
总结:多条件下用“()”明确逻辑关系
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。 用法:
#IMPORT [CODE, PERIOD, FORMULA] AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA
的数据。
CODE 文华码,PERIOD 周期,FORMULA 引用指标名, VAR 定义变量名
指标 指能够绘出图线但不发交易指令的公式。指标是一个技术分 析范畴的概念。
交易信号 指指标上出现的提示投资者买卖的指示,可以是图线交叉、 文字、图形。投资者需要按照信号指示去手动委托下单。交 易信号也是一个技术分析范畴的概念。
交易模型: 指能够发出BK、SP等交易指令,模型还包含下单方向, 交易手数,止盈止损等与交易、资金使用相关的参数设置 。交易模型是一个交易范畴的概念。
用指标监测行情: K线上穿D线
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; //以下是加入的交易指令 CROSS(K,D),BK;//K向上穿越D,发出买开交易指令 CROSS(J,100),SP;//J向上穿越100,发出卖平交易指令 CROSS(D,K),SK;//K向下穿越D,发出卖开交易指令 CROSS(0,J),BP;//J向下穿越0,发出买平交易指令 AUTOFILTER;
MA20:=MA(C,20);
CROSS(MA5,MA10),BK;交易条件,写入交易指令
CROSS(MA10,MA5),SP;
CROSS(MA10,MA5),SK;
CROSS(MA5,MA10),BP;
均线上穿平空做多,均线下穿平多做空;
具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;
交易指令: 指交易模型自动发出的下单委托指令,可以不经过投资者 确认直接下单,也可以等待投资者回车确认再下单。交易 指令在K线图上以不同颜色和形状的箭头来代表。交易指 令是一个程序化交易范畴的概念。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D;