1、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天的
2、间隔(或N小时),这里N为92、计算方向移动: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;=SQUARE(SMOOTH);6、计算平滑系数为CONSTANT的自适应均线:AMACLOSE:REF(EM
3、A(C,9),1)+CONSTANT*(C-REF(EMA(C,9),1);ALIGN设置文字对齐方式(左中右)。DRAWTEXT(COND,PRICE,TEXT),ALIGNX;COND条件满足时,在PRICE的位置,标注TEXT,文字按照ALIGNX写入的方式对齐。ALIGN0,ALIGN1,ALIGN2,分别表示左对齐,居中对齐,右对齐。例:DRAWTEXT(CO,H,涨),ALIGN1,VALIGN1,FONTSIZE20,COLORGREEN;/在阳线的最高价标注文字“涨”,文字居中对齐,字体大小为20,颜色为绿色。ASINASIN(X):返回X的反正弦值。ASIN(-1);/求-1
4、的反正弦值;ASIN(1);/求1的反正弦值;ASK1ASK1 取得TICK图该笔TICK的卖一价。1、该函数必须在TICK图中使用,在K线图上返回空值。2、该函数需要有五档行情授权才能取到有效值,否则返回空值。AA:ASK1;/加载到有五档授权的TICK图中,定义AA为该笔TICK的卖一价;ASK2ASK2 取得TICK图该笔TICK的卖二价。ASK2;/加载到有五档授权的TICK图中,定义AA为该笔TICK的卖二价;ASK3ASK3 取得TICK图该笔TICK的卖三价。ASK3;/加载到有五档授权的TICK图中,定义AA为该笔TICK的卖三价;ASK4ASK4 取得TICK图该笔TICK的
5、卖四价。ASK4;/加载到有五档授权的TICK图中,定义AA为该笔TICK的卖四价;ASK5ASK5 取得TICK图该笔TICK的卖五价。ASK5;/加载到有五档授权的TICK图中,定义AA为该笔TICK的卖五价;ASK1VOLASK1VOL 取得TICK图该笔TICK的卖一量。VV:ASK1VOL;/加载到有五档授权的TICK图中,定义VV为该笔TICK的卖一量;ASK2VOLASK2VOL 取得TICK图该笔TICK的卖二量。ASK2VOL;/加载到有五档授权的TICK图中,定义VV为该笔TICK的卖二量;ASK3VOLASK3VOL 取得TICK图该笔TICK的卖三量。ASK3VOL;/
6、加载到有五档授权的TICK图中,定义VV为该笔TICK的卖三量;ASK4VOLASK4VOL 取得TICK图该笔TICK的卖四量。ASK4VOL;/加载到有五档授权的TICK图中,定义VV为该笔TICK的卖四量;ASK5VOLASK5VOL 取得TICK图该笔TICK的卖五量。ASK5VOL;/加载到有五档授权的TICK图中,定义VV为该笔TICK的卖五量;ASKBIGCOUNTASKBIGCOUNT 取得TICK图所定义数据区主动卖大单次数的和。1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数
7、返回0。3、该函数必须在TICK图中使用,在K线图上返回空值。4、该函数需要有五档行情授权才能取到有效值,否则返回空值。DEF_TICKDATA(0,5);/调用五秒的TICK数据SETBIGVOL(10);/设置大单阀值为10手ASKBIGCOUNT;/加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖的大单次数的和ASKBIGTOTVOLASKBIGTOTVOL 取得TICK图所定义数据区主动卖大单成交量的和。ASKBIGTOTVOL;/加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖大单成交量的和ASKVOLA
8、SKVOL 取得TICK图所定义数据区主动卖成交量的和。2、该函数必须在TICK图中使用,在K线图上返回空值。3、该函数需要有五档行情授权才能取到有效值,否则返回空值。ASKVOL;/加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖成交量的和ATANATAN(X):返回X的反正切值。X的取值为R(实数集)ATAN(-1.75);/求-1.75的反正切值;ATAN(1.75);/求1.75的反正切值;AUTOFILTERAUTOFILTER 启用信号过滤机制。模型中含有AUTOFILTER函数,则启用信号过滤机制。过滤模型的过滤规则:1、连续的同方向指令只
9、有第一个有效,其他的将被过滤;2、交易指令必须先开仓后平仓,一开一平配对出现:出现BK指令,下一个指令只允许出现SP指令;出现SK指令,下一个指令只允许出现BP指令;出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个;反手指令SPK和BPK交叉出现。CLOSEOPEN,BK;CLOSEopen,sp;AUTOFILTER; /启用信号过滤机制/价格大于五个周期均价的平均值则返回1,否则返回0。BACKGROUNDSTYLEBACKGROUNDSTYLE函数 设置背景的样式。BACKGROUNDSTYLE(i)设置背景的样式。i = 0 或1或2。1.0
10、 是保持本身坐标不变。1 是将坐标固定在0到100之间。2 是将坐标以0为中轴的坐标系。2、参数i的选择根据想要显示的指标数据范围而定。3、不支持将该函数直接定义为变量,即不支持下面的写法:BACKGROUNDSTYLE(i);MA(C,5);MA10:MA(C,10);BACKGROUNDSTYLE(0);DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);DEA : EMA(DIFF,9);2*(DIFF-DEA),COLORSTICK;BACKGROUNDSTYLE(2)BARPOSBARPOS,返回从第一根K线开始到当前的周期数。1、BARPOS返回本地已有的K线
11、根数,从本机上存在的数据开始算起。2、本机已有的第一根K线上返回值为1。LLV(L,BARPOS);/求本地已有数据的最小值。IFELSE(BARPOS=1,H,0);/当前K线是本机已有的第一根K线取最高值,否则取0。BARSLASTBARSLAST(COND):上一次条件COND成立到当前的周期数1、条件成立的当根k线上BARSLAST(COND)的返回值为02、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!BARSLAST(OPENCLOSE); /上一根阴线到现在的周期数。N:=BARSLAST(DATEREF(DATE,1)+1;/分钟周期,当日k线数。
12、/由于条件成立的当根k线上BARSLAST(COND)的返回值为0,所以“+1”才是当日k线根数。BARSLASTCOUNTBARSLASTCOUNT(COND) 从当前周期向前计算,统计连续满足条件的周期数。1、返回值为从当前周期计算COND连续不为0的周期数2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1BARSLASTCOUNT(CLOSEOPEN);/计算当根K线在内连续为阳线的周期数BARSSINCEBARSSINCE(COND) 第一个条件成立到当前的周期数。1、返回值为COND第一次成立到当前的周期数2、条件第一次成立的当根k线上BARSSINCE
13、(COND)的返回值为0BARSSINCE(CLOSE/统计第一次满足阳线这个条件的K线到现在的周期数BARSBKBARSBK 上一次买开信号位置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或
14、MULTSIG_MIN;)a.历史信号计算中,出现BK信号的当根K线,BARSBK返回空值b.加载运行过程中,信号固定后BARSBK返回空值(2)设置信号执行方式为K线走完复核(例如:在模型中写入CHECKSIG_SEC(BK,A,N,D,0);BARSBK返回值为上一个BK信号距离当前的K线根数(包含当前K线)1、BARSBK10,SP;/上一次买开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,卖平;2、HHV(H,BARSBK+1);/上一次买开仓(包含开仓信号出现的当根k线)到当前的最高价的最大值。当根K线出现BK信号,AA返回为空值,需要返回当根K线上最高价,模型需要
15、修改为: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:=1,REF(C,BARSBK),C);/取最近一次买开仓K线的收盘价(1)发出BK信号的当根k线BARSBK返回空值,则
16、当根K线不满足BARSBK=1的条件,AA返回当根k线的收盘价;(2)发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBK),即开仓k线的收盘价;(3)例:1、2、3三根k线,1 K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3 K线AA返回值为 1 K线的收盘价。BARSSKBARSSK 上一次卖开信号位置BARSSK返回上一次卖开仓的K线距离当前K线的周期数(不包含出现SK信号的那根K线)取包含SK信号出现的那根K线到当前K线的周期数,需要在此函数后+1,即BARSSK+1;由于发出SK信号的当根k线BARSSK返回空值,则BA
17、RSSK+1在发出SK信号当根k线返回空值。1、若当前K线之前无SK信号,则函数返回值为空值2、SK信号固定后BARSSK返回为空值。a.历史信号计算中,出现SK信号当根K线,BARSSK返回空值b.加载运行过程中,SK信号当根K线,信号固定后BARSSK返回空值在模型中写入CHECKSIG_SEC(SK,BARSSK返回值为上一个SK信号距离当前的K线根数(包含当前K线)1、BARSSK10,BP;/上一次卖开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,买平;2、LLV(L,BARSSK+1);/上一次卖开仓(包含开仓信号出现的当根k线)到当前的最低价的最小值。当根K线出
18、现SK信号,AA返回为空值,如果需要返回当根K线上最低价,模型需要修改为: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线满足了平仓条件,可以出现平仓信号。=1,REF(C,BARSSK),C);/取最近一次卖开仓K线的
19、收盘价(1)发出SK信号的当根k线BARSSK返回空值,则当根K线不满足BARSSK(2)发出SK信号之后的k线BARSSK返回卖开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSSK),即开仓k线的收盘价;1、2、3三根k线,1K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3K线AA返回值为1K线的收盘价。BARSBPBARSBP 上一次买平信号位置BARSBP返回上一次买平仓的K线距离当前K线的周期数(不包含出现BP信号的那根K线)取包含BP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSBP+1。由于发出BP信号的当根k线BARSBP返回空值,则
20、BARSBP+1在发出BP信号当根k线1、若当前K线之前无BP信号,则函数返回值为空值2、BP信号固定后BARSBP返回为空值。a.历史信号计算中,出现BP信号当根K线,BARSBP返回空值b.加载运行过程中,BP信号当根K线,信号固定后BARSBP返回空值在模型中写入CHECKSIG_SEC(BP,BARSBP返回值为上一个BP信号距离当前的K线根数(包含当前K线)1、BARSBP10,BK;/上一次买平仓(不包含出现买平信号的那根K线)距离当前K线的周期数大于10,买开。2、AA:HHV(H,BARSBP+1);/上一次买平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。当根K线出
21、现BP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为: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=1,REF(C,BARSBP),C);/取最近一次买平仓K线的收盘价(1)发出BP信号的当根k线BARSBP返回空值,则当根K线不满足BARSBP(2)发出BP信号之后
22、的k线BARSBP返回买平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBP),即平仓k线的收盘价;1、2、3三根k线,1 K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3 K线AA返回值为 1 K线的收盘价。BARSSPBARSSP 上一次卖平信号位置BARSSP返回上一次卖平仓的K线距离当前K线的周期数(不包含出现SP信号的那根K线)取包含SP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSSP+1。由于发出SP信号的当根k线BARSSP返回空值,则BARSSP+1在发出SP信号当根k线1、若当前K线之前无SP信号,则函数返回值为空值2、SP信号固定后BARSSP返回为空值。a.历史信号计算中,出现SP信号当根K线,BARSSP返回空值b.加载运行过程中,SP信号当根K线,信号固定后BARSSP返回空值在模型中写入CHECKSIG_SEC(SP,BARSSP返回值为上一个SP信号距离当前的K线根数(包含当前K线)1、BARSSP/上一次卖平仓(不包含出现卖平信号的那根K线)距离当前K线的周期数大于10,买开。HHV(H,BARSSP+1);/上一次,卖平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。当根K线出现SP信号,AA返回为空值,如果需要返回
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1