麦语言自编策略模型函数列表.docx

上传人:b****8 文档编号:29742133 上传时间:2023-07-26 格式:DOCX 页数:63 大小:34.70KB
下载 相关 举报
麦语言自编策略模型函数列表.docx_第1页
第1页 / 共63页
麦语言自编策略模型函数列表.docx_第2页
第2页 / 共63页
麦语言自编策略模型函数列表.docx_第3页
第3页 / 共63页
麦语言自编策略模型函数列表.docx_第4页
第4页 / 共63页
麦语言自编策略模型函数列表.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

麦语言自编策略模型函数列表.docx

《麦语言自编策略模型函数列表.docx》由会员分享,可在线阅读,更多相关《麦语言自编策略模型函数列表.docx(63页珍藏版)》请在冰豆网上搜索。

麦语言自编策略模型函数列表.docx

麦语言自编策略模型函数列表

麦语言自编策略模型函数列表

文华财经资讯有限公司

“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过8年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。

麦语言,是国内使用人数最多的程序化模型开发平台。

麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。

语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。

麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用

 

自编策略模型支持的函数

1.数学运算(24)

ABS(X)

求X的绝对值

注:

1、正数的绝对值是它本身;

2、负数的绝对值是它的相反数;

3、0的绝对值还是0;

例1:

ABS(-10);

例2:

LOG(0)返回空值。

MAX(A,B)

取最大值。

取A,B中较大者。

注:

若A=B,返回值为A或者B的值。

例1:

MAX(CLOSE,OPEN);

融统计函数(25)

ADMA(X,N,P,Q)

考夫曼均值

注:

X为调用的k线数据(例如高、开、低,收)

N为调用的间隔时间

P为快线频率参数

Q为慢线频率参数

算法:

ADMA(X,N,P,Q)=REF(EMA(C,N),1)+CONSTANT*(C-REF(EMA(C,N),1));

CONSTANT根据价格方向、波动性计算得到

价格方向被表示为整个时间段中的净价格变化,简单地计算价格的净变化,从开始点到结束点。

这倾向于最保守的测量,因为它平滑了从开始到结尾之间发生的任何价格移动。

波动性是市场噪音的总数量,计算了时间段内价格变化的总和。

高-低范围更好地描述了在周期内可能产生的任意极端值。

所有变化总和,它是最概括的测量,因为能识别一个价格移动从高到低的次数

方向移动对噪音之比,成为效率系数ER。

ER通过快慢系数转为趋势速度,达到自适应目的

BARSLAST(X)

上一次条件COND成立到当前的周期数。

注:

1、条件成立的当根k线上BARSLAST(COND)的返回值为0

2、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例1:

BARSLAST(OPEN>CLOSE);

.+1*X(N-1))/(N+(N-1)+(N-2)+...+1),X0表示本周期值,X1表示上一周期值

注:

1、当N为有效值,但当前的k线数不足N根,返回值为空值。

2、N为0或空值时返回值为空值。

3、N可以为变量

4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例1:

EMA2(H,5);

.+2^m*ref(x,n-2)+1^m*ref(x,n-1)r\n注意:

1、N为自然数,M为实数;且N与M不能为变量

2、X为基础变量

例1:

r\nJZ:

=NUMPOW(C,5,2)/NUMPOW(1,5,2);

SAR(N,Step,Max)

返回抛物转向值。

注:

1、参数N,Step,Max均不支持变量

例1:

SAR(17,3,30);

...+XN

MMA=SUM1/N

例1:

SMMA(C,5);

.+a[i-n+1]

xsum=i+i-1+..+i-n+1

xxsum=i*i+(i-1)*(i-1)+...+(i-n+1)*(i-n+1)

xysum=i*a[i]+(i-1)*a[i-1]+...+(i-n+1)*a[i-n+1]

k=(xysum-(ysum/n)*xsum)/(xxsum-xsum/n*xsum)

理统计函数(8)

AVEDEV(X,N)

返回X在N周期内的平均绝对偏差。

注:

1、N为有效值,但当前的k线数不足N根,该函数返回空值;

2、N为0时,该函数返回空值;

3、N为空值,该函数返回空值;

4、N不能为变量

例:

AVEDEV(C,5);

数理统计举例说明:

设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。

数列的内容为:

{2766,2805,2814,2886,2885}。

