文华财经WH82策略函数列表.docx
- 文档编号:7146716
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:210
- 大小:80.44KB
文华财经WH82策略函数列表.docx
《文华财经WH82策略函数列表.docx》由会员分享,可在线阅读,更多相关《文华财经WH82策略函数列表.docx(210页珍藏版)》请在冰豆网上搜索。
文华财经WH82策略函数列表
函数列表
函数名
函数说明
ABS
ABS(X):
取的X的绝对值。
注:
1、正数的绝对值是它本身;
2、负数的绝对值是它的相反数;
3、0的绝对值还是0;
例1:
ABS(-10);//返回10。
例2:
ABS(CLOSE-10);//返回收盘价和的10价差的绝对值。
例3:
ABS(C-O);//当前K线实体长度
ACOS
ACOS(X):
返回X的反余弦值。
注:
1、X取值范围[-1,1]。
2、若X不在取值范围,返回值为空值。
例1:
ACOS(-1);//求-1的反余弦值;
例2:
ACOS
(1);//求1的反余弦值;
ADMA
ADMA(X,N,P,Q)考夫曼均值
用法:
ADMA(X,N,P,Q);求X在N个周期中的,快线频率参数为P,慢线频率参数为Q的考夫曼自适应均值。
注:
1、X为调用的k线数据(例如高、开、低,收);N为调用的间隔时间;P为快线频率参数;Q为慢线频率参数。
2、当前的K线数不足N根时,函数返回空值。
3、N为0或空值的情况下,函数返回空值。
算法:
ADMA(X,N,P,Q)=REF(EMA(X,N),1)+CONSTANT*(X-REF(EMA(X,N),1));
CONSTANT是平滑系数,用麦语言函数可以表示为:
CONSTANT:
=SQUARE((ABS((CLOSE-REF(CLOSE,N))/(SUM(ABS((CLOSE-REF(CLOSE,1))),N))))*(2/(P+1)-2/(Q+1))+2/(Q+1));
算法举例:
计算C在9周期的,快线频率参数为2,慢线频率参数为30的考夫曼均值。
1、确定价格方向:
价格方向表示整个时间段中的净价格变化。
比如,使用N天的间隔(或N小时),这里N为9
2、计算方向移动:
DIRECTION:
=ABS(CLOSE-REF(CLOSE,9));
3、计算波动性:
波动性是市场噪音的总数量,计算了时间段内价格变化的总和。
VOLATILITY:
=SUM(ABS((CLOSE-REF(CLOSE,1))),9);
4、确定效率系数:
ER:
=DIRECTION/VOLATILITY;
5、计算平滑系数:
FASTSC:
=2/(2+1);
SLOWSC:
=2/(30+1);
SMOOTH:
=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:
=SQUARE(SMOOTH);
6、计算平滑系数为CONSTANT的自适应均线:
AMACLOSE:
REF(EMA(C,9),1)+CONSTANT*(C-REF(EMA(C,9),1));
ALIGN
设置文字对齐方式(左中右)。
用法:
DRAWTEXT(COND,PRICE,TEXT),ALIGNX;
COND条件满足时,在PRICE的位置,标注TEXT,文字按照ALIGNX写入的方式对齐。
ALIGN0,ALIGN1,ALIGN2,分别表示左对齐,居中对齐,右对齐。
例:
DRAWTEXT(C>O,H,'涨'),ALIGN1,VALIGN1,FONTSIZE20,COLORGREEN;//在阳线的最高价标注文字“涨”,文字居中对齐,字体大小为20,颜色为绿色。
ASIN
ASIN(X):
返回X的反正弦值。
注:
1、X取值范围[-1,1]。
2、若X不在取值范围,返回值为空值。
例1:
ASIN(-1);//求-1的反正弦值;
例2:
ASIN
(1);//求1的反正弦值;
ASK1
ASK1取得TICK图该笔TICK的卖一价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:
ASK1;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖一价;
ASK2
ASK2取得TICK图该笔TICK的卖二价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:
ASK2;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖二价;
ASK3
ASK3取得TICK图该笔TICK的卖三价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:
ASK3;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖三价;
ASK4
ASK4取得TICK图该笔TICK的卖四价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:
ASK4;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖四价;
ASK5
ASK5取得TICK图该笔TICK的卖五价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:
ASK5;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖五价;
ASK1VOL
ASK1VOL取得TICK图该笔TICK的卖一量。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
VV:
ASK1VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖一量;
ASK2VOL
ASK2VOL取得TICK图该笔TICK的卖二量。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
VV:
ASK2VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖二量;
ASK3VOL
ASK3VOL取得TICK图该笔TICK的卖三量。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
VV:
ASK3VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖三量;
ASK4VOL
ASK4VOL取得TICK图该笔TICK的卖四量。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
VV:
ASK4VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖四量;
ASK5VOL
ASK5VOL取得TICK图该笔TICK的卖五量。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
VV:
ASK5VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖五量;
ASKBIGCOUNT
ASKBIGCOUNT取得TICK图所定义数据区主动卖大单次数的和。
注:
1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。
2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。
3、该函数必须在TICK图中使用,在K线图上返回空值。
4、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
DEF_TICKDATA(0,5);//调用五秒的TICK数据
SETBIGVOL(10);//设置大单阀值为10手
VV:
ASKBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖的大单次数的和
ASKBIGTOTVOL
ASKBIGTOTVOL取得TICK图所定义数据区主动卖大单成交量的和。
注:
1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。
2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。
3、该函数必须在TICK图中使用,在K线图上返回空值。
4、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
DEF_TICKDATA(0,5);//调用五秒的TICK数据
SETBIGVOL(10);//设置大单阀值为10手
VV:
ASKBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖大单成交量的和
ASKVOL
ASKVOL取得TICK图所定义数据区主动卖成交量的和。
注:
1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。
2、该函数必须在TICK图中使用,在K线图上返回空值。
3、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
DEF_TICKDATA(0,5);//调用五秒的TICK数据
VV:
ASKVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖成交量的和
ATAN
ATAN(X):
返回X的反正切值。
注:
X的取值为R(实数集)
例1:
ATAN(-1.75);//求-1.75的反正切值;
例2:
ATAN(1.75);//求1.75的反正切值;
AUTOFILTER
AUTOFILTER启用信号过滤机制。
用法:
模型中含有AUTOFILTER函数,则启用信号过滤机制。
过滤模型的过滤规则:
1、连续的同方向指令只有第一个有效,其他的将被过滤;
2、交易指令必须先开仓后平仓,一开一平配对出现:
出现BK指令,下一个指令只允许出现SP指令;
出现SK指令,下一个指令只允许出现BP指令;
出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个;
反手指令SPK和BPK交叉出现。
例:
CLOSE>OPEN,BK;
CLOSE AUTOFILTER;//启用信号过滤机制
AVEDEV
AVEDEV(X,N):
返回X在N周期内的平均绝对偏差。
注:
1、N包含当前k线。
2、N为有效值,但当前的k线数不足N根,该函数返回空值;
3、N为0时,该函数返回空值;
4、N为空值,该函数返回空值;
5、N不能为变量
算法举例:
计算AVEDEV(C,3);在最近一根K线上的值。
用麦语言函数可以表示如下:
(ABS(C-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,2)-(C+REF(C,1)+REF(C,2))/3))/3;
例:
AVEDEV(C,5);//返回收盘价在5周期内的平均绝对偏差。
//表示5个周期内每个周期的收盘价与5周期收盘价的平均值的差的绝对值的平均值,判断收盘价与其均值的偏离程度
AVPRICE
AVPRICE取得K线图的均价。
注:
1、表示单根K线内的均价;
2、日线周期上收盘后与SETTLE函数一样取得当日的结算价。
例1:
A:
AVPRICE;//定义变量A为均价线;
例2:
MA5:
MA(AVPRICE,5);//定义五个周期均价的平均值;
例3:
C>MA(AVPRICE,5);//价格大于五个周期均价的平均值则返回1,否则返回0。
BACKGROUNDSTYLE
BACKGROUNDSTYLE函数设置背景的样式。
用法:
BACKGROUNDSTYLE(i)设置背景的样式。
i=0或1或2。
注:
1.
0是保持本身坐标不变。
1是将坐标固定在0到100之间。
2是将坐标以0为中轴的坐标系。
2、参数i的选择根据想要显示的指标数据范围而定。
3、不支持将该函数直接定义为变量,即不支持下面的写法:
A:
BACKGROUNDSTYLE(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)
BARPOS
BARPOS,返回从第一根K线开始到当前的周期数。
注:
1、BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。
2、本机已有的第一根K线上返回值为1。
例1:
LLV(L,BARPOS);//求本地已有数据的最小值。
例2:
IFELSE(BARPOS=1,H,0);//当前K线是本机已有的第一根K线取最高值,否则取0。
BARSLAST
BARSLAST(COND):
上一次条件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
BARSLASTCOUNT(COND)从当前周期向前计算,统计连续满足条件的周期数。
注:
1、返回值为从当前周期计算COND连续不为0的周期数
2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1
例:
BARSLASTCOUNT(CLOSE>OPEN);
//计算当根K线在内连续为阳线的周期数
BARSSINCE
BARSSINCE(COND)第一个条件成立到当前的周期数。
注:
1、返回值为COND第一次成立到当前的周期数
2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0
例:
BARSSINCE(CLOSE>OPEN);
//统计第一次满足阳线这个条件的K线到现在的周期数
BARSBK
BARSBK上一次买开信号位置
用法:
BARSBK返回上一次买开仓的K线距离当前K线的周期数(不包含出现BK信号的那根K线)
取包含BK信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSBK+1;由于发出BK信号的当根k线BARSBK返回空值,则BARSBK+1在发出BK信号当根k线
返回空值。
注:
1、若当前K线之前无BK信号,则函数返回值为空值
2、BK信号固定后BARSBK返回为空值。
(1)设置信号执行方式为出信号立即下单,不复核(例如:
在模型中写入MULTSIG_SEC或MULTSIG_MIN;)
a.历史信号计算中,出现BK信号的当根K线,BARSBK返回空值
b.加载运行过程中,信号固定后BARSBK返回空值
(2)设置信号执行方式为K线走完复核(例如:
在模型中写入CHECKSIG_SEC(BK,'A',N,'D',0);)
BARSBK返回值为上一个BK信号距离当前的K线根数(包含当前K线)
例:
1、BARSBK>10,SP;//上一次买开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,卖平;
2、HHV(H,BARSBK+1);//上一次买开仓(包含开仓信号出现的当根k线)到当前的最高价的最大值。
当根K线出现BK信号,AA返回为空值,需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE(BARSBK>=1,HHV(H,BARSBK+1),H);
(1)当根K线出现BK信号,BARSBK返回为空值,不满足BARSBK>=1的条件,则取值为当根K线的最高价H
(2)发出BK信号之后K线BARSBK返回买开仓的K线距离当前K线的周期数,满足BARSBK>=1的条件,则取值为HHV(H,BARSBK+1),即买开仓(包含开仓信号出现的当根k
线)到当前的最高价的最大值。
修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号?
3、AA:
IFELSE(BARSBK>=1,REF(C,BARSBK),C);//取最近一次买开仓K线的收盘价
(1)发出BK信号的当根k线BARSBK返回空值,则当根K线不满足BARSBK>=1的条件,AA返回当根k线的收盘价;
(2)发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBK),即开仓k线的收盘价;
(3)例:
1、2、3三根k线,1K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3K线AA返回值为1K线的收盘价。
BARSSK
BARSSK上一次卖开信号位置
用法:
BARSSK返回上一次卖开仓的K线距离当前K线的周期数(不包含出现SK信号的那根K线)
取包含SK信号出现的那根K线到当前K线的周期数,需要在此函数后+1,即BARSSK+1;由于发出SK信号的当根k线BARSSK返回空值,则BARSSK+1在发出SK信号当根k线返
回空值。
注:
1、若当前K线之前无SK信号,则函数返回值为空值
2、SK信号固定后BARSSK返回为空值。
(1)设置信号执行方式为出信号立即下单,不复核(例如:
在模型中写入MULTSIG_SEC或MULTSIG_MIN;)
a.历史信号计算中,出现SK信号当根K线,BARSSK返回空值
b.加载运行过程中,SK信号当根K线,信号固定后BARSSK返回空值
(2)设置信号执行方式为K线走完复核(例如:
在模型中写入CHECKSIG_SEC(SK,'A',N,'D',0);)
BARSSK返回值为上一个SK信号距离当前的K线根数(包含当前K线)
例:
1、BARSSK>10,BP;//上一次卖开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,买平;
2、LLV(L,BARSSK+1);//上一次卖开仓(包含开仓信号出现的当根k线)到当前的最低价的最小值。
当根K线出现SK信号,AA返回为空值,如果需要返回当根K线上最低价,模型需要修改为:
AA:
IFELSE(BARSSK>=1,LLV(L,BARSSK+1),L);
(1)当根K线出现SK信号,BARSSK返回为空值,不满足BARSSK>=1的条件,则取值为当根K线的最低价L
(2)发出SK信号之后K线SARSBK返回卖开仓的K线距离当前K线的周期数,满足BARSSK>=1的条件,则取值为LLV(L,BARSSK+1),即卖开仓(包含开仓信号出现的当根k
线)到当前的最低价的最小值。
修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号。
3、AA:
IFELSE(BARSSK>=1,REF(C,BARSSK),C);//取最近一次卖开仓K线的收盘价
(1)发出SK信号的当根k线BARSSK返回空值,则当根K线不满足BARSSK>=1的条件,AA返回当根k线的收盘价;
(2)发出SK信号之后的k线BARSSK返回卖开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSSK),即开仓k线的收盘价;
(3)例:
1、2、3三根k线,1K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3K线AA返回值为1K线的收盘价。
BARSBP
BARSBP上一次买平信号位置
用法:
BARSBP返回上一次买平仓的K线距离当前K线的周期数(不包含出现BP信号的那根K线)
取包含BP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSBP+1。
由于发出BP信号的当根k线BARSBP返回空值,则BARSBP+1在发出BP信号当根k线
返回空值。
注:
1、若当前K线之前无BP信号,则函数返回值为空值
2、BP信号固定后BARSBP返回为空值。
(1)设置信号执行方式为出信号立即下单,不复核(例如:
在模型中写入MULTSIG_SEC或MULTSIG_MIN;)
a.历史信号计算中,出现BP信号当根K线,BARSBP返回空值
b.加载运行过程中,BP信号当根K线,信号固定后BARSBP返回空值
(2)设置信号执行方式为K线走完复核(例如:
在模型中写入CHECKSIG_SEC(BP,'A',N,'D',0);)
BARSBP返回值为上一个BP信号距离当前的K线根数(包含当前K线)
例:
?
1、BARSBP>10,BK;//上一次买平仓(不包含出现买平信号的那根K线)距离当前K线的周期数大于10,买开。
?
2、AA:
HHV(H,BARSBP+1);//上一次买平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。
?
当根K线出现BP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE(BARSBP>=1,HHV(H,BARSBP+1),H);
(1)当根K线出现BP信号,BARSBP返回为空值,不满足BARSBP>=1的条件,则取值为当根K线的最高价H?
(2)发出BP信号之后K线BARSBP返回买平仓的K线距离当前K线的周期数,满足BARSBP>=1的条件,则取值为HHV(H,BARSBP+1),即买平仓(包含平仓信号出现的当根k
线)到当前的最高价的最大值。
3、AA:
IFELSE(BARSBP>=1,REF(C,BARSBP),C);//取最近一次买平仓K线的收盘价
(1)发出BP信号的当根k线BARSBP返回空值,则当根K线不满足BARSBP>=1的条件,AA返回当根k线的收盘价;
(2)发出BP信号之后的k线BARSBP返回买平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBP),即平仓k线的收盘价;
(3)例:
1、2、3三根k线,1K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3K线AA返回值为1K线的收盘价。
BARSSP
BARSSP上一次卖平信号位置
用法:
BARSSP返回上一次卖平仓的K线距离当前K线的周期数(不包含出现SP信号的那根K线)
取包含SP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSSP+1。
由于发出SP信号的当根k线BARSSP返回空值,则BARSSP+1在发出SP信号当根k线
返回空值。
注:
1、若当前K线之前无SP信号,则函数返回值为空值
2、SP信号固定后BARSSP返回为空值。
(1)设置信号执行方式为出信号立即下单,不复核(例如:
在模型中写入MULTSIG_SEC或MULTSIG_MIN;)
a.历史信号计算中,出现SP信号当根K线,BARSSP返回空值
b.加载运行过程中,SP信号当根K线,信号固定后BARSSP返回空值
(2)设置信号执行方式为K线走完复核(例如:
在模型中写入CHECKSIG_SEC(SP,'A',N,'D',0);)
BARSSP返回值为上一个SP信号距离当前的K线根数(包含当前K线)
例:
1、BARSSP>10,BK;//上一次卖平仓(不包含出现卖平信号的那根K线)距离当前K线的周期数大于10,买开。
2、AA:
HHV(H,BARSSP+1);//上一次,卖平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。
?
当根K线出现SP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE(BARSSP>=1,HHV(H,BAR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文华 财经 WH82 策略 函数 列表