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

上传人:hjk****65 文档编号:172767617 上传时间:2022-12-06 格式:DOC 页数:89 大小:550KB
收藏 版权申诉 举报 下载
麦语言自编策略模型函数列表_第1页
第1页 / 共89页
麦语言自编策略模型函数列表_第2页
第2页 / 共89页
麦语言自编策略模型函数列表_第3页
第3页 / 共89页
资源描述:

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

1、麦语言自编策略模型函数列表目录自编策略模型支持的函数11.数学运算(24)12.金融统计函数(25)53.数理统计函数(8)124.逻辑判断函数(23)155.时间函数(15)216.绘图函数(26)257.画线函数(16)338.波峰波谷统计函数(7)469.未来函数(2)5110.头寸函数 (47)5111.历史数据引用 (18)7612.日内高频数据引用(46)8113.引用其他合约价格(1)8614.颜色常数87自编策略模型支持的函数1.数学运算(24)ABS(X)绝对值求X的绝对值注:1、正数的绝对值是它本身;2、负数的绝对值是它的相反数;3、0的绝对值还是0;例1: ABS(-10

2、);/返回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不在取值范围,返回值为空值。例1: ASIN(-1);/求-1的反正弦值;例2: ASIN(1);/求1的反正弦值;ATAN(X) 反正切值注求X的反正切值注:X的取值为R(实数集)例1: ATAN

3、(-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:

4、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

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取值范围为非0自然数,即1、2、3、4、5 2、若X取值为0或负数,返回值为空值。例: LN(OPEN);/求开盘价的对数。LOG(X) 常用对数值求X的常用对数值。注:1、该函数中X的取值范围为X0 2、0和负数没有对数,X为0或负

6、数时返回值为空值。例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);/求 A B C D四者中的最大值MIN(A,B)最小值取最小值。取A,B中较小者。注:若A=B,返回值为A或者B的值。例1: MIN(OPEN,CLOSE);/表示取开盘价和收盘价中的较小者。例2: MIN(C

7、,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) 取非取非。当X0时返回1,否则返回0。例1: NOT(ISLASTBK);如果上一个信号不是BK信号,则NOT(ISLASTBK)返回值为1;如

8、果上一个信号是BK信号,则NOT(ISLASTBK)返回值为0。例2: NOT(BARSBK=1)=1;/BK信号发出的当根K线上满足条件。 /NOT(BARSBK=1)=1 与 NOT(BARSBK=1) 表达同等意义。POW(A,B) 幂求X的Y次幂。注:1、当X为负数时,Y必须为整数,因为底数为负时,不能进行开方运算,返回值为空值。2、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) 取相反值取相反值,返