1、算术平均值MA(CLOSE,5):

数据总和除以总个数N。

(2766+2805+2814+2886+2885)/5=。

可以用公式MA(CLOSE,5),从今天的值上看出。

2、偏差:

每个数据,减去算术平均值的结果。

=,=,=,=,=,各偏差相加,应该是等于0的。

3、平均绝对偏差AVEDEV(X,N):

将偏差的绝对值相加,除以总个数N。

++++/5=

4、数据偏差平方和DEVSQ(X,N):

将偏差的平方相加。

2+2+2+2+2=

5、总体样本方差VARP(X,N):

将偏差的平方相加,总和除以总个数N。

用公式可以这样算:

2+2+2+2+2/5=

6、样本方差VAR(X,N):

是总体方差的N/(N-1)倍。

*5/(5-1)=估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。

4.逻辑判断函数(22)

BETWEEN(A,B,C)

表示A是否处于B和C之间,成立返回1(Yes),否则返回0(No)。

注:

1、其中若A=B、A=C、或A=B且B=C时函数返回值为1(Yse)。

例1:

BETWEEN(CLOSE,MA5,MA10);

例2:

N:

=BARSLAST(DATE<>REF(DATE,1))+1;

EXIST(C>MA(C,5),N);

注:

1、N为空值,返回空值。

2、N不能为变量

3、不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用

例1:

FILTER(CLOSE>OPEN,3);

LONGCROSS(A,B,N)

表示A在N个周期内都小于B,本周期A从下向上穿越B

注:

1、当N为有效值,但当前的k线数不足N根,

2、N为空值的情况下,代表不成立,函数返回0

例1:

LONGCROSS(CLOSE,MA(CLOSE,10),20);

间函数(15)

BARPOS

返回从第一根K线开始到当前的周期数。

注:

1:

BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。

2:

本机已有的第一根K线上返回值为1。

例1:

LLV(L,BARPOS);

离收盘的时间仍然以15:

00为基准计算(即使中间遇到正常的周六周日休息,仍然返回值为1080,不计算周六周日的时间)

例1:

CLOSEMINUTE<1,CLOSEOUT;

HOUR

返回某周期的小时数。

注:

HOUR的取值范围为0—23

例1:

DRAWTRENDLINE(HOUR=9,H,HOUR=15,H,COLORGREEN);

例1:

VALUEWHEN(MONTH=3&&DAY=1,C);

2:

该函数应加载在可交易合约上,在夜盘仿真合约上返回值为0,在主力合约上把主力切换时间默认为交割时间来进行计算。

例1:

当NEXTDELIVERYDAY加载在沪铜1309上时,返回值为130923.

例2:

DATE=NEXTDELIVERYDAY&&CLOSEMINUTE=5,CLOSEOUT;

3:

返回数字为1—11分别表示,1分钟,3分钟,5分钟,10分钟,15分钟,30分钟,1小时,1天,1周,1月,1年。

例:

N:

=BARSLAST(DATE<>REF(DATE,1))+1;

OO:

VALUEWHEN(N=1,O);

IFELSE(PERIOD=1,OO,NULL);

4:

TIME函数只能加载在日周期以下的周期中,在日周期及日周期以上的周期中该函数返回值始终未1500。

5:

使用TIME函数进行尾盘平仓的操作需要注意

(1)尾盘平仓设置的时间建议设置为K线返回值中实际可以取到的时间(如:

螺纹指数5分钟周期最后一根K线返回时间为1455,如果尾盘平仓设置为TIME>=1458,CLOSEOUT;则效果测试中不能出现尾盘平仓的信号)

(2)使用TIME函数作为尾盘平仓的条件的,建议开仓条件也要做相应的时间限制(如设置尾盘平仓条件为TIME>=1458,CLOSEOUT;则相应的开仓条件中需要添加条件TIME<1458;避免平仓后再次开仓的情况)

例1:

C>O&&TIME<1450,BK;

C

TIME>=1450,SP;

TIME>=1450,BP;

AUTOFILTER;

图函数(26)

BACKGROUNDSTYLE(i)

设置背景的样式。

用法:

BACKGROUNDSTYLE(i)设置背景的样式。

i=0或1或2。

注:

1.

0是保持本身坐标不变。

1是将坐标固定在0到100之间。

2是将坐标以0为中轴的坐标系。

