函数列表
函数名 函数说明 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的反余弦值; 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、计算波动性:波动性是市场噪音的总数量,计算了时间段内价格变化的总和。 ABS ACOS ADMA 文案大全 实用文档 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)); 设置文字对齐方式(左中右)。 用法:DRAWTEXT(COND,PRICE,TEXT),ALIGNX; COND条件满足时,在PRICE的位置,标注TEXT,文字按照ALIGNX写入的方式对齐。ALIGN0,ALIGN1,ALIGN2,分别表示左对齐,居中对齐,右对齐。 例: DRAWTEXT(C>O,H,'涨'),ALIGN1,VALIGN1,FONTSIZE20,COLORGREEN;//在阳线的最高价标注文字“涨”,文字居中对齐,字体大小为20,颜色为绿色。 ASIN(X):返回X的反正弦值。 注: 1、X取值范围[-1,1]。 2、若X不在取值范围,返回值为空值。 例1: ASIN(-1);//求-1的反正弦值; 例2: ASIN(1);//求1的反正弦值; ASK1 取得TICK图该笔TICK的卖一价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:ASK1;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖一价; ASK2 取得TICK图该笔TICK的卖二价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:ASK2;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖二价; ASK3 取得TICK图该笔TICK的卖三价。 注: ALIGN ASIN ASK1 ASK2 ASK3 文案大全
实用文档 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:ASK3;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖三价; ASK4 取得TICK图该笔TICK的卖四价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:ASK4;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖四价; ASK5 取得TICK图该笔TICK的卖五价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:ASK5;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖五价; ASK1VOL 取得TICK图该笔TICK的卖一量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:ASK1VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖一量; ASK2VOL 取得TICK图该笔TICK的卖二量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:ASK2VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖二量; ASK3VOL 取得TICK图该笔TICK的卖三量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:ASK3VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖三量; ASK4VOL 取得TICK图该笔TICK的卖四量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 ASK4 ASK5 ASK1VOL ASK2VOL ASK3VOL ASK4VOL 文案大全
实用文档 例: VV:ASK4VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖四量; ASK5VOL 取得TICK图该笔TICK的卖五量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:ASK5VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的卖五量; 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 取得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 取得TICK图所定义数据区主动卖成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:ASKVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动卖成交量的和 ASK5VOL ASKBIGCOUNT ASKBIGTOTVOL ASKVOL 文案大全
实用文档 ATAN ATAN(X):返回X的反正切值。 注:X的取值为R(实数集) 例1: ATAN(-1.75);//求-1.75的反正切值; 例2: ATAN(1.75);//求1.75的反正切值; AUTOFILTER 启用信号过滤机制。 用法:模型中含有AUTOFILTER函数,则启用信号过滤机制。 过滤模型的过滤规则: 1、连续的同方向指令只有第一个有效,其他的将被过滤; 2、交易指令必须先开仓后平仓,一开一平配对出现: 出现BK指令,下一个指令只允许出现SP指令; AUTOFILTER 出现SK指令,下一个指令只允许出现BP指令; 出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个; 反手指令SPK和BPK交叉出现。 例: CLOSE>OPEN,BK; CLOSE 实用文档 BARSLASTCOUNT 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线到现在的周期数 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线的周期数,满BARSSINCE BARSBK 文案大全 实用文档 足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线,1 K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3 K线AA返回值为 1 K线的收盘价。 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 线)到当前的最低价的最小值。 BARSSK 文案大全 实用文档 修改后如果平仓条件中用到了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返回上一次买平仓的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线的收盘价; BARSBP 文案大全 实用文档 (2)发出BP信号之后的k线BARSBP返回买平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBP),即平仓k线的收盘价; (3)例:1、2、3三根k线,1 K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3 K线AA返回值为 1 K线的收盘价。 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,BARSSP+1),H); (1)当根K线出现SP信号,BARSSP返回为空值,不满足BARSSP>=1的条件,则取值为当根K线的最高价H (2)发出SP信号之后K线BARSSP返回买平仓的K线距离当前K线的周期数,满足BARSSP>=1的条件,则取值为HHV(H,BARSSP+1),即卖平仓(包含平仓信号出现的当根k 线)到当前的最高价的最大值。 3、AA:IFELSE(BARSSP>=1,REF(C,BARSSP),C);//取最近一次卖平仓K线的收盘价 (1)发出SP信号的当根k线BARSSP返回空值,则当根K线不满足BARSSP>=1的条件,AA返回当根k线的收盘价; (2)发出SP信号之后的k线BARSSP返回卖平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSSP),即平仓k线的收盘价; (3)1、2、3三根k线,1 K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3 K线AA返回值为 1 K线的收盘价 BARSSP 文案大全 实用文档 BETWEEN BETWEEN(A,B,C) 表示A是否处于B和C之间,成立返回1(Yes),否则返回0(No)。 注: 1、其中若A=B、A=C、或A=B且B=C时函数返回值为1(Yse)。 例1: BETWEEN(CLOSE,MA5,MA10); //表示收盘价介于5日均线与10日均线之间。 BID1 取得TICK图该笔TICK的买一价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:BID1;//加载到有五档授权的TICK图中,定义AA为该笔TICK的买一价; BID2 取得TICK图该笔TICK的买二价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:BID2;//加载到有五档授权的TICK图中,定义AA为该笔TICK的买二价; BID3 取得TICK图该笔TICK的买三价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:BID3;//加载到有五档授权的TICK图中,定义AA为该笔TICK的买三价; BID4 取得TICK图该笔TICK的买四价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:BID4;//加载到有五档授权的TICK图中,定义AA为该笔TICK的买四价; BID5 取得TICK图该笔TICK的买五价。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: AA:BID5;//加载到有五档授权的TICK图中,定义AA为该笔TICK的买五价; BID1VOL 取得TICK图该笔TICK的买一量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 BID1 BID2 BID3 BID4 BID5 BID1VOL 文案大全 实用文档 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:BID1VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的买一量; BID2VOL 取得TICK图该笔TICK的买二量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:BID2VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的买二量; BID3VOL 取得TICK图该笔TICK的买三量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:BID3VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的买三量; BID4VOL 取得TICK图该笔TICK的买四量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:BID4VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的买四量; BID5VOL 取得TICK图该笔TICK的买五量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: VV:BID5VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的买五量; BIDBIGCOUNT 取得TICK图所定义数据区主动买大单次数的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:BIDBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动买的大单次数的和 BID2VOL BID3VOL BID4VOL BID5VOL BIDBIGCOUNT 文案大全 实用文档 BIDBIGTOTVOL BIDBIGTOTVOL 取得TICK图所定义数据区主动买大单成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:BIDBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动买大单成交量的和 BIDVOL 取得TICK图所定义数据区主动买成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:BIDVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的主动买成交量的和 BIDVOL BKBIGCOUNT 取得TICK图所定义数据区买开大单成交次数的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 BKBIGCOUNT 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 VV:BKBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买开大单的成交次数的和 BKBIGTOTVOL 取得TICK图所定义数据区买开大单成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例:\\r\\ 10、CODE写为'AUTO'时,不支持加载到页面盒子中。nDEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:BKBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔BKBIGTOTVOL 文案大全 实用文档 TICK)所有TICK的买开大单的成交量的和 BKPRICE 返回数据合约最近一次买开信号价位。 用法: BKPRICE 返回数据合约最近一次买开信号发出时的行情的最新价。 注: 1、当数据合约和交易合约相同时BKPRICE值和BKPRICE1值相等。 2、当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最近一次开仓信号的价格,而不是开仓均价。 3、不同信号执行方式,其返回值分别为: (1)信号执行方式为不进行信号复核 a.历史回测:BKPRICE返回信号发出时的数据合约行情最新价 b.模组运行:BKPRICE返回信号发出时的数据合约行情最新价 (2)信号执行方式选择K线走完确认信号下单 a.历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价 b.模组运行:BKPRICE返回信号发出时数据合约当根K线的收盘价 (3)信号执行方式设置为K线走完进行信号复核 a.历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价 b.模组运行:复核前,返回上一次BK信号当根K线数据合约的行情最新价;复核后,返回本次BK信号当根K线数据合约的行情最新价 4、当模组自动初始化时,BKPRICE返回的为上一次买开信号时数据合约行情的最新价;手动初始化,BKPRICE返回为初始化弹出框中填入的持仓价格。 例: BKPRICE-CLOSE>60 && BKPRICE>0 && BKVOL>0, SP;//如果买开价位比当前价位高出60,且多头持仓存在,卖平仓。 BKPRICE1 返回交易合约最近一次买开信号价位。 用法: BKPRICE1:返回交易合约最近一次买开信号发出时的行情的最新价。 注: 1、当数据合约和交易合约相同时BKPRICE值和BKPRICE1值相等。 2、当数据合约和交易合约不同时,不同信号执行方式,其返回值分别为: (1)信号执行方式为不进行信号复核 a.历史回测:BKPRICE1返回信号发出时的交易合约行情最新价 b.模组运行:BKPRICE1返回信号发出时的交易合约行情最新价 (2)信号执行方式选择K线走完确认信号下单 a.历史回测:BKPRICE1返回信号发出时交易合约当根K线的收盘价 b.模组运行:BKPRICE1返回信号发出时交易合约当根K线的收盘价 (3)信号执行方式设置为K线走完进行信号复核 a.历史回测:BKPRICE1返回信号发出时交易合约当根K线的收盘价 b.模组运行:复核前,返回上一次BK信号当根K线交易合约的行情最新价;复核后,返回本次BK信号当根K线交易合约的行情最新价 3、当模组自动初始化时,BKPRICE1取最近的BK信号发出时的交易合约行情的最新价;手动初始化时,BKPRICE1取初始化弹出框中填入的持仓价格。 BKPRICE BKPRICE1 文案大全 实用文档 BKPRICE2 BKPRICE2 模组子账户交易合约多头开仓均价。 用法: BKPRICE2 返回模组子账户交易合约多头开仓均价。 注: 1、历史回测未指定交易合约时: (1)过滤模型开仓信号后,未出平仓信号时:BKPRICE2取值和BKPRICE取值相同。 (2)过滤模型平仓信号后:BKPRICE2返回值为0。 (3)非过滤模型持仓不为0时:BKPRICE2返回理论持仓的开仓均价。 (4)非过滤模型持仓为0时:BKPRICE2返回值为0。 2、历史回测指定交易合约时: (1)过滤模型开仓信号后,未出平仓信号时:BKPRICE2取值和BKPRICE1取值相同。 (2)过滤模型平仓信号后:BKPRICE2返回值为0。 (3)非过滤模型持仓不为0时:BKPRICE2返回交易合约理论持仓的开仓均价。 (4)非过滤模型持仓为0时:BKPRICE2返回值为0。 3、模组运行,盘中出现BK信号,BKPRICE2取值为交易合约模组多头持仓的开仓均价。 4、该函数在模组运行中读取的是模组实际持仓的开仓均价,非理论持仓。 5、挂单时开仓均价不变,实际成交后才计算开仓均价。 例: CLOSE-BKPRICE2>60&&BKPRICE2>0&&BKVOL>0,SP;//当前价位比多头开仓均价高出60,且多头持仓存在,卖平仓。 买开仓以来的最高价 用法: BKHIGH返回最近一次模型买开位置到当前的最高价。 1、信号执行方式为K线走完确认信号下单 a.历史信号计算中,BK(BPK)信号之后的K线返回委托以来的行情的最高价 b.加载运行过程中,BK(BPK)信号当根K线返回的为信号发出时行情的最新价,BK之后的K线返回委托以来的行情最高价 2、信号执行方式选择K线走完复核(例如:在模型中写入CHECKSIG_SEC(BK,'A',0,'D',0);),从BK(BPK)信号发出时行情时开始统计行情的最高价;信号消失,返回 上次买开以来的行情的最高价,信号确认存在,返回当根K线记录的行情的最高价 注:BK信号发出后,中间出了信号消失,从最后一次信号出现开始统计最高价 3、信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG_SEC或MULTSIG_MIN;),BK(BPK)信号的当根K线返回从信号发出到K线走完时行情的最高价;BK (BPK)信号之后的K线返回信号发出以来行情的最高价。 例: C>O,BK; C>BKPRICE&&C 实用文档 的数值 4、 回测中:如果回测参数中设置的资金不够开仓,开仓手数为0,BKVOL1返回值为0。 模组加载中:如果模组子账户资金不够开仓,开仓手数为0,BKVOL1返回值为0。 例: BKVOL1=0&&C>O,BK(1);//多头持仓为0并且收盘价大于开盘价时,买开一手 BKVOL1>=1&&H>HV(H,5),BK(2); //多头持仓大于等于1,并且当根K线的最高价大于前面5个周期中最高价中最大值时,加仓2手 BKVOL1>0&&L 注: 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! BKVOLUME 取得TICK图所定义数据区买开成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:BKVOLUME;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买开的成交量的和 BKVOLUME BPBIGCOUNT 取得TICK图所定义数据区买平大单成交次数的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 BPBIGCOUNT 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:BPBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买平大单的成交次数的和 BPBIGTOTVOL 取得TICK图所定义数据区买平大单成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 BPBIGTOTVOL 文案大全 实用文档 SETBIGVOL(10);//设置大单阀值为10手 VV:BPBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买平大单的成交量的和 BPVOLUME 取得TICK图所定义数据区买平成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:BPVOLUME;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买平的成交量的和 CEILING(A):返回沿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));//对收盘价四舍五入后取整数部分 CHECKSIG_MIN 设置信号复核确认方式(基础数据为1分钟数据) 用法: CHECKSIG_MIN(SIG,MODE1,TIME1,MODE2,TIME2);SIG为信号,MODE1为信号确认方式,TIME1信号确认时间,MODE2信号复核方式,TIME2信号复核时间。 注: 1、写了这个函数以后,模型会按照指令价方式运行。 2、使用该函数时,加载1分钟及以上周期回测的基础数据为1分钟数据。 3、SIG位置为交易指令,包括BK\\SK\\BP\\SP\\BPK\\SPK\\CLOSEOUT所有指令。 4、MODE1位置为信号确认方式,有A和B两种: A:出信号N分钟确认信号下单。N在TIME1位置设置,N>0为出信号N分钟确认信号下单,N=0为出信号立即下单。 B:K线走完前N分钟确认信号下单。N在TIME1位置设置,N>0为K线走完前N分钟确认信号下单,N=0为K线走完确认信号下单 5、MODE2位置为信号复核方式,有C,D,E和F四种: C:下单后N分钟进行信号复核。N在TIME2位置设置,N>0为下单后N分钟进行信号复核,N=0为不复核。 D:K线走完前N分钟进行信号复核。N在TIME2位置设置,N>0为K线走完前N分钟进行信号复核,N=0为K线走完复核。 E:每一个小节(包括:商品合约10:15-10:30休盘、11:30-13:30休市;股指合约11:30-13:00休市)最后一根K线提前N分钟复核。N在TIME2位置设置,N>0BPVOLUME CEILING CHECKSIG_MIN 文案大全 实用文档 为每一个小 节最后一根K线提前N分钟进行信号复核,N=0为不复核。其他非小节最后一根K线是K线走完复核。 F:每天收盘前最后一根K线提前N分钟复核。N在TIME2位置设置,N>0为每天收盘前最后一根K线提前N分钟进行信号复核,N=0为不复核。其他非收盘前最后一根K线是 K线走完复核。 6、模型中写入该函数,一根K线只能有一个信号。 7、MULTSIG_SEC、MULTSIG_MIN、CHECKSIG_SEC和CHECKSIG_MIN函数不能同时出现在一个模型中 8、该函数只允许在模组中使用,不支持加载到盒子。 9、未使用该函数的指令,默认的信号执行方式为K线走完确认信号下单。 10、该函数加载秒周期回测的基础数据为TICK数据。 11、参数N非0时,该函数不支持加载到量能周期和日线以上的周期中使用。 12、如果用该函数设置了信号复核,复核时产生了信号消失,会进行信号消失处理。信号消失的处理方式: 还没有成交时的信号消失处理-撤单 BK、SK信号消失处理-平仓 BPK、SPK信号消失处理-平仓+恢复建仓 BP、SP信号消失处理-恢复建仓 几种典型的信号复核确认方式对应的写法举例: CHECKSIG_MIN(SIG,'A',0,'D',0);//出信号立即下单,K线走完复核 CHECKSIG_MIN(SIG,'A',N,'D',0);//出信号N分钟确认信号下单,K线走完复核 CHECKSIG_MIN(SIG,'A',N,'C',0);//出信号N分钟确认信号下单,不进行复核 CHECKSIG_MIN(SIG,'B',N,'D',0);//K线走完前N分钟确认信号下单,K线走完复核 CHECKSIG_MIN(SIG,'B',N,'C',0);//K线走完前N分钟确认信号下单,不复核 CHECKSIG_MIN(SIG,'B',0,'C',N);//K线走完确认信号下单 CHECKSIG_MIN(SIG,'B',0,'D',0);//K线走完确认信号下单 CHECKSIG_MIN(SIG,'A',0,'C',0);//出信号立即下单,不复核 CHECKSIG_MIN(SIG,'A',0,'F',10);//出信号立即下单,收盘前最后一根K线提前10分钟进行复核。 例: C>O,BK; C 实用文档 CHECKSIG_SEC(SIG,'A',0,'F',10);//出信号立即下单,收盘前最后一根K线提前10秒进行复核。 例: C>O,BK; C 实用文档 CLOSESEC CLOSESEC,返回K线开始时间距离收盘前的秒数。 注: 1、该函数只能用于收盘价模型。 2、该函数返回当根K线开始时间距离收盘的秒数。 3、该函数需要加载到秒周期使用;不支持在TICK周期,量能周期,分钟及以上周期使用。 4、该函数的返回值包含小结和午休的时间。 5、CLOSESEC返回的是交易所的时间,不是本机的时间。 6、对于夜盘合约,夜盘收盘不是当日收盘,15点收盘才算作当日收盘。 7、CLOSESEC在合约交割日,返回实际收盘时间。 8、CLOSESEC加载到主力合约上,主力换月和合约交割在同一天,则按照交割日的收盘时间计算,主力换月和合约交割不在同一天,那么按照正常的非交割日进行计算 。 9、该函数不支持和CLOSEMINUTE同时使用。 例: CROSS(C,MA(C,5))&&CLOSESEC>15,BK;//十五秒周期上,收盘价上穿五周期均线,开仓,当天最后一根K线不交易 CROSS(MA(C,5),C)&&CLOSESEC>15,SP;//十五秒周期上,收盘价下穿五周期均线,平仓,当天最后一根K线不交易 AUTOFILTER; CLOSESEC1,返回距离收盘前的秒数。 注: 1、该函数只能用于指令价模型。 2、 历史K线:该函数返回K线结束时间距离收盘的秒数。 盘中:该函数返回K线当前时间距离收盘的秒数。 3、该函数不支持在TICK周期,量能周期使用。 4、该函数返回值包含小结和午休的时间。 5、CLOSESEC1返回的是交易所的时间,不是本机的时间。 6、对于夜盘合约,夜盘收盘不是当日收盘,15点收盘才算作当日收盘。 7、CLOSESEC1在合约交割日,返回实际收盘时间。 8、CLOSESEC1加载到主力合约上,主力换月和合约交割在同一天,则按照交割日的收盘时间计算,主力换月和合约交割不在同一天,那么按照正常的非交割日进行计算 。 9、该函数不支持和CLOSEMINUTE1同时使用。 例: CROSS(C,MA(C,5)),BK;//最新价上穿五周期均线,买开 MULTSIG_SEC(0,0,1);//使用TICK数据回测,出信号立即下单,不复核 CLOSESEC1<=5,CLOSEOUT;//收盘前五秒钟,清仓。 AUTOFILTER; CLOSESEC1 COLORSTICK COLORSTICK 画柱线。 文案大全 实用文档 用法:X,COLORSTICK;画柱线,柱高为X的值,X大于0为红色柱线,X小于0为青色柱线。 注:不支持将该函数定义为变量,即不支持下面的写法:A:COLORSTICK; 例: C-O,COLORSTICK;//画柱线,阳线时画红色向上柱线,阴线时画青色的向下柱线。 CONDBARS(A,B);取得最近的满足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周期均线之间的周期数 COS(X):返回X的余弦值。 注: 1、X的取值为R(实数集) 2、值域为[-1,1] 例1: COS(-1.57);//返回-1.57的余弦值 例2: COS(1.57);//返回1.57的余弦值 COUNT(COND,N):统计N周期中满足COND条件的周期数。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值算起; 3、当N为有效值,但当前的k线数不足N根,从第一根统计到当前周期。 4、N 为空值时返回值为空值 。 5、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 COS COUNT 文案大全 实用文档 COUNTSIG COUNTSIG(X,N); 统计N周期内,X信号的数量; 用法: X可以为BK、SK、SP、BP、SPK、BPK、CLOSEOUT 注: 1、统计周期时, (1)包含当前k线; (2)若N为0则从第一个有效值算起; (3)当N为有效值,但当前的k线数不足N根,从第一根统计到当前周期。 (4)N 为空值时返回值为空值 。 (5)N可以为变量 2、统计信号时: (1)信号执行方式选择为K线走完确认信号或者K线走完复核(例如:在模型中写入CHECKSIG_SEC(SIG,'A',0,'D',0);),则不包含当根K线上的信号 (2)信号执行方式选择为不进行信号复核(例如:在模型中写入MULTSIG_SEC或MULTSIG_MIN;),则包含当根上信号发出并且固定后的信号 例: N:=BARSLAST(DATE<>REF(DATE,1))+1; BKN:=COUNTSIG(BK,N); MA5:=MA(C,5); BKN=0&&C>MA5,BK;//当日内日未出现过BK信号并且最新价大于5周期均线,则买开仓 CROSS(A,B) 表示A从下方向上穿过B,成立返回1(Yes),否则返回0(No) 注: 1、满足穿越的条件必须上根k线满足A<=B,当根k线满足A>B才被认定为穿越。 例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:=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卖开仓 //CROSSDOWN(MA5,MA10),SK; 与 CROSSDOWN(MA5,MA10)=1,SK;表达同等意义 CROSS CROSSUP CROSSDOWN 文案大全 实用文档 CROSS2 CROSS2(A,B,N) 表示N个周期内当A从下方向上穿B偶数次。 注: 1、若N为0,则从第一个有效的值开始算。 2、当N为有效值,但当前的k线数不足N根,或者N空值的情况下,代表不成立,该函数返回0 3、N可以为变量 例1: MA5:=MA(C,5); CROSS2(C,MA5,10) 返回值为1(Yes),表示当前周期是10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次;返回值为0(No),表示当前周期不是 10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次 小圆圈线。 用法: CROSSDOT 画小圆圈线。 注: 1、该函数支持设置颜色。 2、不支持将函数定义为变量,即不支持下面的写法:A:CROSSDOT; 例:MA5:MA(C,5),CROSSDOT,COLORCYAN;//用小圆圈线画5周期均线,圆圈线显示为青色。 CUBE(X):返回X的三次方。 例1: CUBE(4);//求4的立方。 画虚线。 用法: DASH 画虚线。 注: 1、该函数支持设置颜色。 2、不支持将函数定义为变量,即不支持下面的写法:A:DASH; 例:MA5:MA(C,5),DASH,COLORCYAN;//用虚线画5周期均线,显示为青色。 画点虚线。 用法: DASHDOT 画点虚线。 注: 1、该函数支持设置颜色。 2、不支持将函数定义为变量,即不支持下面的写法:A:DASHDOT; 例:MA5:MA(C,5),DASHDOT,COLORCYAN;//用点虚线画5周期均线,显示为青色。 画双点虚线。 用法: CROSSDOT CUBE DASH DASHDOT DASHDOTDOT 文案大全 实用文档 DASHDOTDOT 画双点虚线。 注: 1、该函数支持设置颜色。 2、不支持将函数定义为变量,即不支持下面的写法:A:DASHDOTDOT; 例:MA5:MA(C,5),DASHDOTDOT,COLORCYAN;//用双点虚线画5周期均线,显示为青色。 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(DATE<>REF(DATE,1))+1;//当天开盘以来共有多少根K线。 例2: AA:DATE=130507&&TIME=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(DATE<>REF(DATE,1))+1; CC:IFELSE(DAY=1,VALUEWHEN(N=1,O),0);//当日期为1时,取开盘价,否则取值为0. DAYTRADE 分钟周期上只用日内数据计算。 用法: DAYTRADE 模型中写入该函数,分钟周期上,只用日内数据进行计算,以避免行情跳空导致指标数据失真。 注: 1、该函数适用日线以下周期。 2、不同函数对当天数据的引用不同,使用时需注意函数用法,如: MA(X,N)函数N的取值:当天如果k线小于N根,则返回空值。如果k线为大于等于N根,则取N。 HHV(X,N)函数N的取值:当天如果k线小于N根,则返回实际根数,如果k线为大于等于N根,则取N。 例: DATE DAY DAYTRADE 文案大全 实用文档 MA5^^MA(C,5); MA10^^MA(C,10); CROSSUP(MA5,MA10),BK;//5周期均线上穿10周期均线,买开仓 CROSSDOWN(MA5,MA10),SK;//5周期均线下穿10周期均线,卖开仓 C C>SKPRICE+10*MINPRICE,BP;//亏损10点平空 CLOSEMINUTE<=1,CLOSEOUT;//收盘前一分钟,清仓。 AUTOFILTER;//过滤模型 DAYTRADE;//分钟周期上,只用日内数据进行计算 DEF_TICKDATA(Type,N) 定义五档TICK数据区。 用法:DEF_TICKDATA(Type,N);定义TICK数据区。 Type为0时,N表示多少秒(最大60秒) Type为1时,N表示多少笔(最大200笔) 注: 1、使用五档统计函数时,必须先调用该函数定义数据区。 2、一个模型中,只能调用一次DEF_TICKDATA函数。 3、该函数必须在TICK图中使用。 4、该函数需要有五档行情授权才能取到有效值。 例: DEF_TICKDATA(1,10);//调用10笔TICK数据 VV:L2_SPBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为10笔TICK内(包含当笔TICK)所有TICK的卖平大单的成交量的和 DEVSQ(X,N): 计算数据X的N个周期的数据偏差平方和。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N不支持为变量 算法举例:计算DEVSQ(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQUARE(C-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,2)-(C+REF(C,1)+REF(C,2))/3); 例: DEVSQ(C,5);计算数据收盘价5个周期的数据偏差平方和。 //表示收盘价与收盘价均值偏差分别平方之后求和,DEVSQ(C,5)表示5个周期的收盘价与收盘价均值偏差分别平方之后求和。 DEF_TICKDATA DEVSQ DIVERGENCE(X1,X2,S,L,HL);变量X1与X2在指定周期内是否发生背离 用法: DIVERGENCE 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);//在20个周期内,收盘价与10周期均线存在顶背离 说明:收盘价峰值的判断标准--收盘价大于前2个周期的收盘价,并且大于后2个周期的收盘价,认为为收盘价的峰值; 即在当根K线前面的20个周期(不包含当根K线)内,收盘价存在两个这样的峰值,且峰值创了新高,但是在两个峰值对应K线取到的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 画点线。 用法: DOT 画点线。 注: 不支持将该函数直接定义为变量,即不支持下面的写法:A:DOT; 例:MA5:MA(C,5),DOT;用点线画5日均线。 DRAWBARLINE(H1,O1,L1,C1);绘制BAR线(美国线) 用法: 在L1到H1之间绘制柱线,在O1位置绘制左侧横线,在C1位置绘制右侧横线。 注: 不支持将该函数直接定义为变量,即不支持下面的写法: A:DRAWBARLINE(H1,O1,L1,C1); 例: DRAWBARLINE(H,O,L,C); //在最高价和最低价之间绘制BAR线,在开盘价位置绘制左侧横线,在收盘价位置绘制右侧横线。 DRAWBKBMP(COND,IMAGE) 设置背景图片。 用法: DRAWBKBMP(COND,IMAGE); 当最后一根K线满足COND条件时,将图片IMAGE设置为背景。 注: DMA DOT DRAWBARLINE DRAWBKBMP 文案大全 实用文档 1、IMAGE指定的图片必须位于程序安装目录的Formula\\Image目录下(Image文件夹需要用户自己建立) 2、图片格式必须为.BMP格式。 3、不支持将函数定义为变量,即不支持下面的写法: A:DRAWBKBMP(COND,IMAGE); 例1: DRAWBKBMP(CLOSE>OPEN,'壁纸20140410112435');//当最后一根K线为阳线时,将Formula\\Image目录下的壁纸20140410112435图片设置为背景。 输出图片。 用法: DRAWBMP(COND,DATA,IMAGE); 当满足COND条件时,在DATA位置,输出图片IMAGE。 注: 1、IMAGE指定的图片必须位于程序安装目录的Formula\\Image目录下(Image文件夹需要用户自己建立) 2、图片格式必须为.BMP格式 3、图片路径需要添加.BMP后缀 4、不支持将函数定义为变量,即不支持下面的写法: A:DRAWBMP(COND,DATA,IMAGE); 5、输出的图片不能过大,否则会影响显示速度。 例1: DRAWBMP(CLOSE>OPEN,H,'壁纸20140410112435.BMP');//当K线为阳线时,在K线最高价位置显示Formula\\Image目录下的壁纸20140410112435图片。 DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2);根据条件画相应颜色的线 用法:当满足COND时,DATA为COLOR1颜色的线,不满足COND时,DATA为COLOR2颜色的线 注: 1、不支持将该函数直接定义为变量,即不支持下面的写法: A:DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2); 2、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法: DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2),LINETHICK; 例1: MA1:=MA(C,5); DRAWCOLORLINE(MA1>REF(MA1,1),MA1,COLORRED,COLORGREEN); //如果当根5日均线的值大于前一根5日均线的值,MA1画红线,否则画绿线 DRAWCOLUMNCHART 画柱形图。 用法: DRAWCOLUMNCHART(X,C1,C2); X表示柱高,C1条件满足时从0轴向上画柱,不满足时从0轴向下画柱,C2条件满足时柱为红色,不满足时柱为绿色 注: DRAWBMP DRAWCOLORLINE DRAWCOLUMNCHART 文案大全 实用文档 1、C1、C2是判断条件。 2、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWCOLUMNCHART(X,C1,C2); 例1: DRAWCOLUMNCHART(10,C>O,C>O);//满足收阳条件从0轴向上10个高度画红色柱,不满足条件从0轴向下10个高度画绿色柱。 DRAWGBK(COND,C1,C2,D) 设置渐变背景色。 用法: DRAWGBK(COND,C1,C2,D); 当最后一根K线满足COND条件时,以C1至C2的渐变色填充背景。 注: 1、C1,C2可以用颜色函数定义,即可以支持下面的写法: DRAWGBK(CLOSE>0,COLORRED,COLORGREEN,0);//用户可以在插入-插入颜色中选择 2、C1,C2也支持直接使用自定义颜色,即支持下面的写法: DRAWGBK(CLOSE>0,RGB(0,255,255),RGB(128,128,255),0);//用户可以在插入-插入颜色中选择 3、D指定渐变方向,0表示从左到右,1表示从上到下。 4、不支持将函数定义为变量,即不支持下面的写法: A:DRAWGBK(COND,C1,C2,D); 例1: DRAWGBK(CLOSE>OPEN,COLORRED,COLORGREEN,1);//当最后一根K线为阳线时,将背景设置为从上到下,红色到绿色的渐变。 DRAWICON:绘制小图标。 用法: DRAWICON(COND,PRICE,ICON); 当COND条件满足时,在PRICE位置画图标ICON。 注: 1、该函数可以指定位置PRICE标注图标ICON 2、ICON位置可以写成'ICON'的形式,也可以写为数字的形式,即DRAWICON(COND,PRICE,'ICON1');等价于DRAWICON(COND,PRICE,1); 3、该函数可以用ALIGN,VALIGN设置图标的对齐方式。 4、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWICON(COND,PRICE,ICON); 例1: DRAWICON(CLOSE 写完“DRAWICON(CLOSE 例2: MA5:=MA(C,5); DRAWICON(C>MA5,MA5,2),ALIGN0,VALIGN0;//表示在收盘价大于5周期均线的k线对应的MA5数值位置上画出图标ICON2,图标左上对齐。 写完“DRAWICON(C>MA5,MA5,” 以后,点击插入图标按钮,再单击选中的图标插入到函数中,图标用ICO1~ICO105(或1~105)表示。 DRAWGBK DRAWICON 文案大全 实用文档 DRAWSL DRAWSL 绘制直线(段)。 用法: DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,COLOR); 当条件COND满足时,在DATA数据处以每个周期相差SLOPE个价位作为斜率画LEN个周期长的线段。 EXPAND为画线延长方式0:不延伸;1:向左延伸;2:向右延伸;3:双向延伸。 注: 1、每根k线与每根k线(每个周期)的纵向高度差为SLOPE。 2、当SLOPE为0时,画的是水平线。 3、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法: DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,COLOR),LINETHICK; 4、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,COLOR); 例1: DRAWSL(C>O,H,0,2,0,COLORYELLOW);//表示当前k线为阳线时,从最高价开始画长度为2个周期的水平线,颜色为黄色。 例2: DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED),LINETHICK5;//表示当前最低价等于50周期内的最小值时,从当前最低价开始以每隔5个点的斜率画长度为3个周期 向右延伸的斜线,颜色为红色,线型粗细为5。 DRAWSL1 绘制直线(段)。 用法: DRAWSL1(COND,DATA,SLOPE,LEN,EXPAND); 当COND条件满足时,在DATA数据处以每个周期相差SLOPE个价位作为斜率画LEN个周期长的线段。 EXPAND为延伸方向:0为向右,1为向左,2为双向。 注: 1、每根k线与每根k线(每个周期)的纵向高度差为SLOPE。 2、当SLOPE为0时,画的是水平线,LEN为0则直线无限延伸。 3、该函数支持在函数后设置颜色、线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的两种写法: DRAWSL1(COND,DATA,SLOPE,LEN,EXPAND),LINETHICK,COLOR; DRAWSL1(COND,DATA,SLOPE,LEN,EXPAND),COLOR,LINETHICK; 4、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWSL1(COND,DATA,SLOPE,LEN,EXPAND); 例1: DRAWSL1(C>O,H,0,2,0),COLORYELLOW;//表示当前k线为阳线时,从最高价开始画长度为2个周期的水平线,颜色为黄色。 例2: DRAWSL1(LOW=LLV(LOW,50),LOW,5,3,1),COLORRED,LINETHICK5;//表示当前最低价等于50周期内的最小值时,从当前最低价开始以每隔5个点的斜率画长度为3个周 DRAWSL1 文案大全 实用文档 期向左延伸的斜线,颜色为红色,线型粗细为5。 DRAWLINE 绘制直线段。 用法: DRAWLINE(C1,P1,C2,P2,COLOR); 满足条件C1时及C2时从P1向P2画线。颜色为COLOR。 注: 1、画线所在的k线须C1、C2同时满足。 2、绘制的直线段是在满足的k线上从P1到P2位置画COLOR颜色的线段。 3、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法: DRAWLINE(C1,P1,C2,P2,COLOR),LINETHICK; 4、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWLINE(C1,P1,C2,P2,COLOR); 例1: MA5:=MA(C,5); MA10:=MA(C,10); DRAWLINE(MA10CLOSE,CLOSE,COLORCYAN);//表示当收盘价大于10日均线并且小于5日均线时,从开盘价画青色直线到收盘价。 例2: DRAWLINE(ISUP,C,ISUP,H,COLORRED),LINETHICK7;//表示当前k线收阳时,从收盘价价画红色直线到最高价,线型粗细为7。 DRAWLINE1 绘制直线段。 用法: DRAWLINE1(C1,P1,C2,P2,EXP); 满足条件C1时及C2时从P1向P2画线。EXP为0表示画线不延伸,EXP不为0表示画线延伸。 注: 1、画线连接的是满足C1条件的K线的P1位置,和该K线后最近一个满足C2条件的K线的P2位置。 2、EXP为0,画线不延伸,即画线段;EXP不为0,画线延伸,即画射线 3、该函数支持在函数后设置颜色、线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的两种写法: DRAWLINE1(C1,P1,C2,P2,EXP),LINETHICK,COLOR; DRAWLINE1(C1,P1,C2,P2,EXP),COLOR,LINETHICK; 4、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWLINE1(C1,P1,C2,P2,EXP); 例: DRAWLINE1(ISUP,H,ISDOWN,L,0),COLORBLUE,LINETHICK7;//表示在阳线的最高价处到距离该阳线最近的一根阴线的最低价处画线,画线不延伸,画线颜色为蓝色, 线型粗细为7。 DRAWKLINE 自定义K线颜色,实空心及宽度。 用法: DRAWLINE DRAWLINE1 DRAWKLINE 文案大全 实用文档 DRAWKLINE(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2); 按照宽度比例WidthRatio画线,阳线以COLOR1和EMPTY1判断,阴线以COLOR2和EMPTY2判断。WidthRadio从0到1,COLOR1、COLOR2代表颜色,Empty非0为空心。 注: 1、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWKLINE(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2); 例1: DRAWKLINE(0.75,COLORRED,1,COLORCYAN,0);//绘制K线宽度比例为0.75,阳线为红色空心,阴线为绿色实心。 例2: DRAWKLINE(0.5,COLORYELLOW,0,COLORBLUE,1);//绘制K线宽度比例为0.5,阳线为黄色实心,阴线为蓝色空心。 DRAWKLINE1(H1,O1,L1,C1) 绘制K线。 用法:DRAWKLINE1(H1,O1,L1,C1);以H1为最高价,L1为最低价,O1为开盘价,C1为收盘价绘制K线。 注: 1、写入的参数要符合逻辑,即H1大于等于O1,L1,C1;L1小于等于H1,O1,C1。 DRAWKLINE1 2、参数写好后,系统会根据写入的高开低收绘制K线,阳线显示为红色空心,阴线显示为青色实心。 3、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWKLINE1(H1,O1,L1,C1); 例: DRAWKLINE1(H,O,L,C); //按照高开低收为H,O,L,C绘制K线。 DRAWKLINE2 绘制K线。 用法: DRAWKLINE2(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2); 1、绘制K线,黑色背景下,盘整时K线显示为黄色;白色背景下,盘整时K线显示为蓝色。 2、按照宽度比例WidthRatio画线,阳线以COLOR1和EMPTY1判断,阴线以COLOR2和EMPTY2判断。WidthRadio从0到1,COLOR1、COLOR2代表颜色,Empty非0为空心。 DRAWKLINE2 注: 1、绘制盘整K线的区间,根据函数PANZHENG进行计算 2、不支持将该函数定义为变量,即不支持下面的写法: A:DRAWKLINE2(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2); 例: DRAWKLINE2(0.75,COLORRED,1,COLORCYAN,0);//绘制K线宽度比例为0.75,阳线为红色空心,阴线为绿色实心。盘整时K线显示为黄色。 文案大全 实用文档 DRAWNUMBER:输出数值。 用法: DRAWNUMBER(COND,DATA,NUMBER,PRECISION,COLOR); 当条件满足时在DATA位置写数字NUMBER。PRECISION为精度(小数点后有几位数字)。COLOR为颜色。 注: 1、该函数可以用ALIGN,VALIGN设置文字的对齐方式。 2、可以用FONTSIZE设置文字显示的字体大小。 例1: DRAWNUMBER DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);//表示当日涨幅大于8%时在最高价位置红色显示涨幅数值(相对开盘价的百分比,精确 2为小数)。 例2: DRAWNUMBER(DATE<>REF(DATE,1),L,REF(C,1),2,COLORRED),ALIGN0,VALIGN0;//表示在当天第一根k线的最低价处以红色显示昨收盘价数值(精确2为小数),标注文 字居左,居上对齐。 DRAWNUMBER1:输出数值。 用法: DRAWNUMBER1(COND,DATA,NUMBER,PRECISION); 当条件满足时在DATA位置写数字NUMBER。PRECISION为精度(小数点后有几位数字)。 注: 该函数支持在函数后设置文字的颜色、文字的大小和文字对齐方式。即支持下面的写法: DRAWNUMBER1(COND,DATA,NUMBER,PRECISION),COLOR,ALIGN,VALIGN; 例1: DRAWNUMBER1(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2),COLORRED;//表示当日涨幅大于8%时在最高价位置红色显示涨幅数值(相对开盘价的百分比,精确 2为小数)。 例2: DRAWNUMBER1(DATE<>REF(DATE,1),L,REF(C,1),2),COLORRED,ALIGN0,VALIGN0;//表示在当天第一根k线的最低价处以红色显示昨收盘价数值(精确2为小数),标注文 字居左,居上对齐。 DRAWTEXT:显示文字。 用法: DRAWTEXT(COND,PRICE,TEXT); 当COND条件满足时,在PRICE位置书写文字TEXT。 注: 1、显示的汉字用单引号标注 DRAWNUMBER1 DRAWTEXT 文案大全 实用文档 2、该函数可以用ALIGN,VALIGN设置文字的对齐方式。 3、该函数可以用FONTSIZE设置文字显示的字体大小 4、该函数可以用COLOR设置文字的颜色。 例1: DRAWTEXT(CLOSE 实用文档 例2: MA5:MA(C,5); MA10:MA(C,10); FILLRGN(MA5>MA10,MA5,MA10,COLORRED);//表示MA5>MA10时以红色填充MA5和MA10之间的区域。 FILLRGN1 条件满足时,填充某一区域。 用法: FILLRGN1(COND, DATA1, DATA2); 当条件COND满足时,填充DATA1及DATA2之间形成的区域。 注: 1、该函数支持在函数后设置颜色,即支持下面的写法: FILLRGN1(COND, DATA1, DATA2), COLOR; 2、不支持将该函数定义为变量,即不支持下面的写法: A:FILLRGN1(COND,DATA1,DATA2); 例1: FILLRGN1(ISUP,10,20),COLORRED;//K线为阳线时,用红色填充10到20之间的区域。 例2: MA5:MA(C,5); MA10:MA(C,10); FILLRGN1(MA5>MA10,MA5,MA10),COLORRED;//表示MA5>MA10时以红色填充MA5和MA10之间的区域。 FILTER(COND,N) 当COND条件成立,将其后N周期内的数据设置为0. 注: 1、N为空值,返回空值。 2、N不能为变量 3、不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用 例1: FILTER(CLOSE>OPEN,3);// 查找阳线,3天内再次出现的阳线不被记录在内 FLOOR(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));//对收盘价四舍五入后取整数部分。 FILLRGN1 FILTER FLOOR 文案大全 实用文档 FONTSIZE 设置字体大小。 用法: FONTSIZEX,X为8至72,表示字体由小到大。 注: 不支持将该函数直接定义为变量,即不支持下面的写法:A:FONTSIZE9; 例1: DRAWTEXT(C>O,H,'阳线'),FONTSIZE10;//收盘价大于开盘价,则在K线最高价处以10的字体大小标注阳线。 例2: DRAWTEXT(C<=\"\" font=\"\"> FORCAST(X,N):为X的N周期线性回归预测值。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N可以是变量 算法举例:用最小平方法计算FORCAST(C,N);在最近一根K线上的值 1、建立一元线性方程:y=a+b*i+m 2、y的估计值:y(i)^=a+b*i 3、求残差:m^=y(i)-y(i)^=y(i)-a-b*i 4、误差平方和: Q=m(1)*m(1)+...+m(3)*m(3)=[y(1)-a-b*1]*[y(1)-a-b*1]+...+[y(3)-a-b*3]*[y(3)-a-b*3] 5、对线性方程中的参数a,b求一阶偏导: 2*{[y(1)-a-b*1]+...+[y(3)-a-b*3]}*(-1)=0 2*[y(1)-a-b*1]*(-1)+...+[y(3)-a-b*3]*(-3)=0 6、联立以上两个公式,解出a,b的值: a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3 b=y(1)*i(1)+y(2)*i(2)+y(3)*i(3)-3*((y(1)+y(2)+y(3))/3)*((i(1)+i(2)+i(3))/3) 7、将a,b,i值带入1,求出y值: 以上公式用麦语言函数可以表示如下: BB:(3*C+2*REF(C,1)+REF(C,2)-(3*((1+2+3)/3)*MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3*SQUARE((1+2+3)/3)); AA:MA(C,3)-BB*(1+2+3)/3; YY:AA+BB*3; 例: FORCAST(CLOSE,5);//表示求5周期线性回归预测值 GETPRICE 根据文华码取报价列表窗口某一个合约的行情报价数据。 注: 1、在清盘时间该函数收不到数据,返回值为0。 2、该函数不支持回测。使用该函数时,加载之前的历史数据返回加载时刻该函数FORCAST GETPRICE 文案大全 实用文档 取到的行情报价。 例1: GETPRICE(1209, 'OPEN');//返回文华码为1209合约的开盘价。 例2: GETPRICE(8606, 'AVPRICE');//返回文华码为8606合约的均价。 //其中'OPEN'可以替换为以下 'HIGH':最高 'LOW':最低 'NEW':最新 'AVPRICE':均价 'SETTLE':结算 'YCLOSE':昨收盘 'YSETTLE':昨结算 'BID1':买1 'BIDVOL1':买1量 'ASK1':卖1 'ASKVOL1':卖1量 'VOLUME':成交量 'OPI':持仓量 'DELTAVOL':现手 'DELTAOPI':增仓 'RISELIMIT':涨停价 'FALLLIMIT':跌停价 GROUPBKVOL('letter') 取指令分组模型letter组的买开信号手数。 用法: GROUPBKVOL('A')返回指令分组模型组A的多头模组持仓。 参数可以取从A-I 注: 相应组的买开信号后,GROUPBKVOL('A')增加,即BK('A'),BPK('A'),BK('A',1)后GROUPBKVOL('A')增加,其他组的开仓信号,GROUPBKVOL('A')取值不变 相应组的卖平信号后,GROUPBKVOL('A')取值相应的减少,即SP('A'),SPK('A'),SP('A',1)后,GROUPBKVOL('A')取值减少,其他组的平仓信号后,GROUPBKVOL('A GROUPBKVOL ')取值不变 全清信号后,GROUPBKVOL('A')取值减为0 例: MA1:MA(C,5); C>MA1,BK('A',1); C>O,BK('B',1); GROUPBKVOL('A')>0&&C>REF(H,1),BK('A',1);//A组多头持仓大于0并且最新价大于前一周前最高价,再买开一手 C C 注意 文案大全 实用文档 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! GROUPSKVOL('letter') 取指令分组模型letter组的卖开信号手数。 用法: GROUPSKVOL('A')返回指令分组模型组A的空头模组持仓。 参数可以取从A-I 注: 相应组的卖开信号后,GROUPSKVOL('A')增加,即SK('A’),SPK('A'),SK('A',1)后GROUPSKVOL('A')增加,其他组的开仓信号,GROUPSKVOL('A')取值不变 相应组的买平信号后,GROUPSKVOL('A')取值减少,即BP('A'),BPK('A'),BP('A',1)后,GROUPSKVOL('A')取值减少,其他组的平仓信号后,GROUPSKVOL('A')取值 不变 全清信号后,GROUPBKVOL('A')取值减为0 GROUPSKVOL 例: MA1:MA(C,5); C 实用文档 注: 1、COND是判断条件;A、B可以是条件,也可以是数值。 例1: IFELSE(ISUP,H,L);//k线为阳线,取最高价,否则取最低价 例2: A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0));//当MA5>MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为 2,若上述条件都不满足,A赋值为0 A=1,BPK;//当MA5>MA10,以DIFF上穿DEA作为开多仓条件 A=2,SPK;//当MA5不大于MA10,以K、D死叉作为开空仓条件 INTPART(X):取X的整数部分。 例1: INTPART(12.3);//返回值为12; 例2: INTPART(-3.5);//返回值为-3; 例3: INTPART(10);//返回值为10; 例5: INTPART(C);//求收盘价的整数部分。 ISDOWN 判断该周期是否收阴 注: 1、ISDOWN等同于C 实用文档 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG_SEC或MULTSIG_MIN;),SK信号当根ISLASTSK返回值为1 注:模型中含有SPK条件,且上一个信号为平仓信号时,SPK会自动转化为SK信号发出,此时虽然满足SPK条件,但图中发出的信号为SK信号,所以ISLASTSK返回为1 例: C 实用文档 LAST LAST(COND,N1,N2) 判断过去N1到N2周期内,是否一直满足COND条件。 注: 1、若N1与N2只相差一个周期(如N1=3,N2=2),则函数判断距离当前K线最近的那个周期上是否满足条件(即判断过去N2个周期的那根K线上是否满足条件) 2、当N为有效值,但当前的k线数不足N根,或者N空值的情况下,代表不成立,该函数返回0 3、N可以是变量。 例1: LAST(CLOSE>OPEN,10,5);//表示从过去第10个周期到第5个周期内一直是阳线 例2: MA5:=MA(C,5); LAST(C>MA5,4,3);//判断距离当前k线3个周期的那根k线上是否满足C大于MA5. LASTSIG判断最近一个信号 例:AA:LASTSIG=BK;//最近一个 稳定的信号为BK信号AA返回值为1,否则返回0. LASTSIG的不同返回值代表的信号: BK:200; SK:201; BP:202; SP:203; BPK:204; SPK:205; 注意 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 添加线型粗细控制。 用法: LINETHICK1 LINETHICK2————LINETHICK7 线型由细至粗。 注: 1、不支持将该函数直接定义为变量,即不支持下面的写法:A:LINETHICK1; 2、该函数可以和颜色函数一起使用,即支持下面的写法:AA:C,COLORBLUE,LINETHICK5; 例:MA5:MA(C,5),COLORRED,LINETHICK4; 给5日均线中度加粗,颜色为红色。 LLV(X,N): 求X在N个周期内的最小值。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起; 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算; 4、N为空值时,返回空值。 5、N可以是变量。 LASTSIG LINETHICK LLV 文案大全 实用文档 例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) 求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线之间的周期数。 LN(X):求X的自然对数。 注: 1、X取值范围为非0自然数,即1、2、3、4、5…… 2、若X取值为0或负数,返回值为空值。 例: LN(OPEN);//求开盘价的对数。 LOOP1(X,N,TYPE);循环统计函数 对X在N个周期进行TYPE相应的操作 LV LLVBARS LN LOOP1 文案大全 实用文档 注: TYPE取值: MAX_VALUE 最大值; MIN_VALUE 最小值; MAX_POS 最大值位置; MIN_POS 最小值位置; MAX1_VALUE 最大值(不包括自身周期); MIN1_VALUE 最小值(不包括自身周期); MAX1_POS 最大值位置(不包括自身周期); MIN1_POS 最小值位置(不包括自身周期); SECONDMAX_VALUE 次大值; SECONDMIN_VALUE 次小值; SECONDMAX_POS 次大值位置; SECONDMIN_POS 次小值位置; SECONDMAX1_VALUE 次大值(不包括自身周期); SECONDMIN1_VALUE 次小值(不包括自身周期); SECONDMAX1_POS 次大值位置(不包括自身周期); SECONDMIN1_POS 次小值位置(不包括自身周期); TIMES 满足表达式的次数; ADD 加和; AVERAGE 均值。 例1: HH:VALUEWHEN(WAVEPEAK(2),H);//取波峰位置的最高价 HH1:LOOP1(HH,10,SECONDMAX_VALUE);//10周期内波峰位置的最高价的次高值 含义说明: 1、取包含当根K线内的10根K线内的波峰位置的K线的最高价 2、对最高价从大到小进行排序 3、当根K线的HH1返回值为排序中第二大的值 注:如果10个周期最高值为唯一值,即10个周期的HH取值相同,则最高值与次高值相等,HH1返回对应的HH值 例2: HH1:LOOP1(H,10,SECONDMAX1_POS); 说明:不包含当根K线的前面10根K线的最高价中第二大的取值对应K线,距离当前K线的位置 例3: POS1:LOOP1(H,30,SECONDMAX1_POS); POS2:LOOP1(H,30,MAX1_POS); POS1 实用文档 LOOP1(X,N,MIN_VALUE)=LLV(X,N) LOOP1(X,N, MAX_POS)=HHVBARS(X,N) LOOP1(X,N, MIN_POS)=LLVBARS(X,N) LOOP1(X,N, MAX1_VALUE)=HV(X,N) LOOP1(X,N, MIN1_VALUE)=LV(X,N) LOOP1(X,N, TIMES)=COUNT(X,N) LOOP1(X,N, ADD)=SUM(X,N) LOOP1(X,N, AVERAGE)=MA(X,N) LONG_TIME,取模组最后一次买开或买平成交的时间。 实用文档 注: 1:返回的为本机时间。 2:该函数不支持效果测试,只能用于模组运行。 3:LONG_TIME返回的数值为六位数,即HHMMSS的形式。 例: LONG_TIME>110000;//表示最后一次买开或买平成交时间在11点之后 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四者中的最大值 MAX1(A...P) 在A到P中取最大值。 注: 1、支持2-16个数值进行比较。 2、A...P可以为数字也可以为变量。 例1: MAX1(CLOSE,OPEN);//表示取开盘价和收盘价中较大者。 例2: MAX1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);//表示取数字1-16中的最大值。 MA(X,N) 求X在N个周期内的简单移动平均 算法:MA(X,5)=(X1+X2+X3+X4+X5)/5 注: 1、N包含当前k线。 2、简单移动平均线沿用最简单的统计学方式,将过去某特定时间内的价格取其平均值。 3、当N为有效值,但当前的k线数不足N根,函数返回空值。 4、N为0或空值的情况下,函数返回空值。 5、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。 MAX MAX1 MA 文案大全 实用文档 MARGIN MARGIN 保证金 用法:MARGIN返回当前合约的保证金比率,用于模型中资金、手数相关计算。 注: 1、MARGIN返回值为小数 2、主图加载、回测中,MARGIN取值为回测参数中,对保证金的设置 3、模组子账户运行时MARGIN取值为模组子账户加载时保证金参数中保证金的设置 4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例: K:=MONEYTOT*0.2/(C*MARGIN*UNIT+FEE); //模组子账户权益的20%可以开仓的手数 MIN(A,B):取最小值。取A,B中较小者 注: 若A=B,返回值为A或者B的值。 例1: MIN(OPEN,CLOSE);//表示取开盘价和收盘价中的较小者。 例2: MIN(C,MIN(O,REF(C,1)));//求当前周期的开盘价,收盘价,以及上周期的收盘价间最小的数值 MIN1(A...P) 在A到P中取最小值。 注: 1、支持2-16个数值进行比较。 2、A...P可以为数字也可以为变量。 例1: MIN1(CLOSE,OPEN);//表示取开盘价和收盘价中较小者。 例2: MIN1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);//表示取数字1-16中的最小值。 MINUTE,返回某个周期的分钟数。 注: 1:MINUTE的取值范围为0—59 2:该函数只能加载在分钟周期上,返回当根K线开始的分钟数。 例1: MINUTE=0;//在整点时刻的分钟K线上返回值为1,其余K线返回这为0。 例2: TIME>1400&&MINUTE=50,SP;//在14:50的时候卖平仓。 取数据合约的最小变动价位。 用法: MIN MIN1 MINUTE MINPRICE 文案大全 实用文档 MINPRICE; 取加载数据合约的最小变动价位。 取交易合约的最小变动价位。 用法: MINPRICE1; 取交易合约的最小变动价位。 返回某品种的最小变动价位。 用法: MINPRICED(N); 返回N所对应合约的最小变动价位。 N 某个参数或变量。 例1: PARAM [N, 1 ,10000,8603]; MINPRICED(N); 返回参数是文华码8603所对应IF1203合约的最小变动价位。 例2: N:=8603; MINPRICED(N);返回8603所对应IF1203合约的最小变动价位。 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为偶数。 MONTH,返回某个周期的月份。 注: MONTH的取值范围为1—12. 例1: VALUEWHEN(MONTH=3&&DAY=1,C);//在K线日期为三月一日时取其收盘价。 例2: C>=VALUEWHEN(MONTH MONEY 模组子账户可用资金 用法:MONEY返回模组子账户可用资金,用于仓位、手数等计算。 计算方法: 1、模组子账户中MONEY的初始值为保证金参数中设置的起始资金。 2、历史回测中MONEY的初始值为回测参数中设置的初始资金。 3、开仓信号当根k线的MONEY值:开仓前可用资金-持仓保证金-手续费,其中持MINPRICE1 MINPRICED MOD MONTH MONEY 文案大全 实用文档 仓保证金=持仓均价*保证金比例*交易单位*手数 4、开仓后未平仓的k线的MONEY值和开仓信号当根k线的MONEY值一样,保持不变 5、平仓信号当根k线的MONEY值:平仓前可用资金+平仓盈亏+平仓释放的保证金-手续费,其中平仓释放的保证金=持仓均价*保证金比例*交易单位*手数 注: 1、信号执行方式为,‘K线走完确认下单’或‘XX下单,K线走完复核’: a.开仓信号当根K线,MONEY返回值为上根K线的可用资金-开仓保证金-手续费。 b.平仓信号当根K线,MONEY返回值为上根K线的可用资金+平仓盈亏+持仓释放的保证金-手续费。 2、信号执行方式选择,‘出信号下单,不进行复核’: a.开仓信号当根K线,MONEY返回值为当根k线开仓之前的可用资金-开仓保证金-手续费。 b.平仓信号当根K线,MONEY返回值为当根K线平仓之前的可用资金+平仓盈亏+平仓释放的保证金-手续费。 3、信号执行方式为‘K线走完确认信号下单’时,平仓盈亏=(平仓信号当根K线的收盘价-持仓均价)*手数*交易单位-手续费。 4、信号执行方式为‘出信号立即下单,不复核’时,平仓盈亏=(平仓信号的指令价-持仓均价)*手数*交易单位-手续费。 5、模组子账户初始化后,MONEY返回值为初始化框中可用资金 6、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度。 例: K:=MONEY*0.2/(C*MARGIN*UNIT+FEE); //模组子账户可用资金的20%可以开仓的手数 MONEYRATIO 模组子账户资金使用率 用法:MONEYRATIO返回当前的模组子账户的资金使用率,模型进行资金管理控制仓位时使用。 计算方法:资金使用率=持仓保证金/模组权益。 注: 1、该函数返回值为小数。 2、开仓信号当根k线持仓保证金: a、信号执行方式为‘K线走完确认信号下单’:持仓保证金=当根K线的收盘价*交易单位*持仓手数*保证金比例。 b、信号执行方式为‘XX下单,K线走完复核’:持仓保证金=当根K线的收盘价*MONEYRATIO 交易单位*持仓手数*保证金比例。 c、信号执行方式为‘出信号立即下单,不复核’:持仓保证金=最新价*交易单位*持仓手数*保证金比例。 3、开仓后平仓前K线持仓保证金=当根K线的收盘价*交易单位*持仓手数*保证金比例。 4、平仓信号当根MONEYRATIO返回0。 5、平仓后无持仓MONEYRATIO返回值为0。 6、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用。 例: 文案大全 实用文档 A&&MONEYRATIO<0.3,BK;//A条件满足并资金使用率不超过30%时,买开仓 MONEYREAL 模组子账户实际权益 用法:MONEYREAL返回当前模组子账户实际权益,显示为模组的实际资金曲线 计算方法:MONEYREAL=模组子账户初始权益值+平仓盈亏+浮动盈亏-手续费成本 注: 1、模组子账户中初始权益值: a、新建的模组,MONEYREAL返回值为模组加载时设置的初始资金 b、打开已有的模组时,模组子账户的初始权益值为上一次退出模组时的模组子账户实际权益 2、平仓盈亏和手续费从模组子账户加载时刻开始累计计算 3、历史回测中MONEYREAL返回值为模组子账户的初始资金值,产生实际交易时,MONEYREAL的返回值才开始变化 4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例: K:=MONEYREAL*0.2/(C*MARGIN*UNIT+FEE); //模组子账户实际权益的20%可以开仓的手数 MONEYTOT 模组子账户权益 用法:MONEYTOT返回当前模组子账户权益,模型进行仓位控制、下单手数等资金管理时使用 计算方法:MONEYTOT=模组子账户可用资金+持仓保证金+浮动盈亏+平仓盈亏 注: 1、模组子账户中MONEYTOT的初始值为保证金参数中设置的起始资金。 2、历史回测中MONEYTOT的初始值为回测参数中设置的初始资金。 3、模组子账户初始化时: a、当前信号为开仓信号,MONEYTOT返回值为初始化框中模组子账户可用资金; b、当前信号为平仓信号,则MONEYTOT返回初始化框中模组子账户可用资金+持仓保证金+浮动盈亏。 4、开仓信号当根k线:MONEYTOT=模组子账户可用资金+持仓保证金+浮动盈亏 5、开仓后平仓前:MONEYTOT返回当前模组子账户可用资金+持仓保证金+浮动盈亏 6、平仓信号当根k线:持仓为0时,MONEYTOT=模组可用资金;持仓不为0时,MONEYTOT=模组可用资金+持仓占用的保证金+浮动盈亏+平仓盈亏。其中平仓盈亏的计算方 法 a、信号执行方式为‘K线走完确认信号下单’时:平仓盈亏=(平仓信号当根K线的收盘价-持仓均价)*手数*交易单位。 b、信号执行方式为‘出信号立即下单,K线走完复核时’:平仓盈亏=(平仓信号的指令价-持仓均价)*手数*交易单位。 7、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例: K:=MONEYTOT*0.2/(C*MARGIN*UNIT+FEE); //模组子账户权益的20%可以开仓的手MONEYREAL MONEYTOT 文案大全 实用文档 数 MULTSIG_MIN(min1,min2,N) 设置信号复核确认方式,开仓信号出信号min1分钟下单不复核,平仓信号出信号min2分钟下单不复核,一根K线上最大的信号个数为N。 用法: MULTSIG_MIN(min1,min2,N) 如果需要一根k线上出现多个交易信号,则可以使用该函数;同时,模型的信号执行方式为出信号下单不复核,回测的基础数据为1分钟数 据。 注: 1、写了这个函数以后,模型会按照指令价方式运行。 2、使用该函数时,加载1分钟及以上周期回测的基础数据为1分钟数据。 3、min1设置的信号为:BK/SK;min2设置的信号为:BP/SP/BPK/SPK/CLOSEOUT 4、含有该函数的模型,满足条件后min分钟出信号立即下单,并且此信号固定,不随之后行情是否满足条件而变化。其中,min=0,出信号立即下单不复核;min>0 出 信号min分钟下单不复核。 5、出信号后如果未到min分钟K线已经走完,则提前确认信号下单。 6、该函数不支持加载到页面盒子中使用。 7、该函数支持一根K线上多个信号,最大的信号个数为N。N取值范围为1-60,超过这个范围,N值按照60计算 8、MULTSIG_SEC、MULTSIG_MIN、CHECKSIG_SEC和CHECKSIG_MIN函数不能同时出现在一个模型中。 9、模型中含有该函数,效果测试中模型信号价位为模型满足条件时候行情的最新价。 10、模型中不含有该函数,信号执行方式默认为K线走完确认信号下单。 11、该函数加载秒周期回测的基础数据为TICK数据。 12、N支持写为变量。 例: C>REF(H,1),BK;//价格大于上一根k线最高价,开多仓 C MULTSIG_MIN(3,0,3);//设置信号复核确认方式为开仓信号,出信号后3分钟下单,不复核;平仓信号出信号立即下单,不复核。一根K线上最大信号个数为3。回测的 基础数据为1分钟数据。 AUTOFILTER; MULTSIG_SEC(Sec1,Sec2,N) 设置信号复核确认方式,开仓信号出信号Sec1秒下单不复核,平仓信号出信号Sec2秒下单不复核,一根K线上最大的信号个数为N。 用法: MULTSIG_SEC(Sec1,Sec2,N) 如果需要一根k线上出现多个交易信号,则可以使用该函数;同时,模型的信号执行方式为出信号下单不复核,回测的基础数据为TICK数 据。 MULTSIG_MIN MULTSIG_SEC 文案大全 实用文档 注: 1、写了这个函数以后,模型会按照指令价方式运行。 2、该函数使用Tick逐笔函数做计算,回测精准,但是计算量大,每一天就要计算几万笔,速度会慢很多。 3、Sec1设置的信号为:BK/SK;Sec2设置的信号为:BP/SP/BPK/SPK/CLOSEOUT 4、含有该函数的模型,满足条件后Sec秒出信号立即下单,并且此信号固定,不随之后行情是否满足条件而变化。其中,Sec=0,出信号立即下单不复核;Sec>0 出信 号Sec秒下单不复核。 5、出信号后如果未到Sec秒K线已经走完,则提前确认信号下单。 6、该函数不支持加载到页面盒子中使用。 7、该函数支持一根K线上多个信号,最大的信号个数为N。N取值范围为1-60,超过这个范围,N值按照60计算 8、MULTSIG_SEC、MULTSIG_MIN、CHECKSIG_SEC和CHECKSIG_MIN函数不能同时出现在一个模型中。 9、模型中含有该函数,效果测试中模型信号价位为模型满足条件时候行情的最新价。 10、模型中不含有该函数,信号执行方式默认为K线走完确认信号下单 11、N支持写为变量。 例: C>REF(H,1),BK;//价格大于上一根k线最高价,开多仓 C MULTSIG_SEC(3,0,3);//设置信号复核确认方式为开仓信号,出信号后3秒下单,不复核;平仓信号出信号立即下单,不复核。一根K线上最大信号个数为3。回测的基 础数据为TICK数据。 AUTOFILTER; MYVOL 取下单手数 用法:取下单手数,多用于在非过滤模型加载多个合约的时候的手数计算。 注: 1、模组加载: 主图右键加载到模组:返回主图回测参数设置中设置的手数 新建模组:返回交易参数中设置的手数 2、页面盒子: 主图右键加载到盒子:历史信号MYVOL返回主图回测参数中设置的手数,盘中新生成的K线返回默认下单手数 新建盒子:返回默认下单手数 3、主图回测:返回回测参数中设置的手数 例: //加载参数中下单手数设置为3时,下面编写BK的下单手数为6; C>O,BK(3*MYVOL); C 实用文档 NULL 返回空值 用法: MA5:=MA(C,5); MA10:=MA(C,10); A:IFELSE(MA5>MA10,MA5,NULL),COLORRED;//当MA5>MA10时,画五日均线MA5,不满足MA5>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) 注意: 1、N为自然数,M为实数;且N与M不能为变量 2、X为基础变量 例: JZ:=NUMPOW(C,5,2); OFFSETPROFIT 模组子账户的平仓盈亏 用法:OFFSETPROFIT返回当前模组子账户的平仓盈亏,用于风险控制。 注: 1、模组子账户初始化后,OFFSETPROFIT重新计算,从模组子账户加载时刻开始计算平仓盈亏。 2、信号执行方式为‘K线走完确认信号下单’或‘XX下单,K线走完复核’:OFFSETPROFIT根据信号当根K线的收盘价计算平仓盈亏。 3、信号执行方式为‘出信号立即下单不复核’:OFFSETPROFIT根据信号确认时的行情最新价计算平仓盈亏。 4、OFFSETPROFIT与日志中记录的平仓盈亏不同,后者根据成交价计算。 5、OFFSETPROFIT的计算不包含手续费。 6、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例: OFFSETPROFIT>-5000&&C>O,BK;//平仓盈亏大于-5000,并且当前K线为阳线时,买开 OPEN 取得K线图的开盘价。 注: 1、可简写为O。 例1: OO:O;//定义OO为开盘价; 例2: NN:=BARSLAST(DATE<>REF(DATE,1)); OO:REF(O,NN);//取的当日的开盘价 例3: MA5:MA(O,5);//定义开盘价的5周期均线(O为OPEN简写)。 NUMPOW OFFSETPROFIT OPEN 文案大全 实用文档 OPI OPI 取得K线图的持仓量。 例1: OPID:OPI;//定义OPID为持仓量。 例2: OPI>=REF(OPI,1);//持仓量大于前一个周期的持仓量,表示持仓量增加。 例3: NN:=BARSLAST(DATE<>REF(DATE,1))+1; OPID:REF(OPI,NN);//取的昨天收盘时的持仓量 PANZHENG 判断当前行情是否为盘整 用法:返回1:表示盘整,返回0:表示不是盘整。 注: 这个函数的目的是用于判断当根k线是否盘整状态,是否适合做开仓操作,从而优化趋势模型,避免在盘整阶段频繁交易。 这个函数不适合用于判断一段行情,也就是说不适合用来开发突破模型。 例: MA1:MA(CLOSE,5); MA2:MA(CLOSE,10); CROSS(MA1,MA2)&&PANZHENG=0,BK;//盘整行情不开新仓,减少模型在盘整阶段的资金回撤 CROSS(MA2,MA1),SP; AUTOFILTER; PARTLINE 画线段。 用法: PARTLINE(COND, DATA, COLOR); 条件COND满足时,以COLOR颜色的直线连接DATA各点 注: 1、该函数是将满足条件的DATA以线段形式连接起来,连线并不连续。 2、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法: PARTLINE(COND, DATA, COLOR),LINETHICK; 3、不支持将该函数定义为变量,即不支持下面的写法: A:PARTLINE(COND,DATA,COLOR); 例1: PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED);//表示当期最高价大于前期最高价时用红色绘制最高价线段。 例2: PARTLINE(LOW<=\"\" font=\"\"> PARTLINE1 画线段。 用法: PARTLINE1(COND,DATA); 条件COND满足时,用线段连接DATA各点。 注: PANZHENG PARTLINE PARTLINE1 文案大全 实用文档 1、该函数是将满足条件的DATA以线段形式连接起来,连线并不连续。 2、该函数支持在函数后设置颜色、线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的两种写法: PARTLINE1(COND,DATA),COLOR,LINETHICK; PARTLINE1(COND,DATA),LINETHICK,COLOR; 3、不支持将该函数定义为变量,即不支持下面的写法: A:PARTLINE1(COND,DATA); 例: PARTLINE1(HIGH>REF(HIGH,1),HIGH),COLORRED,LINETHICK5;//表示当期最高价大于前期最高价时用红色绘制最高价线段,线型粗细为5。 PERIOD,返回当前技术分析图表的周期。 注: 1:该函数暂不支持自定义周期。 2:该函数在秒周期上返回值为0. 3:返回数字为1—11分别表示,1分钟,3分钟,5分钟,10分钟,15分钟,30分钟,1小时,1天,1周,1月,1年。 例: N:=BARSLAST(DATE<>REF(DATE,1))+1; OO:VALUEWHEN(N=1,O); IFELSE(PERIOD=1,OO,NULL);//取当天一分钟周期的开盘价。 PLAYSOUND 条件满足时,播放指定声音。 用法: PLAYSOUND(COND, 'N') 当条件满足时,播放声音'N' 注: 1、点击设置声音按钮,在弹出来的界面中设置声音,声音用字符'A'~'J'表示。 2、自定义声音可以在设置菜单的设置声音文件中设置 3、条件一直满足,则只播放一次,不重复播放。 4、不支持将该函数直接定义为变量,即不支持下面的写法: A:PLAYSOUND(COND, 'N'); 例: PLAYSOUND(CLOSE>OPEN,'A');表示CLOSE>OPEN时播放自定义声音'A'。 画点线。 用法: POINTDOT 画点线。 注: 不支持将该函数直接定义为变量,即不支持下面的写法:A:POINTDOT; 例:MA5:MA(C,5),POINTDOT;用点线画5日均线。 POLYLINE函数 画折线。 PERIOD PLAYSOUND POINTDOT POLYLINE 文案大全 实用文档 用法: POLYLINE(COND,DATA,COLOR); 条件COND满足时,用颜色COLOR的折线连接DATA的值。 注: 1、该函数是将满足条件的DATA以折线形式连接起来,连线连续 2、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法:POLYLINE(COND,DATA,COLOR),LINETHICK; 3、不支持将该函数定义为变量,即不支持下面的写法: A:POLYLINE(COND,DATA,COLOR); 例1: POLYLINE(CLOSE>=HHV(CLOSE,10),CLOSE,COLORRED);//表示在收盘价创10天新高点之间画折线。折线显示为红色。 例2: POLYLINE(CLOSE<=LLV(CLOSE,10),CLOSE,COLORBLUE),LINETHICK7;//表示在收盘价创10天新低点之间画折线。折线显示为蓝色,线型粗细为7。 POLYLINE1 画折线。 用法: POLYLINE1(COND,DATA); 条件COND满足时,用折线连接DATA的值。 注: 1、该函数是将满足条件的DATA以折线形式连接起来,连线连续 2、该函数支持在函数后设置颜色、线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的两种写法: POLYLINE1(COND,DATA),LINETHICK,COLOR; POLYLINE1(COND,DATA),COLOR,LINETHICK; 3、不支持将该函数定义为变量,即不支持下面的写法: A:POLYLINE1(COND,DATA); 例1: POLYLINE1(CLOSE>=HHV(CLOSE,10),CLOSE),COLORRED;//表示在收盘价创10天新高点之间画折线。折线显示为红色。 例2: POLYLINE1(CLOSE<=LLV(CLOSE,10),CLOSE),COLORBLUE,LINETHICK7;//表示在收盘价创10天新低点之间画折线。折线显示为蓝色,线型粗细为7。 POW(X,Y):求X的Y次幂。 注: 1、当X为负数时,Y必须为整数,因为底数为负时,不能进行开方运算,返回值为空值。 2、X,Y可以为数值,也可以为变量。 例1: POW(CLOSE,2);//求得收盘价的2次方。 例2: POW(10,2);//返回值为100 例3: POLYLINE1 POW 文案大全 实用文档 POW(1/2,-2);//返回值为4 例4: POW(100,O-C);//返回100的O-C次方 指定数值的输出精度(小数位数)。 用法: PRECISX,X为0至6,表示小数位数从0到6。 注: 不支持将该函数直接定义为变量,即不支持下面的写法:A:PRECIS0; 例1: MA(C,5),PRECIS4;//计算五周期均线,数值精度为4位小数。 PROFIT 模组子账户逐笔浮盈 用法:PROFIT返回当前的模组子账户逐笔浮动盈亏,用于交易策略风险控制。 计算方法:PROFIT=(最新价-持仓均价)*手数*交易单位 注: 1、模组子账户初始化持仓后,PROFIT返回值为(最新价-持仓均价)*手数*交易单位。 2、开仓信号当根K线,信号确认后,PROFIT返回(最新价-持仓均价)*手数*交易单位。 3、开仓后平仓前PROFIT返回值为(最新价-持仓均价)*手数*交易单位。 4、持仓为0,PROFIT返回值为0。 5、模组子账户中持仓均价的算法: a、信号执行方式为‘K线走完确认信号下单’持仓均价为开仓信号当根K线的收盘价 b、信号执行方式为‘XXX下单,K线走完复核’持仓均价为开仓信号指令价 c、信号执行方式为‘XXX下单,不进行信号复核’持仓均价为开仓信号指令价 6、非过滤模型加仓后,持仓均价按照‘5’中不同信号执行方式取值后再进行平均。 7、非过滤模型减仓后,PROFIT计算公式中,持仓均价不变,手数减少。 8、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例: PROFIT<-2000,SP;//亏损2000元止损 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); PRECIS PROFIT RANGE 文案大全 实用文档 RANGE(MA10,MA20,MA5),BK;//10周期均线在5周期均线与20周期均线之间买开仓 //RANGE(MA10,MA20,MA5)=1,BK; 与 RANGE(MA10,MA20,MA5),BK; 表达同等意义 引用X在N个周期前的值。 注: 1、当N为有效值,但当前的k线数不足N根,返回空值; 2、N为0时返回当前X值; 3、N为空值时返回空值。 4、N可以为变量 例1: REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价 例2: AA:IFELSE(BARSBK>=1,REF(C,BARSBK),C);//取最近一次买开仓信号K线的收盘价 //1)发出BK信号的当根k线BARSBK返回空值,则发出BK信号的当根k线REF(C,BARSBK)返回 空值; //2)发出BK信号的当根k线BARSBK返回空值,不满足BARSBK>=1,则当根k线的收盘价。 //3)发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,REF(C,BARSBK) 返回开仓k线的收盘价。 //4)例:1、2、3 三根k线,1 K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3 K线返回 1 K线的收盘价。 设定指标参考线。 用法: REFLINE:A,B,C...; 在A,B,C的位置画出指标参考线。 注: 1、A、B、C等均为常数。 2、最多支持16个参数,如果超过16个参数,自动截取前16个参数。 3、该函数连写,则只会显示最后一次设定的指标线。 4、不支持将函数定义为变量,即不支持下面的写法:A:REFLINE; 例1: REFLINE:-100,0,100;//在-100,0,100的位置画出指标参考线。 REFSIG_PLACE(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号所在K线的位置。 用法:REFSIG_PLACE(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号所在K线的位置。如果没有Sig信号,或者没有固定的Sig信号,则该函数返回空值。 注: REF REFLINE REFSIG_PLACE 文案大全 实用文档 1、Sig位置支持的信号有:BK,SK,BP,SP,BPK,SPK,CLOSEOUT 2、K线位置是指的这根K线距离当前K线的根数。 3、如果倒数第N个固定的Sig信号在当根K线上,那么该函数返回0。 4、N为0或空值时,该函数返回空值。 5、参数N支持变量。 例: REFSIG_PLACE(BK,3)=5&&BKVOL>0,SP;//如果从当根K线开始倒数第3个固定的BK信号所在的距离当前K线有5根K线,并且多头持仓大于0,卖平仓 REFSIG_PRICE(Sig,N) 返回从当根K线开始倒数第N个固定的Sig信号的信号价位。 用法:REFSIG_PRICE(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号的信号价位。如果没有Sig信号,或者没有固定的Sig信号,则该函数返回0。 注: 1、Sig位置支持的信号有:BK,SK,BP,SP,BPK,SPK,CLOSEOUT 2、如果当根K线上有固定的Sig信号,那么该函数计算信号时,包括当根K线的信号。 3、N为0或空值时,该函数返回0。 4、参数N支持变量。 例: REFSIG_PRICE(BK,3)=3000&&BKVOL>0,SP;//如果从当根K线开始倒数第3个固定的BK信号的开仓价位为3000,并且多头持仓大于0,卖平仓 REFSIG_PRICE1(Sig,N) 返回从当根K线开始倒数第N个固定的Sig信号的委托价格。 用法:REFSIG_PRICE1(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号的委托价格。如果没有Sig信号,或者没有固定的Sig信号,则该函数返回0。 注: 1、 盘中运行: REFSIG_PRICE1(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号的委托价格。 回测: 1)模型中含有信号控制函数:REFSIG_PRICE1(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号发出时的行情最新价。 2)模型中不含有信号控制函数:REFSIG_PRICE1(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号当根K线的收盘价。 2、Sig位置支持的信号有:BK,SK,BP,SP,BPK,SPK,CLOSEOUT 3、如果当根K线上有固定的Sig信号,那么该函数计算信号时,包括当根K线的信号。 4、N为0或空值时,该函数返回0。 5、参数N支持变量。 例: REFSIG_PRICE1(BK,3)=3000&&BKVOL>0,SP;//如果从当根K线开始倒数第3个固定的BK信号的委托价格为3000,并且多头持仓大于0,卖平仓 REFSIG_PRICE REFSIG_PRICE1 文案大全 实用文档 REFSIG_PRICE2 REFSIG_PRICE2(Sig,N) 返回从当根K线开始倒数第N个固定的Sig信号的成交价格。 用法:REFSIG_PRICE2(Sig,N) 判断从当根K线开始倒数第N个固定的Sig信号的成交价格。如果没有Sig信号,或者没有固定的Sig信号,则该函数返回0。 注: 1、 盘中运行: REFSIG_PRICE2(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号的成交价格。 回测: 1)模型中含有信号控制函数:REFSIG_PRICE2(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号发出时的行情最新价。 2)模型中不含有信号控制函数:REFSIG_PRICE2(Sig,N)返回从当根K线开始倒数第N个固定的Sig信号当根K线的收盘价。 2、Sig位置支持的信号有:BK,SK,BP,SP,BPK,SPK,CLOSEOUT 3、如果当根K线上有固定的Sig信号,那么该函数计算信号时,包括当根K线的信号。 4、如果信号发出了委托,但是还没有成交,那么该函数返回0。 5、N为0或空值时,该函数返回0。 6、参数N支持变量。 例: REFSIG_PRICE2(BK,3)=3000&&BKVOL>0,SP;//如果从当根K线开始倒数第3个固定的BK信号的成交价位为3000,并且多头持仓大于0,卖平仓 引用N周期前的数据。 用法: REFWH(X,N)引用X在N个周期前的值。 1、当N为有效值,但当前的k线数不足N根,按照实际的根数计算; 2、N为0时返回当前X值; 3、N为空值时返回空值。 4、N可以为变量 注: 算法跟REF一样,区别在于:在不足N根的时候,按照实际的根数计算; REVERSE(X):取相反值,返回-X。 例1: REVERSE(LOW);//返回-LOW。 例2: REVERSE(-55);//返回值为55 例3: REVERSE(0);//返回值为0 RISING(N) 判断TICK图的价格趋势。 用法:参数N代表周期,在N个周期内,上涨趋势返回1,下跌趋势返回0,平盘时返回空值。 REFWH REVERSE RISING 文案大全 实用文档 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: RR:RISING(N);//加载到有五档授权的TICK图中,上涨趋势返回1,反之返回0。 SAR(N,STEP,MAX) 返回抛物转向值。 注: 1、参数N,Step,Max均不支持变量 例1: SAR(17,3,30);//表示计算17个周期抛物转向,步长为3%,极限值为30% SCALE 取得K线图主动买占总成交量的比例。 注: 指数没有主动买和主动卖的概念,所以该函数加载在指数合约上返回0。 例1: AA:=SCALE*VOL;//主动买 BB:=(1-SCALE)*VOL;//主动卖 SETBIGVOL 设置TICK图所定义数据区大单阀值。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用。 3、该函数需要有五档行情授权才能取到有效值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:BPBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的买平大单的成交量的和 SETTLE 取得K线图的结算价或者取得当日成交均价 注: 1、日线周期,盘中返回的是全天成交均价;收盘后返回交易所公布的结算价。 2、分钟周期,返回的是截止到当前k线的全天成交均价。 例1: SS:SETTLE;//定义SS为结算价 例2: CROSS(C,SETTLE);//收盘价上穿结算价 SETDEALPERCENT 按模组子账户的资金比例下单 用法:SETDEALPERCENT(fPercent)表示每次按模组子账户资金的fPercent比例下单。 计算公式:fPercent比例可下单手数=(可用资金+平仓释放的保证金+平仓盈亏)*fPercent/(最新价*保证金比例*交易单位)。 SAR SCALE SETBIGVOL SETTLE SETDEALPERCENT 文案大全 实用文档 注: 1、fPercent取值范围1-100,并且支持变量。 2、SETDEALPERCENT计算出的下单手数非整数时,遵循自动向下取整的规则;如果手数小于1,不进行开仓操作。 3、SETDEALPERCENT只作用于开仓指令,不作用于平仓指令。含有该函数的模型,平仓信号默认全平。 4、非过滤模型中如果写了该函数,则按照该函数设置的资金比例下单,默认下单手数及信号后写入的手数均无效。 5、模组子账户用保证金参数中设置的初始资金、保证金计算下单手数 6、历史回测用回测参数中设置的初始资金、保证金计算下单手数 例: SETDEALPERCENT(20); //每次按资金比例的20%下单 SETEXPIREDATE 设置加密模型的使用有效期的到期时间。 用法:SETEXPIREDATE('yyyymmdd'); 设置加密模型的使用有效期的到期时间为yyyymmdd。 注: 1、写入该函数的模型加密输出后,只有在写入的日期前是有效的。 2、参数位置写入的日期格式必须为八位数,即必须为yyyymmdd的形式。 3、如果不写入该函数,默认没有到期日期,一直有效。 例: C>REF(H,1),BK;//价格大于上一根k线最高价,开多仓 C MULTSIG_SEC(0,0,3);//设置信号复核确认方式为出信号立即下单,不复核。一根K线上最大信号个数为3 SETEXPIREDATE('20141001');//该加密模型的使用有效期的到期时间为2014年10月1日 AUTOFILTER; SETMODRUNTYPE 设置模组运行类型。 用法: SETMODRUNTYPE(N);设置模组运行类型。参数N可以设置为0,1,2。 参数N为0时,按照模型中编写的信号执行方式出信号并下单。 参数N为1时,按照模型中编写的信号执行方式出信号,由算法交易运行池中的模型来控制下单。 参数N为2时,由算法交易运行池中的模型接管所有信号,控制出信号和下单。 注: 1、模型中没有使用该函数,则按照模型中设置的信号执行方式出信号并下单。 2、如果N为0或者1,模型加载到主图上可以正常显示交易指令。如果N为2,则模型加载到主图无信号。 3、该函数只在模组中生效。 例: C>O,BK; C 实用文档 SETTRADEACCOUNT SETTRADEACCOUNT 设置模型加密输出使用者的文华资金账号。 用法:SETTRADEACCOUNT('ACCOUNT1'); 设置该模型加密输出给文华资金账号为ACCOUNT1的使用者。 注: 1、写入该函数的模型加密输出后,需要登录该函数指定的资金账号才可以使用。 2、如果不写入该函数,则任何账号登录后都可以使用加密输出的模型。 3、该函数只能写入一次,即只能设置一个加密输出的资金账号,连续写入多个,只有最后一个是有效的。 4、模型中支持同时写入SETTRADEACCOUNT和SETQUOTACCOUNT函数,即支持同时设置授权的行情账号和资金账号。 例: C>REF(H,1),BK;//价格大于上一根k线最高价,开多仓 C MULTSIG_SEC(0,0,3);//设置信号复核确认方式为出信号立即下单,不复核。一根K线上最大信号个数为3 SETTRADEACCOUNT('ACCOUNT1');//将该模型加密输出给文华资金账号为ACCOUNT1的使用者。 AUTOFILTER; SHORT_PRICE 模组子账户空头持仓均价 用法:非过滤模型,可以用SHORT_PRICE函数取多次卖开仓之后的持仓均价。 注: 1、持仓均价为每次卖开仓成交价的平均价。如果卖开仓委托未成交,则该次成交价为0,不用于SHORT_PRICE取值计算。 2、新建模组子账户时,SHORT_PRICE取值为初始化时最近一个SK(SPK)信号的指令价。 3、模组子账户运行过程中,SHORT_PRICE取值为空头持仓均价 4、如果退出模组子账户和再次开启期间,错过任意交易指令,则SHORT_PRICE取值为最近一个SK(SPK)信号的指令价 5、过滤模型也可以使用SHORT_PRICE函数。卖开仓委托成交则取成交价,不成交则取0 6、该函数不支持主图加载和回测,只能用于模组运行 例: SHORT_PRICE-CLOSE>60&&SHORT_PRICE>0&&SKVOL>0,BP;//空头持仓均价比当前价位高出60,且空头持仓存在,买平仓。 SHORT_PRICE SHORT_TIME,取模组最后一次卖开或卖平成交的时间。 注: 1:返回的为本机时间。 SHORT_TIME 2:该函数不支持效果测试,只能用于模组运行。 3:SHORT_TIME返回的数值为六位数,即HHMMSS的形式。 例: SHORT_TIME>110000;//表示最后一次卖开或卖平成交时间在11点之后 SHORT_VOL 文案大全 SHORT_VOL 模组子账户空头可用持仓 实用文档 用法:SHORT_VOL取模组子账户实际的空头可用持仓。 注: 1、模型初始化后,SHORT_VOL取值为信号手数和真实交易账户手数两者较小者。 2、模型发出卖开仓信号,成交或者部分成交,SHORT_VOL只增加成交的手数;如未成交,SHORT_VOL不变 3、模型发出买平仓信号,无论是否成交,SHORT_VOL都减少平仓委托的手数。 4、该函数不支持主图加载和回测,只能用于模组子账户运行。 例: B,BP(SHORT_VOL/2); //满足条件B买平模组空头持仓的1/2。 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的正弦值 SGN SIN SKBIGCOUNT 取得TICK图所定义数据区卖开大单成交次数的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 SKBIGCOUNT 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 VV:SKBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖开大单的成交次数的和 SKBIGTOTVOL 取得TICK图所定义数据区卖开大单成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 SKBIGTOTVOL 文案大全 实用文档 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:SKBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖开大单的成交量的和 卖开仓以来的最高价 用法: SKHIGH返回最近一次模型卖开位置到当前的最高价。 1、K线走完确认信号下单 a.历史信号计算中,SK(SPK)信号之后的K线返回委托以来的行情的最高价 b.加载运行过程中,SK(SPK)信号当根K线返回的为信号发出时行情的最新价,SK之后的K线返回委托以来的行情最高价 2、信号执行方式选择K线走完复核(例如:在模型中写入CHECKSIG_SEC(SK,'A',0,'D',0);),从SK(SPK)信号发出时行情时开始统计行情的最高价;信号消失,返回 上次卖开以来的行情的最高价,信号确认存在,返回当根K线记录的行情的最高价 注:SK信号发出后,中间出了信号消失,从最后一次信号出现开始统计最高价 3、信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG_SEC或MULTSIG_MIN;),SK(SPK)信号的当根K线返回的从信号发出到K线走完时行情的最高价; SK(SPK)信号之后的K线返回信号发出以来行情的最高价。 例: C 实用文档 M,SKVOL1返回值增加M,选择上一信号为其他信号,SKVOL1返回值为0 2、模组运行中非过滤模型初始化上一信号选择卖开或者买平,并且初始化进来空头持仓为M,SKVOL1返回值增加M,选择上一信号为其他信号,SKVOL1返回值为0 3、模组运行过程中SK(SPK)信号出现并且确认固定后,SKVOL1的取值增加开仓手数的数值;BP(BPK)信号出现并且确认固定后,SKVOL1的取值减少平仓手数的数值 4、 回测中:如果回测参数中设置的资金不够开仓,开仓手数为0,SKVOL1返回值为0。 模组加载中:如果模组子账户资金不够开仓,开仓手数为0,SKVOL1返回值为0。 例: SKVOL1=0&&C SKVOL1>=1&&L>LV(L,5),SK(2); //空头持仓大于等于1,并且当根K线的最低价小于前面5个周期中最低价中最小值时,加仓2手 SKVOL1>0&&H 注: 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! SKVOLUME 取得TICK图所定义数据区卖开成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:SKVOLUME;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖开的成交量的和 SLOPE(X,N):得到X的N周期的线型回归的斜率。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N可以为变量。 举例: 用最小平方法计算SLOPE(CLOSE,5)在最近一根K线上的的值: 1、建立一元线性方程:close=a+slope*i+m 2、close的估计值:close(i)^=a+slope*i 3、求残差:m^=close(i)-close(i)^=close(i)-a-slope*i 4、误差平方和: Q=m(1)*m(1)+...+m(5)*m(5)=[close(1)-a-slope*1]*[close(1)-a-slope*1]+..SKVOLUME SLOPE 文案大全 实用文档 .+[close(5)-a-slope*5]*[close(5)-a-slope*5] 5、对线性方程中的参数a,slope求一阶偏导: 2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-1)=0 2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-5)=0 6、联立以上两个公式,反解出slope的值: slope={[5*close(1))+...+1*close(5)]-[close(1)+...+close(5)]*(1+2+3+4+5)/5}/[(1*1+...+5*5)-(1+...+5)(1+...+5)/5] 以上公式用麦语言函数可以表示如下: ((5*C+4*REF(C,1)+3*REF(C,2)+2*REF(C,3)+1*REF(C,4))-SUM(C,5)*(1+2+3+4+5)/5)/((SQUARE(1)+SQUARE(2)+SQUARE(3)+SQUARE(4)+SQUARE(5))-SQUARE(1 +2+3+4+5)/5); 例: SLOPE(CLOSE,5);表示求收盘价5个周期线性回归线的斜率 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+X)/N 其中SUM1=X1+X2+.....+XN MMA=SUM1/N 例1: SMMA(C,5);//收盘价的5周期通畅移动平均线 SOLID 实心显示。 用法: 用在VOLSTICK、VOLUMESTICK函数后面,表示柱线实心显示。 注: 仅支持与VOLSTICK、VOLUMESTICK函数连用。 例: VOL,VOLUMESTICK,SOLID;//画成交量柱状线,柱线实心显示。 SOUND 播放声音。 用法:SOUND(NAME),播放NAME 注: 1、点击设置声音按钮,在弹出来的界面中设置声音,声音用字符'A'~'J'表示。 2、自定义声音可以在设置菜单的设置声音文件中设置 3、条件一直满足,则只播放一次,不重复播放。 SMA SMMA SOLID SOUND 文案大全 实用文档 4、不支持将函数定义为变量,即不支持下面的写法:A:SOUND(NAME); 例: CLOSE>OPEN,SOUND('A');表示K线收盘大于开盘时,播放声音\"A\" SPBIGCOUNT 取得TICK图所定义数据区卖平大单成交次数的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 SPBIGCOUNT 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:SPBIGCOUNT;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖平大单的成交次数的和 SPBIGTOTVOL 取得TICK图所定义数据区卖平大单成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、使用该函数前,必须使用SETBIGVOL函数定义大单阀值,否则该函数返回0。 3、该函数必须在TICK图中使用,在K线图上返回空值。 4、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 SETBIGVOL(10);//设置大单阀值为10手 VV:SPBIGTOTVOL;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖平大单的成交量的和 SPVOLUME 取得TICK图所定义数据区卖平成交量的和。 注: 1、使用该函数前,必须先调用DEF_TICKDATA函数定义TICK数据区。 2、该函数必须在TICK图中使用,在K线图上返回空值。 3、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: DEF_TICKDATA(0,5);//调用五秒的TICK数据 VV:SPVOLUME;//加载到有五档授权的TICK图中,定义VV为五秒内(包含当笔TICK)所有TICK的卖平的成交量的和 SQRT(X):求X的平方根。 注: X的取值为正数,X为负数时返回空值。 例1: SQRT(CLOSE);//收盘价的平方根。 SPBIGTOTVOL SPVOLUME SQRT 文案大全 实用文档 SQUARE SQUARE(X)求X的平方。 例1: SQUARE(C);//收盘价的平方。 例2: SQUARE(2);//2的平方。 STD(X,N):求X在N个周期内的标准差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值。 5、N可以为变量 算法举例:计算STD(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/2); 例: STD(C,10)求收盘价在10个周期内的标准差。 //标准差表示总体各单位标准值与其平均数离差平方的算术平均数的平方根,它反映一个数据集的离散程度。STD(C,10)表示收盘价与收盘价的10周期均线之差的平方 和的平均数的算术平方根。标准差是样本方差的平方根。 STDP(X,N):为X的N周期总体标准差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值。 5、N可以为变量 算法举例:计算STDP(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/3); 例: STDP(C,10)为收盘价的10周期总体标准差。 //总体标准差是反映研究总体内个体之间差异程度的一种统计指标,总体方差是一组资料中各数值与其算术平均数离差平方和的平均数,总体标准差则是总体方差的平 方根。 STICK(COND,P1,P2,N,COLOR,Empty);画不同粗细的柱线 用法:当满足COND时,在P1与P2之间画一条粗细为N、颜色为COLOR的柱状图;STD STDP STICK 文案大全 实用文档 若Empty不为0,则为空心柱;Empty为 0,则为实心柱。。用法和STICKLINE函数类似。 注: 1、参数N取值在0~9之间,为3时和主图K线宽度一致; 2、不支持将该函数直接定义为变量,即不支持下面的写法:A:STICK(OPEN-CLOSE>0,OPEN,CLOSE,3,COLORCYAN,0); 例1: STICK(OPEN-CLOSE>0,OPEN,CLOSE,3,COLORCYAN,0);//表示当开盘价大于收盘价时,从开盘价到收盘价画宽度为3的青色的实心柱,即K线阴线的实体部分。 STICKLINE 在图形上画柱线。 用法: STICKLINE(COND,P1,P2,Color,Empty); 当COND条件满足时,从P1到P2画柱,颜色为Color。若Empty不为0,则为空心柱;Empty为0,则为实心柱。 注: 不支持将该函数定义为变量,即不支持下面的写法: A:STICKLINE(COND,P1,P2,Color,Empty); 例1: STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0);//表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。 STICKLINE STICKLINE1 在图形上画柱线。 用法: STICKLINE1(COND,P1,P2,Width,Empty); 当COND条件满足时,从P1到P2画柱,宽度为Width。若Empty不为0,则为空心柱;Empty为0,则为实心柱。 注: STICKLINE1 1、该函数支持在函数后设置颜色,即支持下面的写法: STICKLINE1(COND,P1,P2,Width,Empty),COLOR; 2、不支持将该函数定义为变量,即不支持下面的写法: A:STICKLINE1(COND,P1,P2,Width,Empty); 例: STICKLINE1(OPEN-CLOSE>0,OPEN,CLOSE,4,0),COLORCYAN;//表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,宽度为4,即K线阴线的实体部分。 SUM(X,N) 求X在N个周期内的总和。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起。 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 4、N为空值时,返回空值。 5、N可以为变量。 例1: SUM 文案大全 实用文档 SUM(VOL,25);表示统计25周期内的成交量总和 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,日内k线根数 SUM(VOL,N);//分钟周期上,取当天成交量总和。 SUMBARS(X,A):求累加到指定值的周期数 例1: SUMBARS(VOL,20000); 将成交量向前累加直到大于等于20000,返回这个区间的周期数。 TAN(X):返回X的正切值。 例1: TAN(0);//返回0的正切值; 例2: TAN(-3.14);//返回-3.14的正切值。 TICK_OPI 取得TICK图的持仓量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 例: OO:TICK_OPI;//加载到有五档授权的TICK图中,定义OO为该笔TICK的持仓量; SUMBARS TAN TICK_OPI TICK_SCALE 取得TICK图该笔TICK是否为主动买。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 TICK_SCALE 3、该函数返回1当笔TICK为主动买,返回0当笔TICK为主动卖 例: SS:TICK_SCALE;//加载到有五档授权的TICK图中,SS返回1,代表当笔TICK为主动买;SS返回0,代表当笔TICK为主动卖。 TICK_VOL 取得TICK图的成交量。 注: 1、该函数必须在TICK图中使用,在K线图上返回空值。 2、该函数需要有五档行情授权才能取到有效值,否则返回空值。 3、该函数在当根TICK上的返回值为当天所有TICK成交量的累计值。 如果要取当根TICK的成交量,可以写为:TICK_VOL-REF(TICK_VOL,1); //屏幕第一根TICK,REF(TICK_VOL,1)返回空值,所以TICK_VOL-REF(TICK_VOL,1)在屏幕第一根TICK上返回空值。 例: VV:TICK_VOL;//加载到有五档授权的TICK图中,定义VV为该笔TICK的成交量; TIME,取K线时间。 TICK_VOL TIME 文案大全 实用文档 注: 1:该函数在盘中实时返回,在K线走完后返回K线的起始时间。 2:该函数返回的是交易所数据接收时间,也就是交易所时间。 3:TIME函数在秒周期使用时返回六位数的形式,即:HHMMSS,在其他周期上显示为四位数的形式,即:HHMM. 4:TIME函数只能加载在日周期以下的周期中,在日周期及日周期以上的周期中该函数返回值始终未1500。 5:使用TIME函数进行尾盘平仓的操作需要注意 (1)尾盘平仓设置的时间建议设置为K线返回值中实际可以取到的时间(如:螺纹指数 5分钟周期 最后一根K线返回时间为1455,尾盘平仓设置为TIME>=1458,CLOSE OUT;则效果测试中不能出现尾盘平仓的信号) (2)使用TIME函数作为尾盘平仓的条件的,建议开仓条件也要做相应的时间(如设置尾盘平仓条件为TIME>=1458,CLOSEOUT;则相应的开仓条件中需要添加条件T IME<1458;避免平仓后再次开仓的情况) 例1: C>O&&TIME<1450,BK; C 实用文档 DRAWTEXT(C>O,H,'涨'),ALIGN1,VALIGN1,FONTSIZE20,COLORGREEN;//在阳线的最高价标注文字“涨”,文字居中对齐,字体大小为20,颜色为绿色。 VALUEWHEN(COND,X) 当COND条件成立时,取X的当前值。如COND条件不成立,则取上一次COND条件成立时X的值。 注: X可以是数值也可以是条件。 例1 VALUEWHEN(HIGH>REF(HHV(HIGH,5),1),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价 例2: VALUEWHEN(DATE<>REF(DATE,1),O);表示取当天第一根k线的开盘价(即当天开盘价) 例3: VALUEWHEN(DATE<>REF(DATE,1),L>REF(H,1));表示在当天第一根k线上判断当前最低价是否大于昨天最高价。返回1,说明当天跳空高开。返回0,说明当天不满足跳 空高开条件。 VAR(X,N)求X在N周期内的样本方差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N支持使用变量 算法举例:计算VAR(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/(3-1); 例: VAR(C,5)求收盘价在5周期内的样本方差。 //表示总体方差的N/(N-1)倍,VAR(C,5)表示收盘价的5周期总体样本方差的5/4倍。 VARP(X,N):为X的N周期总体方差 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N支持使用变量 算法举例:计算VARP(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/VALUEWHEN VAR VARP 文案大全 实用文档 3; 例: VARP(C,5)为收盘价的5周期总体方差 //表示数据偏差平方和除以总周期数N,VARP(C,5)表示收盘价5个周期的数据偏差平方和除以5. VERTLINE 画垂直线。 用法: VERTLINE(COND,COLOR); 条件COND满足时,以颜色COLOR画垂直线。 注: 1、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法: VERTLINE(COND,COLOR),LINETHICK; 2、不支持将该函数定义为变量,即不支持下面的写法: A:VERTLINE(COND,COLOR); 例1: VERTLINE(HIGH>=HHV(HIGH,30),COLORRED);//表示在价格创30天新高时画红色垂直线 例2: VERTLINE(LOW<=LLV(LOW,30),COLORBLUE),LINETHICK3;//表示在价格创30天新低时画蓝色垂直线,线型粗细为3。 VERTLINE1 画垂直线。 用法: VERTLINE1(COND); 条件COND满足时,画垂直线。 注: 1、该函数支持在函数后设置颜色、线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的两种写法: VERTLINE1(COND),LINETHICK,COLOR; VERTLINE1(COND),COLOR,LINETHICK; 2、不支持将该函数定义为变量,即不支持下面的写法: A:VERTLINE1(COND); 例1: VERTLINE1(HIGH>=HHV(HIGH,30)),COLORRED;//表示在价格创30天新高时画红色垂直线。 例2: VERTLINE1(LOW<=LLV(LOW,30)),COLORBLUE,LINETHICK3;//表示在价格创30天新低时画蓝色垂直线,线型粗细为3。 VOL 取得K线图的成交量。 注:可简写为V。 例1: VV:V;//定义VV为成交量 VERTLINE VERTLINE1 VOL 文案大全 实用文档 例2: REF(V,1);//表示前一个周期的成交量 例3: V>=REF(V,1);//成交量大于前一个周期的成交量,表示成交量增加(V为VOL的简写)。 量能周期返回这根K线形成的时间,单位:秒。 用法: VOLTIME 量能周期时,返回当前K线形成的时间。 量能周期返回这根K线形成的TICK笔数,单位:笔。 用法: VOLTICK 量能周期时,返回当前K线形成的TICK笔数。 VOLSTICK 画柱线,K线为阳线画红色空心柱,K线为阴线画青色实心柱。 注: 1、柱高表示数值大小。 2、K线为阳线,则对应的柱显示为红色空心,K线为阴线,则对应的柱显示为青色实心。 3、默认红柱为空心柱,画实心柱需要加入SOLID函数。 例1: VOL,VOLSTICK;//画成交量柱状线,柱高表示成交量大小,阳线对应红色空心柱,阴线对应青色实心柱。 例2: VOL,VOLSTICK,SOLID;//画成交量柱状线,柱线实心显示。 VOLUMESTICK 画柱线,K线为阳线画红色空心柱,K线为阴线画青色实心柱。 注: 1、柱高表示数值大小。 2、K线为阳线,则对应的柱显示为红色空心,K线为阴线,则对应的柱显示为青色实心。 3、默认红柱为空心柱,画实心柱需要加入SOLID函数。 例1: VOL,VOLUMESTICK;//画成交量柱状线,柱高表示成交量大小,阳线对应红色空心柱,阴线对应青色实心柱。 例2: VOL,VOLUMESTICK,SOLID;//画成交量柱状线,柱线实心显示。 VOLMARGIN 模组子账户持仓保证金 用法:VOLMARGIN计算当前模组子账户的持仓保证金,用于资金管理。 计算公式:VOLMARGIN=价格*交易单位*手数*保证金比例 注: 1、该保证金为动态的保证金,随价格变化而变化 2、模组子账户中手动调仓会影响VOLMARGIN的返回值 VOLTIME VOLTICK VOLSTICK VOLUMESTICK VOLMARGIN 文案大全 实用文档 3、开仓信号当根k线VOLMARGIN=开仓价*交易单位*手数*保证金比例,根据不同信号执行方式,开仓价为: 信号执行方式为‘k线走完确认信号下单’开仓为当根K线的收盘价 信号执行方式为‘XXX下单,K线走完进行信号复核’,开仓价为信号发出时行情的最新价 信号执行方式为‘出信号立即下单,不进行复核’,开仓价为信号发出时行情的最新价 4、平仓信号当根k线和无持仓k线,VOLMARGIN返回值为0 5、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用 WEEKDAY,取得星期数。 注: 1:WEEKDAY的取值范围是0—6。 2:该函数在周周期上显示的值始终为5,在月周期上返回K线结束当天的星期数。 例1: N:=BARSLAST(MONTH<>REF(MONTH,1))+1; COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP; COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP; AUTOFILTER;//每个月交割日尾盘自动平仓。 例2: C>VALUEWHEN(WEEKDAY AUTOFILTER; WORD,显示文字。 用法:WORD(TYPE,TEXT) 当TYPE为1,则在K线最高价位置书写文字TEXT;不为1则在最低价位置书写文字TEXT。 注: 1:该函数与判断条件连用,如COND,WORD(TYPE,TEXT)。 2、该函数可以用ALIGN,VALIGN设置文字的对齐方式。 3、该函数可以用FONTSIZE设置文字显示的字体大小。 4、该函数可以用COLOR来设置文字显示的颜色。 例1: CLOSE>OPEN,WORD(1,'阳'),ALIGN0,VALIGN0,FONTSIZE54,COLORRED;//表示K线收盘大于开盘时,在最高价上写\"阳\"字,文字左上对齐,字体大小为54,颜色为红色 。 YEAR,取得年份。 注: YEAR的取值范围为1970—2033。 WEEKDAY WORD YEAR 文案大全 实用文档 例1: N:=BARSLAST(YEAR<>REF(YEAR,1))+1; HH:=REF(HHV(H,N),N); LL:=REF(LLV(L,N),N); OO:=REF(VALUEWHEN(N=1,O),N); CC:=REF(C,N);//取上一年的最高价,最低价,开盘价,收盘价。 例2: NN:=IFELSE(YEAR>=2000 AND MONTH>=1,0,1); 取得K线图的昨结算价。 用法: YSETTLE求某根k线的昨结算价 说明: 用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示上一根K线当日开盘时到上一根K线为止的昨结算价(均价);本地第一根k线取值为第一根的结 算价。 #CALL [CODE, FORMULA] AS VAR 引用CODE合约的指标FORMULA的数据。 注: 1、CODE为文华码,FORMULA为引用指标名,VAR为定义变量名。 2、默认只能引用同一周期的数据。 3、支持加载到自定义周期中使用。 4、CODE的位置不可以为空。 5、该函数不支持和信号控制函数同时使用。 6、跨周期语句个数加上跨合约的数量(引用合约的个数)不超过6个; 例1: CC:REF(C,1);//定义一个周期前的收盘价 保存指标,命名为AA #CALL[1201,AA] AS VAR CC:VAR.CC;//跨合约引用豆粕1501昨天的收盘价 #IMPORT [PERIOD,N,FORMULA] AS VAR 引用当前合约,PERIOD参数为N的周期,指标FORMULA的数据。 注: 1、PERIOD为周期,N为具体的参数,FORMULA为引用指标名,VAR为定义变量名; 2、PERIOD支持如下周期:SEC(秒周期),MIN(分钟周期),HOUR(小时周期),DAY(日周期),WEEK(一周),MONTH(一月),QUARTER(一季度),YEAR(一 年); 3、支持引用自定义周期; 如#IMPORT [MIN,2,MACD] AS VAR//引用两分钟周期MACD指标数值 4、N必须为大于等于1的整数,周及以上周期,N写入大于1的数,按照1计算; 例如:#IMPORT [WEEK,2,FORMULA] AS VAR//默认引用的是一周的指标; 5、主合约周期除了量能周期,TICK周期外的都支持; 6、该函数可以小周期引用大周期,也可以大周期引用小周期; YSETTLE #CALL #IMPORT 文案大全 实用文档 7、被引用的指标中不能存在引用; 8、FORMULA引用指标名只能为字母或数字命名的指标; 9、定义变量名不能与函数名重复; 10、跨周期语句个数加上跨合约的数量(引用合约的个数)不超过6个; 11、使用该函数编写末尾不能编写分号。 例1: CC:REF(C,1);//定义一个周期前的收盘价 保存指标,命名为AA #IMPORT[DAY,1,AA] AS VAR CC:VAR.CC;//跨周期引用昨天的收盘价 例2: CC:C;//定义收盘价 保存指标,命名为CC #IMPORT[DAY,1,CC] AS VAR CC:=VAR.CC;//跨周期引用日周期上的收盘价 CC1:REF(CC,1); //要引用的数据需要写在被引用的指标里,不能写在IMPORT模型中。 //例1中的CC指标引用日周期上前一个周期的收盘价,需要在被引用的指标中取一个周期前的收盘价, 例2中写在IMPORT模型中则表示取小周期上一个周期前的值 例3: CC:=REF(C,1);//定义一个周期前的收盘价 保存指标,命名为AA #IMPORT[HOUR,6,AA]AS S CC1:=S.CC;//跨周期引用自定义6小时周期的一个周期前的收盘价 #IMPORT[SEC,1,AA]AS R CC2:=R.CC;//跨周期引用自定义1秒周期的一个周期前的收盘价 文案大全
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务