麦语言自编策略.docx

上传人:b****3 文档编号:4201357 上传时间:2023-05-06 格式:DOCX 页数:169 大小:72.72KB
下载 相关 举报
麦语言自编策略.docx_第1页
第1页 / 共169页
麦语言自编策略.docx_第2页
第2页 / 共169页
麦语言自编策略.docx_第3页
第3页 / 共169页
麦语言自编策略.docx_第4页
第4页 / 共169页
麦语言自编策略.docx_第5页
第5页 / 共169页
麦语言自编策略.docx_第6页
第6页 / 共169页
麦语言自编策略.docx_第7页
第7页 / 共169页
麦语言自编策略.docx_第8页
第8页 / 共169页
麦语言自编策略.docx_第9页
第9页 / 共169页
麦语言自编策略.docx_第10页
第10页 / 共169页
麦语言自编策略.docx_第11页
第11页 / 共169页
麦语言自编策略.docx_第12页
第12页 / 共169页
麦语言自编策略.docx_第13页
第13页 / 共169页
麦语言自编策略.docx_第14页
第14页 / 共169页
麦语言自编策略.docx_第15页
第15页 / 共169页
麦语言自编策略.docx_第16页
第16页 / 共169页
麦语言自编策略.docx_第17页
第17页 / 共169页
麦语言自编策略.docx_第18页
第18页 / 共169页
麦语言自编策略.docx_第19页
第19页 / 共169页
麦语言自编策略.docx_第20页
第20页 / 共169页
亲,该文档总共169页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

麦语言自编策略.docx

《麦语言自编策略.docx》由会员分享,可在线阅读,更多相关《麦语言自编策略.docx(169页珍藏版)》请在冰点文库上搜索。

麦语言自编策略.docx

麦语言自编策略

 

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

 

自编策略模型支持的函数

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不在取值范围,返回值为空值。

例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取值范围为非0自然数,即1、2、3、4、5……

2、若X取值为0或负数,返回值为空值。

例:

LN(OPEN);//求开盘价的对数。

LOG(X)常用对数值

求X的常用对数值。

注:

1、该函数中X的取值范围为X>0

2、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次幂。

注:

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);//返回值为10

REVERSE(X)取相反值

取相反值,返回-X。

例1:

REVERSE(LOW);//返回-LOW。

例2:

REVERSE(-55);//返回值为55

例3:

REVERSE(0);//返回值为0

RANGE(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(MA10,MA20,MA5),BK;表达同等意义

SGN(X)取符号

取符号。

若X>0返回1,若X<0返回-1,否则返回0。

例1:

SGN(5);//返回值为1

例2:

SGN(-5);//返回值为-1

例3:

SGN(0);//返回值为0

SIN(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根据价格方向、波动性计算得到

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

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

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

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

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

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

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

LAST(X)

上一次条件成立位置

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

注:

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

2、本函数运算量很大,将占用很多的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线间周期数

取得最近的满足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.3

EMA(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)

指数移动平均

指数移动平均,也叫平滑移动平均,采用指数加权方法,对距离当前较近的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)

注:

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(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数

HH1:

=HHV(H,N);//在分钟周期上,日内高点

HV(X,N)

出当前K线外最高值

求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)

出当前K线外最低值

求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+.....+XN

MMA=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(CLO

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2