2、参数i的选择根据想要显示的指标数据范围而定。

例1:

MA5:

MA(C,5);

MA10:

MA(C,10);

BACKGROUNDSTYLE(0);

例2:

DIFF:

EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:

EMA(DIFF,9);

2*(DIFF-DEA),COLORSTICK;

BACKGROUNDSTYLE

(2)

CROSSDOT

小圆圈线。

用法:

CROSSDOT画小圆圈线。

例:

MA5:

MA(C,5),CROSSDOT;用小圆圈线画5日均线。

CIRCLEDOT

画小圆点线。

用法:

CIRCLEDOT画小圆点线。

例:

MA5:

MA(C,5),CIRCLEDOT;用小圆点线画5日均线。

DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2)

根据条件画相应颜色的线

用法:

当满足COND时,DATA为COLOR1颜色的线,不满足COND时,DATA为COLOR2颜色的线

例1:

MA1:

=MA(C,5);

DRAWCOLORLINE(MA1>REF(MA1,1),MA1,COLORRED,COLORGREEN);

例1:

DRAWICON(CLOSE

MA5:

=MA(C,5);

DRAWICON(C>MA5,MA5,'ICO2');

ICON

在k线图上,显示小图标。

用法:

ICON(TYPE,ICON);

当TYPE为1,则在K线最高价位置显示图标ICON,当TYPE为0,则在最低价位置显示

图标ICON。

注:

1、该函数与判断条件连用,如:

COND,ICON(TYPE,ICON);

例1:

CLOSE>OPEN,ICON(1,'ICO1');

线函数(10)

ANGLELING

角度返回值。

用法:

ANGLELINE(COND1,DATA1,COND2,DATA2,RATIO);

从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在角度线段高度比例为RATIO处形成角度线,该函数返回K线对应的角度值。

注:

1.角度值并非角度,而是角度线上当前k线对应的价格。

2.角度线段是指2个点的纵坐标价格差值

3.角度线是以DATA1和角度线段高度比例为RATIO处的2个点连线而成。

4.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值。

例1:

ANGLELINE(C>O,H,O>C,L,1);

势值是k线所在趋势线上对应的价格(此价格可能不在k线上)。

2.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值。

例1:

TRENDLINES(O>C,H,C>O,H);

浪尺值计算公式:

波浪尺值-DATA3=RATIO*(DATA2-DATA1)。

2.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值,最后查找满足COND3的k线DATA3的值。

例1:

WAVERULER(C>O,H,C>O,H,C>O,H,;

度值并非角度,而是角度线上当前k线对应的价格。

2.角度线段是指2个点的纵坐标价格差值

3.角度线是以DATA1和角度线段高度比例为RATIO处的2个点连线而成。

4.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值。

例1:

MA5:

MA(C,5);

MA10:

MA(C,10);

DRAWANGLELINE(CROSS(MA5,MA10),H,CROSS(MA10,MA5),L,,COLORRED);

当前k线向前先找COND1满足的k线DATA1值,再找COND2满足的k线DATA2值。

例1:

DRAWGOLDENLINE(O>C,H,C>O,H,,COLORGREEN);

势值是k线所在趋势线上对应的价格(此价格可能不在k线上)。

2.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值。

例1:

DRAWTRENDLINE(O>C,H,C>O,H,COLORGREEN);

浪尺值计算公式:

波浪尺值-DATA3=RATIO*(DATA2-DATA1)。

2.波浪尺线是以波浪尺值为点画水平线而成。

3.以当前k线向前先找满足COND1的k线DATA1值,再找满足COND2的k线DATA2值,最后查找满足COND3的k线DATA3的值。

例1:

DRAWWAVERULER(C>O,H,C>O,H,C>O,H,,COLORGREEN);

峰波谷统计函数(7)

PEAK

取之子转向的前M个波峰的值。

用法:

PEAK(X,P,M,C)X满足条件P形成之子转向的前M个波峰的值。

C是标记量,取1表示P是百分比数值;取0表示P是绝对数值。

例1:

PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值。

例2:

10%的之字转向的上一个波峰波谷的位置标注相应的值(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T2:

=TROUGH(L,10,1,1);

N2:

=TROUGHBARS(L,10,1,1);

DRAWNUMBER(N1=0,H,P1,2,COLORYELLOW);

DRAWNUMBER(N2=0,L,T2,2,COLORYELLOW);

例3:

根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T1:

=TROUGH(L,10,1,1);

M1:

=TROUGHBARS(L,10,1,1);

DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED);

DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN);

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

PEAKBARS

取之子转向的前M个波峰的位置。

用法:

PEAKBARS(X,P,M,C)取得X满足条件P形成之子转向的前M个波峰的位置。

C是标记量,取1表示P是百分比数值;取0表示P是绝对数值。

注:

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例1:

PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数;

PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数

例2:

10%的之字转向的上一个波峰波谷的位置标注相应的值(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T2:

=TROUGH(L,10,1,1);

N2:

=TROUGHBARS(L,10,1,1);

DRAWNUMBER(N1=0,H,P1,2,COLORYELLOW);

DRAWNUMBER(N2=0,L,T2,2,COLORYELLOW);

例3:

根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T1:

=TROUGH(L,10,1,1);

M1:

=TROUGHBARS(L,10,1,1);

DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED);

DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN);

