>>,N>>>>*<2/-2/>+2/>;
算法举例:
计算C在9周期的,快线频率参数为2,慢线频率参数为30的考夫曼均值。
1、确定价格方向:
价格方向表示整个时间段中的净价格变化。
比如,使用N天的间隔〔或N小时,这里N为9
2、计算方向移动:
DIRECTION:
=ABS>;
3、计算波动性:
波动性是市场噪音的总数量,计算了时间段内价格变化的总和。
VOLATILITY:
=SUM>>,9>;
4、确定效率系数:
ER:
=DIRECTION/VOLATILITY;
5、计算平滑系数:
FASTSC:
=2/<2+1>;
SLOWSC:
=2/<30+1>;
SMOOTH:
=ER*+SLOWSC;
CONSTANT:
=SQUARE;
6、计算平滑系数为CONSTANT的自适应均线:
AMACLOSE:
REF,1>+CONSTANT*,1>>;
ALIGN
设置文字对齐方式〔左中右。
用法:
DRAWTEXT,ALIGNX;
COND条件满足时,在PRICE的位置,标注TEXT,文字按照ALIGNX写入的方式对齐。
ALIGN0,ALIGN1,ALIGN2,分别表示左对齐,居中对齐,右对齐。
例:
DRAWTEXTO,H,'涨'>,ALIGN1,VALIGN1,FONTSIZE20,COLORGREEN;//在阳线的最高价标注文字"涨",文字居中对齐,字体大小为20,颜色为绿色。
ASIN
ASIN:
返回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的取值为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;
CLOSEAUTOFILTER;//启用信号过滤机制
AVEDEV
AVEDEV:
返回X在N周期内的平均绝对偏差。
注:
1、N包含当前k线。
2、N为有效值,但当前的k线数不足N根,该函数返回空值;
3、N为0时,该函数返回空值;
4、N为空值,该函数返回空值;
5、N不能为变量
算法举例:
计算AVEDEV;在最近一根K线上的值。
用麦语言函数可以表示如下:
+REF>/3>+ABS[-+REF>/3>+ABS][-+REF>/3>>/3;]
例:
AVEDEV;//返回收盘价在5周期内的平均绝对偏差。
//表示5个周期内每个周期的收盘价与5周期收盘价的平均值的差的绝对值的平均值,判断收盘价与其均值的偏离程度
AVPRICE
AVPRICE取得K线图的均价。
注:
1、表示单根K线内的均价;
2、日线周期上收盘后与SETTLE函数一样取得当日的结算价。
例1:
A:
AVPRICE;//定义变量A为均价线;
例2:
MA5:
MA;//定义五个周期均价的平均值;
例3:
C>MA;//价格大于五个周期均价的平均值则返回1,否则返回0。
BACKGROUNDSTYLE
BACKGROUNDSTYLE函数设置背景的样式。
用法:
BACKGROUNDSTYLE设置背景的样式。
i=0或1或2。
注:
1.
0是保持本身坐标不变。
1是将坐标固定在0到100之间。
2是将坐标以0为中轴的坐标系。
2、参数i的选择根据想要显示的指标数据范围而定。
3、不支持将该函数直接定义为变量,即不支持下面的写法:
A:
BACKGROUNDSTYLE;
例1:
MA5:
MA;
MA10:
MA;
BACKGROUNDSTYLE<0>;
例2:
DIFF:
EMA-EMA;
DEA:
EMA;
2*,COLORSTICK;
BACKGROUNDSTYLE<2>
BARPOS
BARPOS,返回从第一根K线开始到当前的周期数。
注:
1、BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。
2、本机已有的第一根K线上返回值为1。
例1:
LLV;//求本地已有数据的最小值。
例2:
IFELSE;//当前K线是本机已有的第一根K线取最高值,否则取0。
BARSLAST
BARSLAST:
上一次条件COND成立到当前的周期数
注:
1、条件成立的当根k线上BARSLAST的返回值为0
2、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!
例1:
BARSLASTCLOSE>;//上一根阴线到现在的周期数。
例2:
N:
=BARSLASTREF>+1;//分钟周期,当日k线数。
//由于条件成立的当根k线上BARSLAST的返回值为0,所以"+1"才是当日k线根数。
BARSLASTCOUNT
BARSLASTCOUNT从当前周期向前计算,统计连续满足条件的周期数。
注:
1、返回值为从当前周期计算COND连续不为0的周期数
2、条件第一次成立的当根k线上BARSLASTCOUNT的返回值为1
例:
BARSLASTCOUNTOPEN>;
//计算当根K线在内连续为阳线的周期数
BARSSINCE
BARSSINCE第一个条件成立到当前的周期数。
注:
1、返回值为COND第一次成立到当前的周期数
2、条件第一次成立的当根k线上BARSSINCE的返回值为0
例:
BARSSINCEOPEN>;
//统计第一次满足阳线这个条件的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;
BARSBK返回值为上一个BK信号距离当前的K线根数〔包含当前K线
例:
1、BARSBK>10,SP;//上一次买开仓〔不包含出现买开信号的那根K线距离当前K线的周期数大于10,卖平;
2、HHV;//上一次买开仓〔包含开仓信号出现的当根k线到当前的最高价的最大值。
当根K线出现BK信号,AA返回为空值,需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE=1,HHV,H>;
〔1当根K线出现BK信号,BARSBK返回为空值,不满足BARSBK>=1的条件,则取值为当根K线的最高价H
〔2发出BK信号之后K线BARSBK返回买开仓的K线距离当前K线的周期数,满足BARSBK>=1的条件,则取值为HHV,即买开仓〔包含开仓信号出现的当根k
线到当前的最高价的最大值。
修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号
3、AA:
IFELSE=1,REF,C>;//取最近一次买开仓K线的收盘价
〔1发出BK信号的当根k线BARSBK返回空值,则当根K线不满足BARSBK>=1的条件,AA返回当根k线的收盘价;
〔2发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,则AA返回REF,即开仓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;
BARSSK返回值为上一个SK信号距离当前的K线根数〔包含当前K线
例:
1、BARSSK>10,BP;//上一次卖开仓〔不包含出现买开信号的那根K线距离当前K线的周期数大于10,买平;
2、LLV;//上一次卖开仓〔包含开仓信号出现的当根k线到当前的最低价的最小值。
当根K线出现SK信号,AA返回为空值,如果需要返回当根K线上最低价,模型需要修改为:
AA:
IFELSE=1,LLV,L>;
〔1当根K线出现SK信号,BARSSK返回为空值,不满足BARSSK>=1的条件,则取值为当根K线的最低价L
〔2发出SK信号之后K线SARSBK返回卖开仓的K线距离当前K线的周期数,满足BARSSK>=1的条件,则取值为LLV,即卖开仓〔包含开仓信号出现的当根k
线到当前的最低价的最小值。
修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号。
3、AA:
IFELSE=1,REF,C>;//取最近一次卖开仓K线的收盘价
〔1发出SK信号的当根k线BARSSK返回空值,则当根K线不满足BARSSK>=1的条件,AA返回当根k线的收盘价;
〔2发出SK信号之后的k线BARSSK返回卖开仓的K线距离当前K线的周期数,则AA返回REF,即开仓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;
BARSBP返回值为上一个BP信号距离当前的K线根数〔包含当前K线
例:
1、BARSBP>10,BK;//上一次买平仓〔不包含出现买平信号的那根K线距离当前K线的周期数大于10,买开。
2、AA:
HHV;//上一次买平仓〔包含平仓信号出现的当根k线到当前的最高价的最大值。
当根K线出现BP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE=1,HHV,H>;
〔1当根K线出现BP信号,BARSBP返回为空值,不满足BARSBP>=1的条件,则取值为当根K线的最高价H
〔2发出BP信号之后K线BARSBP返回买平仓的K线距离当前K线的周期数,满足BARSBP>=1的条件,则取值为HHV,即买平仓〔包含平仓信号出现的当根k
线到当前的最高价的最大值。
3、AA:
IFELSE=1,REF,C>;//取最近一次买平仓K线的收盘价
〔1发出BP信号的当根k线BARSBP返回空值,则当根K线不满足BARSBP>=1的条件,AA返回当根k线的收盘价;
〔2发出BP信号之后的k线BARSBP返回买平仓的K线距离当前K线的周期数,则AA返回REF,即平仓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;
BARSSP返回值为上一个SP信号距离当前的K线根数〔包含当前K线
例:
1、BARSSP>10,BK;//上一次卖平仓〔不包含出现卖平信号的那根K线距离当前K线的周期数大于10,买开。
2、AA:
HHV;//上一次,卖平仓〔包含平仓信号出现的当根k线到当前的最高价的最大值。
当根K线出现SP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为:
AA:
IFELSE=1,HHV,