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

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

举报
开通vip

麦语言自编策略模型函数列表---.word.zl-....文章.麦语言自编策略模型函数列表文华财经资讯XX“麦语言〞源于2004年文华推出的国内第一套程序化函数库,经过8年的开展,吸收几十万用户的意见反应,一点一点完善起来的,是一套成熟稳定的模型开发平台。麦语言,是国内使用人数最多的程序化模型开发平台。麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数〞的构建模式。语法虽然简单,但是配合专门的程序化数据构造,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。麦语言的函数库,是经常更新的,根据客户的新...

麦语言自编策略模型函数列表
---.word.zl-....文章.麦语言自编策略模型函数列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 文华财经资讯XX“麦语言〞源于2004年文华推出的国内第一套程序化函数库,经过8年的开展,吸收几十万用户的意见反应,一点一点完善起来的,是一套成熟稳定的模型开发平台。麦语言,是国内使用人数最多的程序化模型开发平台。麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数〞的构建模式。语法虽然简单,但是配合专门的程序化数据构造,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 TOC\o"1-2"\h\z\uHYPERLINK\l"_Toc373238647"自编策略模型支持的函数PAGEREF_Toc373238647\h2HYPERLINK\l"_Toc373238648"1.数学运算〔24〕PAGEREF_Toc373238648\h2HYPERLINK\l"_Toc373238649"2.金融统计函数〔25〕PAGEREF_Toc373238649\h6HYPERLINK\l"_Toc373238650"3.数理统计函数〔8〕PAGEREF_Toc373238650\h13HYPERLINK\l"_Toc373238651"4.逻辑判断函数〔22〕PAGEREF_Toc373238651\h16HYPERLINK\l"_Toc373238652"5.时间函数〔15〕PAGEREF_Toc373238652\h21HYPERLINK\l"_Toc373238653"6.绘图函数〔26〕PAGEREF_Toc373238653\h25HYPERLINK\l"_Toc373238654"7.画线函数〔10〕PAGEREF_Toc373238654\h32HYPERLINK\l"_Toc373238655"8.波峰波谷统计函数〔7〕PAGEREF_Toc373238655\h38HYPERLINK\l"_Toc373238656"9.未来函数〔2〕PAGEREF_Toc373238656\h42HYPERLINK\l"_Toc373238657"10.头寸函数〔47〕PAGEREF_Toc373238657\h43HYPERLINK\l"_Toc373238658"11.历史数据引用〔18〕PAGEREF_Toc373238658\h68HYPERLINK\l"_Toc373238659"12.日内高频数据引用〔46〕PAGEREF_Toc373238659\h72HYPERLINK\l"_Toc373238660"13.引用其他合约价格〔1〕PAGEREF_Toc373238660\h77HYPERLINK\l"_Toc373238661"14.颜色常数PAGEREF_Toc373238661\h78自编策略模型支持的函数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取值X围[-1,1]。2、假设X不在取值X围,返回值为空值。例1:ACOS(-1);//求-1的反余弦值;例2:ACOS(1);//求1的反余弦值;ASIN(X)求X的反正弦值注:1、X取值X围[-1,1]。2、假设X不在取值X围,返回值为空值。例1:ASIN(-1);//求-1的反正弦值;例2:ASIN(1);//求1的反正弦值;ATAN(X)求X的反正切值注:X的取值为R〔实数集〕例1:ATAN(-1.75);//求-1.75的反正切值;例2:ATAN(1.75);//求1.75的反正切值;COS(X)返回X的余弦值注:1、X的取值为R〔实数集〕2、值域为[-1,1]例1:COS(-1.57);//返回-1.57的余弦值例2:COS(1.57);//返回1.57的余弦值EXP(X)返回e的X次幂例1:C*EXP(0.01);//求收盘价乘以e的0.01次幂CUBE(X)返回X的三次方。例1:CUBE(4);//求4的立方。CEILING(X)向上舍入,返回沿A数值增大方向最接近的整数,假设A为整数,那么返回值为A。例1:CEILING(2.1);//求得3。例2:CEILING(-8.8);//求得-8。例3:CEILING(C*1.01);//求收盘价的1.01倍向上取整例4:IFELSE(C-INTPART(C)>=0.5,CEILING(C),FLOOR(C));//对收盘价四舍五入后取整数局部FLOOR(X)向下舍入,返回沿A数值减小方向最接近的整数,假设A为整数,那么返回值为A。注:FLOOR(A)返回沿A数值减小方向最接近的整数,假设A为整数,那么返回值为A。例1:FLOOR(2.1);//返回值为2;例2:FLOOR(-8.8);//返回值为-9;例3:FLOOR(5);//返回值为5;例4:IFELSE(C-INTPART(C)>=0.5,CEILING(C),FLOOR(C));//对收盘价四舍五入后取整数局部。INTPART(X)取X的整数局部。例1:INTPART(12.3);//返回值为12;例2:INTPART(-3.5);//返回值为-3;例3:INTPART(10);//返回值为10;例5:INTPART(C);//求收盘价的整数局部。LN(X)求X的自然对数。注:1、X取值X围为非0自然数,即1、2、3、4、5……2、假设X取值为0或负数,返回值为空值。例:LN(OPEN);//求开盘价的对数。LOG(X)求X的常用对数值。注:1、该函数中X的取值X围为X>02、0和负数没有对数,X为0或负数时返回值为空值。例1:LOG(100)返回2.例2:LOG(0)返回空值。MAX(A,B)取最大值。取A,B中较大者。注:假设A=B,返回值为A或者B的值。例1:MAX(CLOSE,OPEN);//表示取开盘价和收盘价中较大者。例2:MAX(CLOSE-OPEN,0);//表示假设收盘价大于开盘价返回它们的差值,否那么返回0。例3:MAX(A,MAX(B,MAX(C,D)));//求ABCD四者中的最大值MIN(A,B)取最小值。取A,B中较小者。注:假设A=B,返回值为A或者B的值。例1:MIN(OPEN,CLOSE);//表示取开盘价和收盘价中的较小者。例2:MIN(C,MIN(O,REF(C,1)));//求当前周期的开盘价,收盘价,以及上周期的收盘价间最小的数值MOD(A,B)取模。返回A对B求模。例1:MOD(26,10);//返回6,26除以10所得余数为6,即26对10的模为6。例2:DRAWICON(MOD(BARPOS,3)=0,H,'ICO1');//从数据开场第一根k线开场分别在第3、6、9、12等k线依次往后每隔3根k线标注一个笑脸图案例3:MOD(A,2)=0;//判断A为偶数。NOT(X)取非。当X=0时返回1,否那么返回0。例1:NOT(ISLASTBK);如果上一个信号不是BK信号,,那么NOT(ISLASTBK)返回值为1;如果上一个信号是BK信号,那么NOT(ISLASTBK)返回值为0。例2:NOT(BARSBK>=1)=1;//BK信号发出的当根K线上满足条件。//NOT(BARSBK>=1)=1与NOT(BARSBK>=1)表达同等意义。POW(A,B)求X的Y次幂。注:当X为负数时,Y必须为整数,因为底数为负时,不能进展开方运算,返回值为空值。例1:POW(CLOSE,2);//求得收盘价的2次方。例2:POW(10,2);//返回值为100例3:POW(1/2,-2);//返回值为4例4:POW(100,1/2);//返回值为10REVERSE(X)取相反值,返回-X。例1:REVERSE(LOW);//返回-LOW。例2:REVERSE(-55);//返回值为55例3:REVERSE(0);//返回值为0RANGE(A,B,C)介于某个X围之内。表示A大于B同时小于C时返回1,否那么返回0例1:RANGE(5,4,6);//返回值为1;例2:RANGE(8,3,6);//返回值为0;例3:MA5:MA(C,5);MA10:MA(C,10);MA20:MA(C,20);RANGE(MA10,MA20,MA5),BK;//10周期均线在5周期均线与20周期均线之间买开仓//RANGE(MA10,MA20,MA5)=1,BK;与RANGE(MA10,MA20,MA5),BK;表达同等意义SGN(X)取符号。假设X>0返回1,假设X<0返回-1,否那么返回0。例1:SGN(5);//返回值为1例2:SGN(-5);//返回值为-1例3:SGN(0);//返回值为0SIN(X)求X的正弦值。注:1、X的取值为R〔实数集〕;2、值域为(-1,1)。例1:SIN(-1.57);//返回-1.57的正弦值例2:SIN(1.57);//返回1.57的正弦值SQRT(X)求X的平方根。注:X的取值为正数,X为负数时返回空值。例1:SQRT(CLOSE);//收盘价的平方根。SQUARE(X)求X的平方。例1:SQUARE(C);//收盘价的平方。例2:SQUARE(2);//2的平方。TAN(X)返回X的正切值。例1:TAN(0);//返回0的正切值;例2:TAN(-3.14);//返回-3.14的正切值。2.金融统计函数〔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根据价格方向、波动性计算得到价格方向被表示为整个时间段中的净价格变化,简单地计算价格的净变化,从开场点到完毕点。这倾向于最保守的测量,因为它平滑了从开场到结尾之间发生的任何价格移动。波动性是市场噪音的总数量,计算了时间段内价格变化的总和。高-低X围更好地描述了在周期内可能产生的任意极端值。所有变化总和,它是最概括的测量,因为能识别一个价格移动从高到低的次数方向移动对噪音之比,成为效率系数ER。ER通过快慢系数转为趋势速度,到达自适应目的BARSLAST(X)上一次条件COND成立到当前的周期数。注:1、条件成立的当根k线上BARSLAST(COND)的返回值为02、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请慎重使用!例1:BARSLAST(OPEN>CLOSE);//上一根阴线到现在的周期数。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,当日k线数。//由于条件成立的当根k线上BARSLAST(COND)的返回值为0,所以“+1〞才是当日k线根数。BARSLASTCOUNT(COND)从当前周期向前计算,统计连续满足条件的周期数。注:1、返回值为从当前周期计算COND连续不为0的周期数2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1例:BARSLASTCOUNT(CLOSE>OPEN);//计算当根K线在内连续为阳线的周期数BARSSINCE(COND)第一个条件成立到当前的周期数。注:1、返回值为COND第一次成立到当前的周期数2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0例:BARSSINCE(CLOSE>OPEN);//统计第一次满足阳线这个条件的K线到现在的周期数COUNT(X,N)统计N周期中满足COND条件的周期数。注:1、假设N为0那么从第一个有效值算起;2、当N为有效值,但当前的k线数缺乏N根,从第一根统计到当前周期。3、N为空值时返回值为空值。4、N可以为变量例1:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,当日k线数。M:COUNT(ISUP,N);//统计分钟周期上开盘以来阳线的根数。例2:MA5:=MA(C,5);//定义5周期均线MA10:=MA(C,10);//定义10周期均线M:COUNT(CROSSUP(MA5,MA10),0);//统计从申请到的行情数据以来到当前这段时间内,5周期均线上穿10周期均线的次数。CONDBARS(A,B)取得最近的满足A、B条件的k线间周期数注意:1、该函数返回周期数不包含最后满足条件的K线2、如果距离当前K线最近的满足的条件为B条件,那么该函数返回值为最后一次满足A条件的K线到满足B条件的K线的周期数〔A条件满足后的第一次满足B条件的K线〕如果距离当前K线最近的满足的条件为A条件,那么该函数返回值为最后一次满足B条件的K线到满足A条件的K线的周期数〔B条件满足后的第一次满足A条件的K线〕例1:MA5:=MA(C,5);//5周期均线MA10:=MA(C,10)//;10周期均线CONDBARS(CROSSUP(MA5,MA10),CROSSDOWN(MA5,MA10));//最近一次满足5周期均线上穿10周期均线与5周期均线下穿10周期均线之间的周期数DMA(X,A)求X的动态移动平均,其中A必须小于1大于0。注:A可以为变量计算公式:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值例1:DMA3:=DMA(C,0.3);//计算结果为REF(DMA3,1)*(1-0.3)+C*0.3EMA(X,N)求N周期X值的指数移动平均〔平滑移动平均〕。注:1、对距离当前较近的k线赋予了较大的权重。2、当N为有效值,但当前的k线数缺乏N根,按实际根数计算。3、N为0或空值时返回值为空值。4、N可以为变量EMA==2*X/(N+1)+(N-1)*EMA(N-1)]/(N+1)举例:X1=6X2=7X3=8X4=9那么EMA(X,4)=2/5*X4+3/10*X3+3/15*X2+3/30*X1=4/10*9+3/10*8+2/10*7+1/10*6=8例1:EMA10:=EMA(C,10);//求收盘价10周期平滑移动平均值EMA2(X,N)求N周期X值的线性加权平均〔也称WMA〕EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2)+...+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);//求最高价在5个周期的加权移动平均值。EMAWH(C,N)指数移动平均,也叫平滑移动平均,采用指数加权 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,对距离当前较近的K线赋予了较大的权重。注:1、当N为有效值,当前的k线数缺乏N根时,或者前面周期的取值仍作用于当前周期时,EMAWH返回值为空值因为EMAWH计算公式中着重考虑了当周期的权重,所以当周期较长,前面的周期取值对当前的影响越小,EMAWH从前面数据对当前周期不再影响时的取值开场显示,所以即使选择的数据起始时间不同,当前已经显示的K线的EMAWH的取值也不会发生变化2、当N为0或空值时返回值均为空值3、N不能为变量EMAWH==2*X/〔N+1〕+(N-1)*EMAWH(N-1)〕/(N+1)HHV(X,N)求X在N个周期内的最高值。注:1、假设N为0那么从第一个有效值开场算起;2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算;3、N为空值时,返回空值。4、N可以是变量。例1:HH:HHV(H,4);//求4个周期最高价的最大值,即4周期高点〔包含当前k线〕。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数HH1:=HHV(H,N);//在分钟周期上,日内高点HV(X,N)求X在N个周期内〔不包含当前k线〕的最高值。注:1、假设N为0那么从第一个有效值开场算起(不包含当前K线);2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算,第一根k线返回空值;3、N为空值时,返回空值。4、N可以是变量。例1:HH:HV(H,10);//求前10根k线的最高点。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;NN:=REF(N,N);ZH:VALUEWHEN(DATE<>REF(DATE,1),HV(H,NN));//在分钟周期上,求昨天最高价。例3:HV(H,5)和REF(HHV(H,5),1)的结果是一样的,用HV编写更加方便。HHVBARS(X,N)求N周期内X最高值到当前周期数注:1、假设N为0那么从第一个有效值开场算起(不包含当前K线);2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算,第一根k线返回空值;3、N为空值时,返回空值。4、N可以是变量。例1:HHVBARS(VOL,0);求历史成交量最大的周期到当前的周期数〔最大值那根k线上HHVBARS(VOL,0);的返回值为0,最大值后的第一根k线返回值为1,依次类推〕。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数ZHBARS:REF(HHVBARS(H,N),N);//在分钟周期上,求昨天最高价所在的k线到当前k线之间的周期数。LLV(X,N)求X在N个周期内的最小值。注:1、假设N为0那么从第一个有效值开场算起;2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算;3、N为空值时,返回空值。4、N可以是变量。例1:LL:LLV(L,5);//求5根k线最低点〔包含当前k线〕。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数LL1:=LLV(L,N);//在分钟周期上,求当天第一根k线到当前周期内所有k线最低价的最小值。LV(X,N)求X在N个周期内的最小值〔不包含当前k线〕注:1、假设N为0那么从第一个有效值开场算起;2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算;3、N为空值时,返回空值。4、N可以是变量。例1:LL:LV(L,10);//求前面10根k线的最低点。〔不包含当前k线〕例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数ZL:VALUEWHEN(DATE<>REF(DATE,1),LV(L,N));//在分钟周期上,求昨天最低价。例3:LV(L,5)和REF(LLV(L,5),1)的结果是一样的,用LV编写更加方便。LLVBARS(X,N)求N周期内X最低值到当前周期数注:1、假设N为0那么从第一个有效值开场算起(不包含当前K线);2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算,第一根k线返回空值;3、N为空值时,返回空值。4、N可以是变量。例1:LLVBARS(VOL,0);求历史成交量最小的周期到当前的周期数〔最小值那根k线上LLVBARS(VOL,0);的返回值为0,最小值后的第一根k线返回值为1,依次类推〕。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数ZLBARS:REF(LLVBARS(L,N),N);//在分钟周期上,求昨天最低价所在的k线到当前k线之间的周期数。MA(X,N)求X在N个周期内的简单移动平均算法:MA(X,5)=(X1+X2+X3+X4+X5)/5注:1、简单移动平均线沿用最简单的统计学方式,将过去某特定时间内的价格取其平均值。2、当N为有效值,但当前的k线数缺乏N根,函数返回空值。3、N为0或空值的情况下,函数返回空值。4、N可以为变量例1:MA5:=MA(C,5);//求5周期收盘价的简单移动平均。例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数M:=IFELSE(N>10,10,N);//如果k线超过10根,M取10,否那么M取实际根数MA10:MA(C,M);//在分钟周期上,如果当天k线缺乏10根,按照实际根数计算MA10,如果超过10根按照10周期计算MA10。NUMPOW(X,N,M)自然数幂方和算法:NUMPOW(x,n,m)=n^m*x+(n-1)^m*ref(x,1)+(n-2)^m*ref(x,2)+...+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);//表示计算17个周期抛物转向,步长为3%,极限值为30%SMA(X,N,M)求X的N个周期内的移动平均。M为权重。计算公式:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N注:1、当N为有效值,但当前的k线数缺乏N根,按实际根数计算。2、N为0或空值的情况下,函数返回空值。例1:SMA10:=SMA(C,10,3);//求的10周期收盘价的移动平均。权重为3。SMMA(X,N)X为变量,N为周期,SMMA(X,N)表示当前K线上X在N个周期的通畅移动平均线算法:SMMA(X,N)=(SUM1-MMA+CLOSE)/N其中SUM1=X1+X2+.....+XNMMA=SUM1/N例1:SMMA(C,5);//收盘价的5周期通畅移动平均线SUM(X,N)求X在N个周期内的总和。注:1、假设N为0那么从第一个有效值开场算起。2、当N为有效值,但当前的k线数缺乏N根,按照实际的根数计算。3、N为空值时,返回空值。4、N可以为变量。例1:SUM(VOL,25);表示统计25周期内的成交量总和例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数SUM(VOL,N);//分钟周期上,取当天成交量总和。SUMBARS(X,A)求累加到指定值的周期数例1:SUMBARS(VOL,20000);将成交量向前累加直到大于等于20000,返回这个区间的周期数。TRMA(X,N)求X在N个周期的三角移动平均值。算法:三角移动平均线公式,是采用算数移动平均,并且对第一个移动平均线再一次应用算数移动平均。TRMA(X,N)算法如下ma_half=MA(X,N/2)trma=MA(ma_half,N/2)注:1、当N为有效值,但当前的k线数缺乏N根,函数返回空值。2、N为0或空值的情况下,函数返回空值。3、N支持使用变量例1:TRMA5:TRMA(CLOSE,5);//计算5个周期内收盘价的三角移动平均。(N不能被2整除)//TRMA(CLOSE,5)=MA(MA(CLOSE,(5+1)/2)),(5+1)/2);例2:TRMA10:TRMA(CLOSE,10);//计算10个周期内收盘价的三角移动平均。(N能被2整除)TRMA(CLOSE,10)=MA(MA(CLOSE,10/2),(10/2)+1));TSMA(X,N)求X在N个周期内的时间序列三角移动平均TSMA(a,n)算法如下:ysum=a[i]+a[i-1]+...+a[i-n+1]xsum=i+i-1+..+i-n+1xxsum=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)//斜率b=ysum/n-k*xsum/nforcast[i]=k*i+b//线性回归tsma[i]=forcast[i]+k//线性回归+斜率注:1、当N为有效值,但当前的k线数缺乏N根,函数返回空值。2、N为0或空值的情况下,函数返回空值。3、N支持使用变量例1:TSMA5:TSMA(CLOSE,5);//计算5个周期内收盘价的序列三角移动平均3.数理统计函数〔8〕AVEDEV(X,N)返回X在N周期内的平均绝对偏差。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值;4、N不能为变量例:AVEDEV(C,5);//返回收盘价在5周期内的平均绝对偏差。//表示5个周期内每个周期的收盘价与5周期收盘价的平均值的差的绝对值的平均值,判断收盘价与其均值的偏离程度DEVSQ(X,N)计算数据X的N个周期的数据偏差平方和。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值;4、N不支持为变量例:DEVSQ(C,5);计算数据收盘价5个周期的数据偏差平方和。//表示平均绝对偏差分别平方之后求和,DEVSQ(C,5)表示5个周期的平均绝对偏差分别平方之后求和。FORCAST(X,N)为X的N周期线性回归预测值。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值;4、N可以是变量例:FORCAST(CLOSE,5);//表示求5周期线性回归预测值SLOPE(X,N)得到X的N周期的线型回归的斜率。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值。4、N可以为变量例:SLOPE(CLOSE,5);表示求收盘价5个周期线性回归线的斜率STD(X,N)求X在N个周期内的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 差。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值。4、N可以为变量例:STD(C,10)求收盘价在10个周期内的标准差。//标准差表示总体各单位标准值与其平均数离差平方的算术平均数的平方根,它反映一个数据集的离散程度。STD(C,10)表示收盘价与收盘价的10周期均线之差的平方和的平均数的算术平方根。标准差是样本方差的平方根。STDP(X,N)为X的N周期总体标准差。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值。4、N可以为变量例:STDP(C,10)为收盘价的10周期总体标准差。//总体标准差是反映研究总体内个体之间差异程度的一种统计指标,总体方差是一组资料中各数值与其算术平均数离差平方和的平均数,总体标准差那么是总体方差的平方根。VAR(X,N)求X在N周期内的样本方差。注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值;4、N支持使用变量例1:VAR(C,5)求收盘价在5周期内的样本方差。//表示总体方差的N/(N-1)倍,VAR(C,5)表示收盘价的5周期总体样本方差的5/4倍。VARP(X,N)为X的N周期总体样本方差注:1、N为有效值,但当前的k线数缺乏N根,该函数返回空值;2、N为0时,该函数返回空值;3、N为空值,该函数返回空值;4、N支持使用变量例:VARP(C,5)为收盘价的5周期总体样本方差//表示数据偏差平方和除以总周期数N,VARP(C,5)表示收盘价5个周期的数据偏差平方和除以5.数理统计举例说明:设一个数列,数列中数据的总个数为N,以今天〔2005-10-14〕五天内的A0605收盘价为例,N就为5。数列的内容为:{2766,2805,2814,2886,2885}。1、算术平均值MA(CLOSE,5):数据总和除以总个数N。(2766+2805+2814+2886+2885)/5=2831.20。可以用公式MA(CLOSE,5),从今天的值上看出。2、偏差:每个数据,减去算术平均值的结果。2766-2831.20=-65.2,2805-2831.20=-26.2,2814-2831.20=-17.2,2886-2831.20=54.8,2885-2831.20=53.8,各偏差相加,应该是等于0的。3、平均绝对偏差AVEDEV(X,N):将偏差的绝对值相加,除以总个数N。(65.2+26.2+17.2+54.8+53.8)/5=43.444、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。(-65.2)2+(-26.2)2+(-17.2)2+(54.8)2+(53.8)2=11130.805、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算:(-65.2)2+(-26.2)2+(-17.2)2+(54.8)2+(53.8)2/5=2226.166、样本方差VAR(X,N):是总体方差的N/(N-1)倍。2226.16*5/(5-1)=2782.70估算样本方差,总比总体样本方差大一点,当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);//表示收盘价介于5日均线与10日均线之间。CROSS(X,Y)表示A从下方向上穿过B,成立返回1(Yes),否那么返回0(No)注:1、满足穿越的条件必须上根k线满足A<=B,当根k线满足A>B才被认定为穿越。例1:CROSS(CLOSE,MA(CLOSE,5));//表示收盘线从下方向上穿过5周期均线CROSSUP(A,B)表当A从下方向上穿过B,成立返回1(Yes),否那么返回0(No)注:1、CROSSUP(A,B)等同于CROSS(A,B),CROSSUP(A,B)编写更利于理解。例1:MA5:=MA(C,5);MA10:=MA(C,10);CROSSUP(MA5,MA10),BK;//MA5上穿MA10,买开仓。//CROSSUP(MA5,MA10),BK;与CROSSUP(MA5,MA10)=1,BK;表达同等意义CROSSDOWN(A,B)表示当A从上方向下穿B,成立返回1(Yes),否那么返回0(No)注:1、CROSSDOWN(A,B)等同于CROSS(B,A),CROSSDOWN(A,B)编写更利于理解例1:MA5:=MA(C,5);MA10:=MA(C,10);CROSSDOWN(MA5,MA10),SK;//MA5下穿MA10卖开仓//CROSSDOWN(MA5,MA10),SK;与CROSSDOWN(MA5,MA10)=1,SK;表达同等意义CROSS2(A,B)表示N个周期内当A从下方向上穿B偶数次。赢顺不支持注:1、假设N为0,那么从第一个有效的值开场算。2、当N为有效值,但当前的k线数缺乏N根,或者N空值的情况下,代表不成立,该函数返回0例1:MA5:=MA(C,5);CROSS2(C,MA5,10)返回值为1(Yes),表示当前周期是10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次;返回值为0(No),表示当前周期不是10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次DIVERGENCE(X1,X2,S,L,HL)变量X1与X2在指定周期内是否发生背离用法:S:设置转折点两边需要的周期数,取值应小于L的四分之一;S不可以为变量;L:计算的总的X围的周期数;L不可以为变量。HL:可以取值为1和-11表示根据X1的峰值判断背离情况;X1在L周期内波峰取值创了新高,但X2在X1峰值对应的取值没有创新高,熊背离,或称顶背离-1表示计算波谷点,X1在L周期内波谷取值创了新低,但X2在X1波谷对应的取值没有创新低,牛背离,或称底背离;例1:MA10:MA(C,10);DIVERGENCE(C,MA10,2,20,1);//在20个周期内,收盘价与5周期均线存在顶背离说明:收盘价峰值的判断标准--收盘价大于前2个周期的收盘价,并且大于后2个周期的收盘价,认为为收盘价的峰值;即在当根K线前面的20个周期〔不包含当根K线〕内,收盘价存在两个这样的峰值,且峰值创了新高,但是在两个峰值对应K线取到的10周期均线照的值未创新高EVERY(COND,N)判断N周期内,是否一直满足COND条件。假设满足函数返回值为1,不满足函数返回值为0;注:1、N包含当前k线。2、假设N是有效数值,但前面没有那么多K线,或者N为空值,代表条件不满足,函数返回值为0。3、N可以是变量例1:EVERY(CLOSE>OPEN,5);//表示5个周期内一直是阳线例2:MA5:=MA(C,5);//定义5周期均线MA10:=MA(C,10);//定义10周期均线EVERY(MA5>MA10,4),BK;//4个周期内MA5都大于MA10,那么买开仓。//EVERY(MA5>MA10,4),BK;与EVERY(MA5>MA10,4)=1,BK;表达同等意义EXIST(COND,N)判断N个周期内是否有满足COND的条件(包含当前周期)注:1、N可以是变量。2、假设N是有效数值,但前面没有那么多K线,或者N为空值,代表条件不满足,该函数返回值为0例1:EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价,存在返回1,不存在那么返回0.例2:N:=BARSLAST(DATE<>REF(DATE,1))+1;EXIST(C>MA(C,5),N);//表示当天是否有满足收盘价大于5周期均线的k线,存在返回1,不存在返回0FILTER(COND,N)当COND条件成立,将其后N周期内的数据设置为0.注:1、N为空值,返回空值。2、N不能为变量3、不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用例1:FILTER(CLOSE>OPEN,3);//查找阳线,3天内再次出现的阳线不被记录在内IFELSE(COND,A,B)假设COND条件成立,那么返回A,否那么返回B注:1、COND是判断条件;A、B可以是条件,也可以是数值。例1:IFELSE(ISUP,H,L);//如果k线为阳线,取最高价,否那么取最低价例2:A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0));//当MA5>MA10时,取是否满足DIFF上穿DEA,否那么(MA5不大于MA10),当K,D死叉时,令A赋值为2,假设上述条件都不满足,A赋值为0A=1,BPK;//当MA5>MA10,以DIFF上穿DEA作为开多仓条件A=2,SPK;//当MA5不大于MA10,以K、D死叉作为开空仓条件ISDOWN判断该周期是否收阴注:1、ISDOWN等同于C=1000,CLOSEOUT;//如果当根k线是交割日并且时间是10:00,那么全平。ISLASTBAR判断该周期是否为最后一根k线注:1、该函数属于未来函数。例1:VALUEWHEN(ISLASTBAR=1,REF(H,1));//如果当前k线是最后一根k线,那么取前一周期的最高价。ISLASTKLINE判断该周期是否为每日收盘前最后一根k线,返回是1〔Yes〕,否那么返回0〔No〕。例1:ISLASTKLINE=1,CLOSEOUT;//如果该周期是当日收盘前最后一根k线,那么全平ISUP判断该周期是否收阳注:1、ISUP等同于C>O例:ISUP=1&&C>REF(C,1),BK;//如果当根k线收阳并且收盘价大于前一周期收盘价,那么开多//ISUP=1&&C>REF(C,1),BK;与ISUP&&C>REF(C,1),BK;//表达同等意义KLINEEND判断K线当前状态是否是K线完毕。用法:1、KLINESTART如果当前K线状态为K线的完毕,那么返回1,否那么返回0。2、模组运行及效果测试选择信号执行方式为“不进展信号复核〞时,可以采用该函数来控制信号出现的时间KLINESTART判断K线当前状态是否是K线开场。用法:1、KLINESTART如果当前K线状态为K线的开场,那么返回1,否那么返回0。2、模组运行及效果测试选择信号执行方式为“不进展信号复核〞时,可以采用该函数来控制信号出现的时间LAST(COND,N1,N2)判断过去N1到N2周期内,是否一直满足COND条件。注:1、假设N1与N2只相差一个周期〔如N1=3,N2=2〕,那么函数判断距离当前K线最近的那个周期上是否满足条件〔即判断过去N2个周期的那根K线上是否满足条件〕2、当N为有效值,但当前的k线数缺乏N根,或者N空值的情况下,代表不成立,该函数返回03、N可以是变量。例1:LAST(CLOSE>OPEN,10,5);//表示从过去第10个周期到第5个周期内一直是阳线例2:MA5:=MA(C,5);LAST(C>MA5,4,3);//判断距离当前k线3个周期的那根k线上是否满足C大于MA5.LONGCROSS(A,B,N)表示A在N个周期内都小于B,本周期A从下向上穿越B注:1、当N为有效值,但当前的k线数缺乏N根,2、N为空值的情况下,代表不成立,函数返回0例1:LONGCROSS(CLOSE,MA(CLOSE,10),20);//表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线TREND获取K线趋势。用法:1:TREND如果K线的形成过程中最高价先出现,那么返回值为3;如果最低价先出现,那么返回值为2;假设最高和最低一起出现,那么返回值为1;默认为0。2:该函数只支持效果测试和模组运行。VALUEWHEN(COND,DATA)当COND条件成立时,取X的当前值。如COND条件不成立,那么取上一次COND条件成立时X的值。注:X可以是数值也可以是条件。例1VALUEWHEN(HIGH>REF(HHV(HIGH,5),1),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价例2:VALUEWHEN(DATE<>REF(DATE,1),O);表示取当天第一根k线的开盘价〔即当天开盘价〕例3:VALUEWHEN(DATE<>REF(DATE,1),L>REF(H,1));表示在当天第一根k线上判断当前最低价是否大于昨天最高价。如果返回1,说明当天跳空高开。返回0,说明当天不满足跳空高开条件。5.时间函数〔15〕BARPOS返回从第一根K线开场到当前的周期数。注:1:BARPOS返回本地已有的K线根数,从本机上存在的数据开场算起。2:本机已有的第一根K线上返回值为1。例1:LLV(L,BARPOS);//求本地已有数据的最小值。例2:IFELSE(BARPOS=1,H,0);//如果当前K线是本机已有的第一根K线取最高值,否那么取0。CLOSEMINUTE返回距离收盘前的分钟数。注:1:该函数返回分钟数,不支持小数。2:该函数包含小结和午休的时间,以商品期货为例,当天第一根K线CLOSEMINUTE返回为360。3:CLOSEMINUTE适合应用于日线以下的周期,在日线上加载此函数,每根K线的返回值都为1。4:CLOSEMINUTE返回的是交易所的时间,不是本机的时间。5:CLOSEMINUTE支持XX夜盘使用,例如:沪金指数1分钟21:00开盘当根K线CLOSEMINUTE返回为1080.距离收盘的时间仍然以15:00为基准计算〔即使中间遇到正常的周六周日休息,仍然返回值为1080,不计算周六周日的时间〕例1:CLOSEMINUTE<1,CLOSEOUT;//收盘前一分钟,清仓。例2:NN:BARSLAST(CLOSEMINUTE=120)+1;OO:VALUEWHEN(DATE<>REF(DATE,1),O);AA:COUNT(H>OO,NN)=3;//统计从下午13:00开场,相对于当天的开盘价OO,创新高的次数为3次。DATE返回某周期的日期数。注:1:DATE的取值X围为700101-331231(即1970年1月1日—2033年12月31日)。2:DATE返回六位数字,YYMMDD,3:DATE支持XX夜盘的使用,例如:2013年7月8日21:00夜盘开盘,DATE返回值即为130709,返回的为收盘时对应的日期,即数据所属的交易的日期〔周五周六晚上的数据返回的日期为下周一的日期〕例1:BARSLAST(DATE<>REF(DATE,1))+1;//当天开盘以来共有多少根K线。例2:AA:DATE=130507&&TIME=1037;HH:VALUEWHEN(AA=1,H);//取7分钟位置,同时取7分钟k线位置最高价DAY返回某一周期的日数。注:DAY取值X围为1-31。例1:DAY=3&&TIME=0915,BK;//当日起为3日,时间为9点15分时,买开。例2:N:BARSLAST(DATE<>REF(DATE,1))+1;CC:IFELSE(DAY=1,VALUEWHEN(N=1,O),0);//当日期为1时,取开盘价,否那么取值为0.HOUR返回某周期的小时数。注:HOUR的取值X围为0—23例1:DRAWTRENDLINE(HOUR=9,H,HOUR=15,H,COLORGREEN);//连接9点到下午3点的最高点画一条绿色的趋势线。例2:HOUR=10;//在10:00的K线上返回值为1,其余K线上返回值为0。MINUTE返回某个周期的分钟数。注:1:MINUTE的取值X围为0—592:该函数只能加载在分钟周期上,返回当根K线开场的分钟数。例1:MINUTE=0;//在整点时刻的分钟K线上返回值为1,其余K线返回这为0。例2:TIME>1400&&MINUTE=50,SP;//在14:50的时候卖平仓。MONTH返回某个周期的月份。注:MONTH的取值X围为1—12.例1:VALUEWHEN(MONTH=3&&DAY=1,C);//在K线日期为三月一日时取其收盘价。例2:C>=VALUEWHEN(MONTH110000;//表示最后一次买开成交时间在11点之后SHORT_TIME取模组最后一次空头成交的时间。注:1:返回的为本机时间。2:该函数不支持效果测试,只能用于模组运行。3:SHORT_TIME返回的数值为六位数,即HHMMSS的形式。例:SHORT_TIME>110000;//表示最后一次空头成交时间在11点之后NOW_TIME取本地时间。注:1:返回的是本机时间。2:该函数不支持效果测试,只能用于模组运行。3:NOW_TIME函数返回六位数,即HHMMSS的形式。例:NOW_TIME>=150815,CLOSEOUT;//本机时间大于15点8分15秒,清仓。MONTH取得当前周期的月数〔1-12〕。NEXTDELIVERYDAY返回当前品种往后最近的交割日期。注:1:该函数只能加载在日周期及日周期以下的周期上,在日周期以上的周期该函数返回值为0.2:该函数应加载在可交易合约上,在夜盘仿真合约上返回值为0,在主力合约上把主力切换时间默认为交割时间来进展计算。例1:当NEXTDELIVERYDAY加载在沪铜1309上时,返回值为130923.例2:DATE=NEXTDELIVERYDAY&&CLOSEMINUTE=5,CLOSEOUT;//距交割日收盘前五分钟时清仓。PERIOD返回当前技术分析图表的周期。注:1:该函数暂不支持自定义周期。2:该函数在秒周期上返回值为0.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);//取当天一分钟周期的开盘价。TIME取K线时间。注:1:该函数在盘中实时返回,在K线走完后返回K线的起始时间。2:该函数返回的是交易所数据接收时间,也就是交易所时间。3:TIME函数在秒周期使用时返回六位数的形式,即:HHMMSS,在其他周期上显示为四位数的形式,即:HHMM.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=1450,SP;TIME>=1450,BP;AUTOFILTER;//在14:50后平仓。例2:ISLASTSK=0&&C>O&&TIME>=0915,SK;WEEKDAY取得星期数。注:1:WEEKDAY的取值X围是0—6。2:该函数在周周期上显示的值始终为5,在月周期上返回K线完毕当天的星期数。例1:N:=BARSLAST(MONTH<>REF(MONTH,1))+1;COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP;COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP;AUTOFILTER;//每个月交割日尾盘自动平仓。例2:C>VALUEWHEN(WEEKDAY
本文档为【麦语言自编策略模型函数列表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
pl64xlyx
长期工作中积累了很多经验
格式:doc
大小:1020KB
软件:Word
页数:0
分类:教育学
上传时间:2021-10-24
浏览量:15