TROUGH

求之子转向的前M个波谷的值。

用法:

TROUGH(X,P,M,C)X满足条件P形成之子转向的前M个波谷的值。

C是标记量,取1表示P是

百分比数值;取0表示P是绝对数值。

注:

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例1:

TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值;

TROUGH(MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个

波谷的数值

例2:

10%的之字转向的上一个波峰波谷的位置标注相应的值(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T2:

=TROUGH(L,10,1,1);

N2:

=TROUGHBARS(L,10,1,1);

DRAWNUMBER(N1=0,H,P1,2,COLORYELLOW);

DRAWNUMBER(N2=0,L,T2,2,COLORYELLOW);

例3:

根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T1:

=TROUGH(L,10,1,1);

M1:

=TROUGHBARS(L,10,1,1);

DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED);

DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN);

TROUGHBARS

求之子转向的前M个波谷的位置。

用法:

TROUGHBARS(X,P,M,C)求X满足条件P形成之子转向的前M个波谷的位置。

C是标记量,取

1表示P是百分比数值;取0表示P是绝对数值。

注:

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例1:

TROUGHBARS(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数;

TROUGHBARS(MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的

上一个波谷到当前的周期数

例2:

10%的之字转向的上一个波峰波谷的位置标注相应的值(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T2:

=TROUGH(L,10,1,1);

N2:

=TROUGHBARS(L,10,1,1);

DRAWNUMBER(N1=0,H,P1,2,COLORYELLOW);

DRAWNUMBER(N2=0,L,T2,2,COLORYELLOW);

例3:

根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。

P1:

=PEAK(H,10,1,1);

N1:

=PEAKBARS(H,10,1,1);

T1:

=TROUGH(L,10,1,1);

M1:

=TROUGHBARS(L,10,1,1);

DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED);

DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN);

WAVEPEAK

返回K线图波峰位置。

用法:

WAVEPEAK(N)如果当前K线最高价大于前后N根K线的最高价返回1,否则返回0。

N

支持变量。

注:

1、当N为有效值,但当前的k线数不足N根,或者N为空值的情况下,代表不成立,该函数返回0。

2、本函数有未来函数性质。

例1:

WAVEPEAK(10);

来函数

(2)

BACKSET(X,N)

将当前位置到若干周期前的数据设为1。

用法:

BACKSET(X,N),若X非0,则将包含当前位置在内的一共N周期的数值设为1。

注:

1、当N为有效值,但当前的k线数不足N根,按照实际的根数计算;

2、N为0或空值的情况下,返回空值。

3、N可以为变量

4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

例:

BACKSET(CLOSE>OPEN,2);表示当K线收阳时,将该周期及前一周期数值设为1,否则为0

该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);

寸函数(47)

AUTOCLEARSIG

一根K线上信号满60个时,自动对前面的信号进行删除。

清除规则:

1、仅作用于信号执行方式选择为不复核的模型

2.仅作用于模组运行过程中,效果测试及模组加载的历史信号不受该关键字影响。

例:

CLOSE>OPEN,BK;

CLOSE

AUTOFILTER;

AUTOCLEARSIG;

加入了AUTOCLEARSIG关键字,在大周期上一根K线上反复出现信号,满60个时删掉历史所有信号只保留最后的60个信号;

若不加入AUTOCLEARSIG关键字,当信号满60个时,模组自动停止运行

A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1