9、回X。例1: REVERSE(LOW);/返回-LOW。例2: REVERSE(-55);/返回值为55例3: REVERSE(0);/返回值为0RANGE(A,B,C)范围介于某个范围之内。表示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(MA

10、10,MA20,MA5),BK; 表达同等意义SGN(X) 取符号取符号。若X0返回1,若XCLOSE); /上一根阴线到现在的周期数。例2: N:=BARSLAST(DATEREF(DATE,1)+1;/分钟周期,当日k线数。 /由于条件成立的当根k线上BARSLAST(COND)的返回值为0,所以“+1”才是当日k线根数。BARSLASTCOUNT(COND) 从当前周期向前计算,统计连续满足条件的周期数从当前周期向前计算,统计连续满足条件的周期数。注:1、返回值为从当前周期计算COND连续不为0的周期数2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1例:B

11、ARSLASTCOUNT(CLOSEOPEN);/计算当根K线在内连续为阳线的周期数BARSSINCE(COND)第一个条件成立到当前的周期数第一个条件成立到当前的周期数。注:1、返回值为COND第一次成立到当前的周期数2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0例:BARSSINCE(CLOSEOPEN);/统计第一次满足阳线这个条件的K线到现在的周期数COUNT(X,N)统计总数统计N周期中满足COND条件的周期数。注: 1、若N为0则从第一个有效值算起; 2、当N为有效值,但当前的k线数不足N根,从第一根统计到当前周期。 3、N 为空值时返回值为空值 。 4、

12、N可以为变量例1: N:=BARSLAST(DATEREF(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线间周期数取得最近的满足A、B条件的k线间周期数注意:1、该函数返回周期数不包含最后满足条件的K线2、如果距离当前K线最近的满足的条

13、件为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

14、。注: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=6 X2=7 X3=8 X4=9则EMA(X,4)=

15、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资源,导致

16、行情刷新速度变慢,请谨慎使用!例1: EMA2(H,5);/求最高价在5个周期的加权移动平均值。EMAWH(C,N)指数移动平均指数移动平均,也叫平滑移动平均,采用指数加权方法,对距离当前较近的K线赋予了较大的权重。注:1、当N为有效值,当前的k线数不足N根时,或者前面周期的取值仍作用于当前周期时,EMAWH返回值为空值因为EMAWH计算公式中着重考虑了当周期的权重,所以当周期较长,前面的周期取值对当前的影响越小,EMAWH从前面数据对当前周期不再影响时的取值开始显示,所以即使选择的数据起始时间不同,当前已经显示的K线的EMAWH的取值也不会发生变化2、当N为0或空值时返回值均为空值3、N不能

17、为变量EMAWH=2*X/(N+1)+(N-1)*EMAWH(N-1)/(N+1)注:EMAWH用法同EMA(C,N)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(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 HH1:=HHV(H,N);/在分钟周期上,日内高点HV(X,N)出当前K线外最高值求X在N个

18、周期内(不包含当前k线)的最高值。注: 1、若N为0则从第一个有效值开始算起(不包含当前K线); 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值; 3、N为空值时,返回空值。 4、N可以是变量。例1: HH:HV(H,10);/求前10根k线的最高点。例2: N:=BARSLAST(DATEREF(DATE,1)+1;NN:=REF(N,N); ZH:VALUEWHEN(DATEREF(DATE,1),HV(H,NN);/在分钟周期上,求昨天最高价。例3: HV(H,5) 和 REF(HHV(H,5),1) 的结果是一样的,用HV编写更加方便。HHVBARS(

19、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(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 ZHBARS:REF(HHVBARS(H,N),N);/在分钟周期上,求昨天最高

20、价所在的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(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 LL1:=LLV(L,N);/在分钟周期上,求当天第一根k线到当前周期内所有k线最低价的最小值。LV(X,N)出当前K线外最低值求X在N个周期内的最小值(不包含当前k线)注: 1、若N为0则从第一个

21、有效值开始算起; 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算; 3、N为空值时,返回空值。 4、N可以是变量。例1: LL:LV(L,10);/求前面10根k线的最低点。(不包含当前k线)例2: N:=BARSLAST(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 ZL:VALUEWHEN(DATEREF(DATE,1),LV(L,N);/在分钟周期上,求昨天最低价。例3: LV(L,5) 和 REF(LLV(L,5),1) 的结果是一样的,用LV编写更加方便。LLVBARS(X,N)前一个最低点位置求N周期内X最低值到当前周期数注: 1、若N为0则从第一个有

22、效值开始算起(不包含当前K线); 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值; 3、N为空值时,返回空值。 4、N可以是变量。例1: LLVBARS(VOL,0); 求历史成交量最小的周期到当前的周期数(最小值那根k线上LLVBARS(VOL,0);的返回值为0,最小值后的第一根k线返回值为1,依次类推)。例2: N:=BARSLAST(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 ZLBARS:REF(LLVBARS(L,N),N);/在分钟周期上,求昨天最低价所在的k线到当前k线之间的周期数。MA(X,N) 算数移动平均求X在N个周期内

23、的简单移动平均算法: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(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 M:=IFELSE(N10,10,N);/如果k线超过10根,M取10,否则M取实际根数 MA10:MA(C,M);/在分钟周期上,如果当天k线不足10根,按照实际根

24、数计算MA10,如果超过10根按照10周期计算MA10。NUMPOW(X,N,M)自然数幂方和自然数幂方和算法:NUMPOW(x,n,m)=nm*x+(n-1)m*ref(x,1)+(n-2)m*ref(x,2)+.+2m*ref(x,n-2)+1m*ref(x,n-1)rn注意:1、N为自然数,M为实数;且N与M不能为变量2、X为基础变量例1:rnJZ:=NUMPOW(C,5,2)/NUMPOW(1,5,2);SAR(N,Step,Max)抛物转向返回抛物转向值。注:1、参数N,Step,Max均不支持变量例1: SAR(17,3,30);/表示计算17个周期抛物转向,步长为3%,极限值为3

25、0%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+.+XN MMA=SUM1/N例1:SMMA(C,5);/

26、收盘价的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(DATEREF(DATE,1)+1;/分钟周期,日内k线根数 SUM(VOL,N);/分钟周期上,取当天成交量总和。SUMBARS(X,A)累加到指定值的周期数求累加到指定值的周期数例1: SUMBARS(VOL,20000); 将成交量向前累加直到大于等于20000,返回这个区间

27、的周期数。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:

28、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=ai+ai-1+.+ai-n+1 xsum=i+i-1+.+i-n+1 xxsum=i*i+(i-1)*(i-1)+.+(i-n+1)*(i-n+1) xysum=i*ai+(i-1)*ai-1+.+(i-n+1)*ai-n+1 k=(xysum -(ysum/n)*xsum)/(xxsum-

29、 xsum/n * xsum) /斜率 b= ysum/n - k*xsum/n forcasti=k*i+b /线性回归 tsmai = forcasti+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为空值,该函数返回空值

30、;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(

31、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个周期内的标准差。注: 1、N

32、为有效值,但当前的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可以为变量例: S

33、TDP(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周期总体样本方差

34、注: 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)/

35、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.44 4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。 (-65.2)2+ (-26.2)2+ (-17.2

36、)2+ (54.8)2+ (53.8)2=11130.80 5、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算: (-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16 6、样本方差VAR(X,N):是总体方差的N/(N-1)倍。 2226.16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。4.逻辑判断函数(23)BETWEEN(A,B,C)介于表示A是否处于B和C之间,成立返回1(Yes),否则返回0(No)。注: 1、其中若A=B、A=C、或A

37、=B且B=C时函数返回值为1(Yse)。例1: BETWEEN(CLOSE,MA5,MA10); /表示收盘价介于5日均线与10日均线之间。CROSS(X,Y)交叉函数表示A从下方向上穿过B,成立返回1(Yes),否则返回0(No)注: 1、满足穿越的条件必须上根k线满足AB才被认定为穿越。例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:=

38、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卖开仓 /CROSSDOW

39、N(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周期均线的第偶数次D

40、IVERGENCE(X1,X2,S,L,HL)变量X1与X2在指定周期内是否发生背离变量X1与X2在指定周期内是否发生背离用法:S: 设置转折点两边需要的周期数,取值应小于L的四分之一;S不可以为变量; L: 计算的总的范围的周期数;L不可以为变量。HL: 可以取值为1和-1 1表示根据X1的峰值判断背离情况;X1在L周期内波峰取值创了新高,但X2在X1峰值对应的取值没有创新高,熊背离,或称顶背离 -1表示计算波谷点,X1在L周期内波谷取值创了新低,但X2在X1波谷对应的取值没有创新低,牛背离,或称底背离;例1:MA10:MA(C,10);DIVERGENCE(C,MA10,2,20,1);/

41、在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(CLOSEOPEN,5);/表示

42、5个周期内一直是阳线例2: MA5:=MA(C,5);/定义5周期均线 MA10:=MA(C,10);/定义10周期均线 EVERY(MA5MA10,4),BK;/4个周期内MA5都大于MA10,则买开仓。 /EVERY(MA5MA10,4),BK;与EVERY(MA5MA10,4)=1,BK;表达同等意义EXIST(COND,N)判断函数EXIST(COND,N) 判断N个周期内是否有满足COND的条件(包含当前周期)注:1、N可以是变量。2、若N是有效数值,但前面没有那么多K线,按实际周期数计算例1: EXIST(CLOSEREF(HIGH,1),10);表示10个周期中是否存在收盘价大于

43、前一个周期的最高价,存在返回1,不存在则返回0.例2: N:=BARSLAST(DATEREF(DATE,1)+1; EXIST(CMA(C,5),N);/ 表示当天是否有满足收盘价大于5周期均线的k线,存在返回1,不存在返回0FILTER(COND,N)过滤当COND条件成立,将其后N周期内的数据设置为0.注: 1、N为空值,返回空值。 2、N不能为变量 3、不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用例1: FILTER(CLOSEOPEN,3);/ 查找阳线,3天内再次出现的阳线不被记录在内IFELSE(COND,A,B)条件函数若COND条件成立,则返回A,

44、否则返回B注: 1、COND是判断条件;A、B可以是条件,也可以是数值。例1: IFELSE(ISUP,H,L);/如果k线为阳线,取最高价,否则取最低价例2: A:=IFELSE(MA5MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0);/当MA5MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0 A=1,BPK;/当MA5MA10,以DIFF上穿DEA作为开多仓条件 A=2,SPK;/当MA5不大于MA10,以K、D死叉作为开空仓条件ISDOWN阴线判断该周期是否收阴注:

45、1、ISDOWN等同于CO例: ISDOWN=1&CREF(C,1),SK;/如果当根k线收阴并且收盘价小于前一周期收盘价,则开空 /ISDOWN=1&CREF(C,1),SK; 与 ISDOWN&C=1000,CLOSEOUT;/如果当根k线是交割日并且时间是10:00,则全平。ISLASTBAR判断该周期是否为最后一根K线判断该周期是否为最后一根k线 注:1、该函数属于未来函数。 例1:VALUEWHEN(ISLASTBAR=1,REF(H,1);/如果当前k线是最后一根k线,则取前一周期的最高价。ISLASTKLINE判断该周期是否收盘前最后一根K线判断该周期是否为每日收盘前最后一根k线

46、,返回是1(Yes),否则返回0(No)。例1: ISLASTKLINE=1,CLOSEOUT;/如果该周期是当日收盘前最后一根k线,则全平ISUP阳线判断该周期是否收阳注: 1、ISUP等同于CO例: ISUP=1&CREF(C,1),BK;/如果当根k线收阳并且收盘价大于前一周期收盘价,则开多 /ISUP=1&CREF(C,1),BK; 与 ISUP&CREF(C,1),BK;/表达同等意义KLINEEND判断K线当前状态是否是K线结束判断K线当前状态是否是K线结束。用法:1、KLINEEND 如果当前K线状态为K线的结束,则返回1,否则返回0。2、模组运行时下根K线接收到第一笔数据时,判

47、断上根K线结束;历史回测中该函数返回值为1KLINESTART判断K线当前状态是否是K线开始判断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根

48、,或者N空值的情况下,代表不成立,该函数返回0 3、N可以是变量。例1: LAST(CLOSEOPEN,10,5);/表示从过去第10个周期到第5个周期内一直是阳线例2: MA5:=MA(C,5); LAST(CMA5,4,3);/判断距离当前k线3个周期的那根k线上是否满足C大于MA5.LOOP2(COND,A,B)循环函数LOOP2(COND,A,B);循环条件函数 若COND条件成立,则返回A,否则返回B注: 1、COND是判断条件;A、B可以是条件,也可以是数值。 2、该函数支持变量循环引用前一周期自身变量,即支持下面这样的写法Y: LOOP2(CON,X,REF(Y,1);例1:X:

49、 LOOP2(ISUP,H,(X,1);/如果k线为阳线,取当根K线的最高价最高价,否则取上一次是阳线的K线的最高价例2:BB:LOOP2(BARSBK=1,LOOP2(LLV(L,4),L,LV(L,4),LOOP2(LREF(BB,1),L,REF(BB,1);/持有多单时,开多单那根的前面4个周期内的最低价为起始止损点BB,如果后续K线最低价比前一个最低价高,取当前最低价为止损点,否则取前一个低点为止损点,SS:LOOP2(BARSSK=1,LOOP2(HHV(H,4),H,HV(H,4),LOOP2(HHV(H,20),BK;LLV(L,20),SK;CSS,BP;AUTOFILTER

50、;LONGCROSS维持交叉函数维持交叉函数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线趋势获取K线趋势。用法: 1:TREND 如果K线的形成过程中最高价先出现,则返回值为3;如果最低价先出现,则返回值为2;若最高和最低一起出现,则返回值为1;默认为0。 2:该函数只支持效果测试和模组运行。VALUEWHEN

51、(COND,DATA)取值当COND条件成立时,取X的当前值。如COND条件不成立,则取上一次COND条件成立时X的值。注: X可以是数值也可以是条件。例1 VALUEWHEN(HIGHREF(HHV(HIGH,5),1),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价例2: VALUEWHEN(DATEREF(DATE,1),O);表示取当天第一根k线的开盘价(即当天开盘价)例3: VALUEWHEN(DATEREF(DATE,1),LREF(H,1);表示在当天第一根k线上判断当前最低价是否大于昨天最高价。如果返回1,说明当天跳空高开。返回0,说明当天不满足跳空高开

52、条件。5.时间函数(15)BARPOS取K线的位置返回从第一根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适合应用于日线

53、以下的周期,在日线上加载此函数,每根K线的返回值都为1。4:CLOSEMINUTE返回的是交易所的时间,不是本机的时间。5:CLOSEMINUTE支持上海夜盘使用,例如:沪金指数1分钟21:00开盘当根K线CLOSEMINUTE返回为1080.距离收盘的时间仍然以15:00为基准计算(即使中间遇到正常的周六周日休息,仍然返回值为1080,不计算周六周日的时间)例1:CLOSEMINUTE=1,CLOSEOUT;/收盘前一分钟,清仓。例2:NN:BARSLAST(CLOSEMINUTE=120)+1;OO:VALUEWHEN(DATEREF(DATE,1),O);AA:COUNT(HOO,NN)

54、=3;/统计从下午13:00开始,相对于当天的开盘价OO,创新高的次数为3次。DATE取得某周期的日期数返回某周期的日期数。注:1:DATE的取值范围为700101-331231(即1970年1月1日2033年12月31日)。2:DATE返回六位数字,YYMMDD,3:DATE支持上海夜盘的使用,例如:2013年7月8日 21:00夜盘开盘,DATE返回值即为130709,返回的为收盘时对应的日期 ,即数据所属的交易的日期(周五周六晚上的数据返回的日期为下周一的日期)例1:BARSLAST(DATEREF(DATE,1)+1;/当天开盘以来共有多少根K线。例2:AA:DATE=130507&T

55、IME=1037;HH:VALUEWHEN(AA=1,H);/ 取201305071037分钟位置,同时取201305071037分钟k线位置最高价DAY取得某周期的日数返回某一周期的日数。注:DAY取值范围为1-31。例1:DAY=3&TIME=0915,BK;/当日起为3日,时间为9点15分时,买开。例2:N:BARSLAST(DATEREF(DATE,1)+1;CC:IFELSE(DAY=1,VALUEWHEN(N=1,O),0);/当日期为1时,取开盘价,否则取值为0.HOUR小时返回某周期的小时数。注:HOUR的取值范围为023例1:DRAWTRENDLINE(HOUR=9,H,HOUR=15,H,COLORGREEN);/连接9点到下午3点的最高点画一条绿色的趋势线。例2:HOUR=10;/在10:00的K线上返回值为1,其余K线上返回值为0。LONG_TIME模组最后一次多头成交的时间取模组最后一次多头成交的时间。注:1:返回的为本机时间。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!