《麦语言函数手册》word版.doc_第1页
《麦语言函数手册》word版.doc_第2页
《麦语言函数手册》word版.doc_第3页
《麦语言函数手册》word版.doc_第4页
《麦语言函数手册》word版.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文华财经“麦语言”函数手册(2011年10月更新)文华财经资讯有限公司“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。麦语言,是国内使用人数最多的程序化模型开发平台。 麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用一、 自编策略模型支持的函数1.历史数据引用 AVPRICE取得均价(在盘后对于国内三个期货交易所指结算价)SETTLE取得结算价(只有在日线周期盘后才能取得当日的结算价)说明:如果用在周期小于日的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于日的K线上,返回当根K线结束时间所在日的结算价.CLOSE取得收盘价(在盘中指最新价),也可简写为 C 。HIGH求高价,也可简写为 H 。LOW求最低价,也可简写为L 。OPEN求开盘价,也可简写为O 。OPI取持仓量REF(X,N)引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N)引用N个周期后的数据。(N为大于等于1的整数)未来函数例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!#IMPORT引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT CODE, PERIOD, FORMULA AS VAR。引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR定义变量名注意:1.只能引用 .FML/.XFML文件2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTHs3.只能短周期引用长周期 4.被引用的指标中不能存在引用5.如果不写文华码,默认引用当前合约MINPRICE返回某品种的最小变动价位。用法:MINPRICE(CODE); 返回CODE所对应合约的最小变动价位。CODE 文华码或交易代码。例:MINPRICE(IF1107); 表示返回IF1007的最小变动价位。注意:某些合约(如橡胶指数)查不到最小变动价位,返回0。VOL求成交量,也可简写为V 。2.日内高频数据引用L2_BID1取秒周期末买1价(K线图)或该笔TICK时刻的买1价(Tick图)。用法:L2_BID1 K线图时返回当前秒周期最后时刻的买1价。TICK图时返回该笔TICK时刻的买1价。L2_BID2取秒周期末买2价(K线图)或该笔TICK时刻的买2价(Tick图)。用法:L2_BID2 K线图时返回当前秒周期最后时刻的买2价。TICK图时返回该笔TICK时刻的买2价。L2_BID3取秒周期末买3价(K线图)或该笔TICK时刻的买3价(Tick图)。用法:L2_BID3 K线图时返回当前秒周期最后时刻的买3价。TICK图时返回该笔TICK时刻的买3价。L2_BID4取秒周期末买4价(K线图)或该笔TICK时刻的买4价(Tick图)。用法:L2_BID4 K线图时返回当前秒周期最后时刻的买4价。TICK图时返回该笔TICK时刻的买4价。L2_BID5取秒周期末买5价(K线图)或该笔TICK时刻的买5价(Tick图)。用法:L2_BID5 K线图时返回当前秒周期最后时刻的买5价。TICK图时返回该笔TICK时刻的买5价。L2_ASK1取秒周期末卖1价(K线图)或该笔TICK时刻的卖1价(Tick图)。用法:L2_ASK1 K线图时返回当前秒周期最后时刻的卖1价。TICK图时返回该笔TICK时刻的卖1价。L2_ASK2取秒周期末卖2价(K线图)或该笔TICK时刻的卖2价(Tick图)。用法:L2_ASK2 K线图时返回当前秒周期最后时刻的卖2价。TICK图时返回该笔TICK时刻的卖2价。L2_ASK3取秒周期末卖3价(K线图)或该笔TICK时刻的卖3价(Tick图)。用法:L2_ASK3 K线图时返回当前秒周期最后时刻的卖3价。TICK图时返回该笔TICK时刻的卖3价。L2_ASK4取秒周期末卖4价(K线图)或该笔TICK时刻的卖4价(Tick图)。用法:L2_ASK4 K线图时返回当前秒周期最后时刻的卖4价。TICK图时返回该笔TICK时刻的卖4价。L2_ASK5取秒周期末卖5价(K线图)或该笔TICK时刻的卖5价(Tick图)。用法:L2_ASK5 K线图时返回当前秒周期最后时刻的卖5价。TICK图时返回该笔TICK时刻的卖5价。L2_BIDVOL1取秒周期末买1量(K线图)或该笔TICK时刻的买1量(Tick图)。用法:L2_BID1 K线图时返回当前秒周期最后时刻的买1量。TICK图时返回该笔TICK时刻的买1量。L2_BIDVOL2取秒周期末买2量(K线图)或该笔TICK时刻的买2量(Tick图)。用法:L2_BID2 K线图时返回当前秒周期最后时刻的买2量。TICK图时返回该笔TICK时刻的买2量。L2_BIDVOL3取秒周期末买3量(K线图)或该笔TICK时刻的买3量(Tick图)。用法:L2_BID3 K线图时返回当前秒周期最后时刻的买3量。TICK图时返回该笔TICK时刻的买3量。L2_BIDVOL4取秒周期末买4量(K线图)或该笔TICK时刻的买4量(Tick图)。用法:L2_BID4 K线图时返回当前秒周期最后时刻的买4量。TICK图时返回该笔TICK时刻的买4量。L2_BIDVOL5取秒周期末买5量(K线图)或该笔TICK时刻的买5量(Tick图)。用法:L2_BID5 K线图时返回当前秒周期最后时刻的买5量。TICK图时返回该笔TICK时刻的买5量。L2_ASKVOL1取秒周期末卖1量(K线图)或该笔TICK时刻的卖1量(Tick图)。用法:L2_ASK1 K线图时返回当前秒周期最后时刻的卖1量。TICK图时返回该笔TICK时刻的卖1量。L2_ASKVOL2取秒周期末卖2量(K线图)或该笔TICK时刻的卖2量(Tick图)。用法:L2_ASK2 K线图时返回当前秒周期最后时刻的卖2量。TICK图时返回该笔TICK时刻的卖2量。L2_ASKVOL3取秒周期末卖3量(K线图)或该笔TICK时刻的卖3量(Tick图)。用法:L2_ASK3 K线图时返回当前秒周期最后时刻的卖3量。TICK图时返回该笔TICK时刻的卖3量。L2_ASKVOL4取秒周期末卖4量(K线图)或该笔TICK时刻的卖4量(Tick图)。用法:L2_ASK4 K线图时返回当前秒周期最后时刻的卖4量。TICK图时返回该笔TICK时刻的卖4量。L2_ASKVOL5取秒周期末卖5量(K线图)或该笔TICK时刻的卖5量(Tick图)。用法:L2_ASK5 K线图时返回当前秒周期最后时刻的卖5量。TICK图时返回该笔TICK时刻的卖5量。L2_PRICE取Tick图中该笔TICK的成交价。用法:L2_PRICE 返回TICK图中该笔TICK的成交价。L2_VOLUME取TICK图中该笔TICK的成交量。用法:L2_VOLUME 返回TICK图中该笔TICK的成交量。ASKBIGVOLPRICETICK图中该笔Tick 盘口中空头满足大单条件的与最新价的最近价格。用法:ASKBIGVOLPRICE 返回TICK图中该笔Tick 盘口满足大单条件的与最新价的最近价格, 注模型中需调用一次CALVOLPRICELIST函数BIDBIGVOLPRICETICK图中该笔Tick 盘口中多头满足大单条件的与最新价的最近价格。用法:BIDBIGVOLPRICE 返回TICK图中该笔Tick 盘口满足大单条件的与最新价的最近价格, 注模型中需调用一次CALVOLPRICELIST函数CALVOLPRICELISTTICK图中初始化盘口大单价格表,主要在BIDBIGVOLPRICE 与ASKBIGVOLPRICE 前使用,提供初始化。用法:CALVOLPRICELISTL2_SETBIGVOL设置大单成交手数阈值 用法:L2_SETBIGVOL( nVol ) 成交手数大于nVol的为大单,例:L2_SETBIGVOL( 10 ); / 大于10手的是大单 L2_BKBIGCOUNT; / 查看买开的大单成交次数;L2_BIDVOL取秒周期主动买的成交量。用法:L2_BIDVOL 返回当前秒周期主动买的成交量L2_ASKVOL取秒周期主动卖的成交量。用法:L2_ASKVOL 返回当前秒周期主动卖的成交量L2_BIDBIGCOUNT取秒周期主动买的大单成交次数。用法:L2_BIDBIGCOUNT 返回当前秒周期主动买的大单成交次数L2_ASKBIGCOUNT取秒周期主动卖的大单成交次数。用法:L2_ASKBIGCOUNT 返回当前秒周期主动卖的大单成交次数L2_BIDBIGTOTVOL取秒周期主动买的大单成交量。用法:L2_BIDBIGTOTVOL 返回当前秒周期主动买的大单成交量L2_ASKBIGTOTVOL取秒周期主动卖的大单成交量。用法:L2_ASKBIGTOTVOL 返回当前秒周期主动卖的大单成交量L2_BKVOL取秒周期买开的成交量。用法:L2_BKVOL 返回当前秒周期买开的成交量L2_SKVOL取秒周期卖开的成交量。用法:L2_SKVOL 返回当前秒周期卖开的成交量L2_BPVOL取秒周期买平的成交量。用法:L2_BPVOL 返回当前秒周期买平的成交量L2_SPVOL取秒周期卖平的成交量。用法:L2_SPVOL 返回当前秒周期卖平的成交量L2_BKBIGCOUNT取秒周期买开的大单成交次数。用法:L2_BKBIGCOUNT 返回当前秒周期买开的大单成交次数L2_SKBIGCOUNT取秒周期卖开的大单成交次数。用法:L2_SKBIGCOUNT 返回当前秒周期卖开的大单成交次数L2_BPBIGCOUNT取秒周期买平的大单成交次数。用法:L2_BPBIGCOUNT 返回当前秒周期买平的大单成交次数L2_SPBIGCOUNT取秒周期卖平的大单成交次数。用法:L2_SPBIGCOUNT 返回当前秒周期卖平的大单成交次数L2_BKBIGTOTVOL取秒周期买开的大单成交量。用法:L2_BKBIGTOTVOL 返回当前秒周期买开的大单成交量L2_SKBIGTOTVOL取秒周期卖开的大单成交量。用法:L2_SKBIGTOTVOL 返回当前秒周期卖开的大单成交量L2_BPBIGTOTVOL取秒周期买平的大单成交量。用法:L2_BPBIGTOTVOL 返回当前秒周期买平的大单成交量L2_SPBIGTOTVOL取秒周期卖平的大单成交量。用法:L2_SPBIGTOTVOL 返回当前秒周期卖平的大单成交量3.行情数据引用GETPRICE(N)根据文华码取出某一品种的最新价。例:GETPRICE(1209);返回文华码为1209的合约品种的最新价。4.金融统计BACKSET(X,N)若X条件成立,则将当前位置到N周期前的数值设为1。未来函数例:BACKSET(CLOSEOPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1BARSLAST(X)求上一次条件成立到当前的周期数。COUNT(X,N)表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申请到的数据的第一天开始算起。例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N); COUNT(WR80,5);表示统计在5个周期内满足WR80的次数 DMA(X,A)返回X的动态移动平均,其中A为常数,并且必须介于0及1之间。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A 其中DMA(N-1)为第(N-1)天的DMA值。EMA(X,N)表示求X在N周期内的平滑移动平均。(指数加权)计算方法:EMA(X,N)=2*X+(N-1)*EMA(X,(N-1)/(N+1) 其中EMA(X,(N-1)为第(N-1)天的EMA值EMA2(X,N)表示求X在N周期内的加权平均。(线性加权)计算方法:EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2+.+1*XN-1)/(N+(N-1)+(N-2)+.+1),X0表示本周期值,X1表示上一周期值.HHV(X,N)得到X在N周期内的最高值,如果N0,则从本地数据的第一个有效周期开始算起。例:HHV(HIGH,13);求13个周期内的最高价的最大值。 HHVBARS(X,N)得到X在N周期内的最高值位置到当前的周期数。如果N=0,则从本地数据的第一个有效周期开始算起。例:HHVBARS(VOL,0); 求历史成交量最大的周期到当前的周期数LLV(X,N)得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。例:LLV(LOW,25);表示求25个周期内最低价的最小值LLVBARS(X,N)得到X在N周期内的最小值的位置到当前的周期数。如果N=0则从本地数据的第一个有效周期开始算起。例:LLVBARS(VOL,0); 求历史成交量最小的周期到当前的周期数MA(X,N) 求X在N周期内的简单移动平均。计算方法:MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均SLOPE(X,N)求线型回归的斜率。用法:SLOPE(X,N)得到X的N周期的线型回归的斜率。例:SLOPE(CLOSE,5);表示求收盘价5个周期线性回归线的斜率ZIGZAG(X,P,N) 之字转向,当X变化量超过P时转向,当N取1,P为百分比数;当N取0,P为价位差值绝对值。未来函数例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向 PEAK(X,P,M,N) 取得ZIGZAG前M个波峰的值。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。未来函数例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值 PEAKBARS(X,P,M,N)取得ZIGZAG前M个波峰到当前周期的周期数。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。未来函数例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数 TROUGH(X,P,M,N)取得ZIGZAG前M个波谷的值。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。未来函数例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值 TROUGHBARS(X,P,M,N)取得ZIGZAG前M个波谷到当前周期的周期数。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。未来函数TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数 SAR(N,Step,Max)得到抛物转向值。N为计算周期,Step为步长,Max为极值。(系统函数,计算步骤后台自动完成)例:SAR(17,0.03,0.3);表示计算17个周期抛物转向,步长为3%,极限值为30% SMA(X,N,M)得到X在N个周期内的移动平均,M为权重(M为常数)。计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N STD(X,N)求标准差。用法:STD(X,N)求X在N个周期内的标准差。STDP(X,N)求总体标准差。用法:STDP(X,N)为X的N日总体标准差。SUM(X,N)得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起。例: SUM(VOL,10);表示统计10周期内的成交量总和 SUMBARS(X,A)得到X向前累加直到大于A时的周期数。 TRMA(X,N)求X在N周期内的三角移动平均。 TSMA(X,N)求X在N周期内的时间序列移动平均。计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N) 5.数理统计AVEDEV(X,N)求X在N周期内的平均绝对偏差DEVSQ(X,N)数据偏差平方和。FORCAST(X,N)得到X的N周期线性回归预测值。例:FORCAST(CLOSE,5);表示求5周期线性回归预测VAR(X,N)得到X在N周期内的样本方差VARP(X,N) 得到X在N周期内的总体样本方差数理统计举例说明:设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。数列的内容为:2766,2805,2814,2886,2885。1、算术平均值MA(CLOSE,5):数据总和除以总个数N。 (2766+2805+2814+2886+2885)/5=2831.20。 可以用公式MA(CLOSE,5),从今天的值上看出。2、偏差:每个数据,减去算术平均值的结果。 2766-2831.20=-65.2, 2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8, 2885-2831.20=53.8, 各偏差相加,应该是等于0的。3、平均绝对偏差AVEDEV(X,N):将偏差的绝对值相加,除以总个数N。 (65.2+26.2+17.2+54.8+53.8)/5=43.44 4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。 (-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2=11130.80 5、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算: (-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16 6、样本方差VAR(X,N):是总体方差的N/(N-1)倍。 2226.16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。6.逻辑判断BETWEEN(A,B,C)判断条件“A位于B及C之间”是否成立,如果条件成立则返回1 (yes),否则返回0 (no)。例:BETWEEN(CLOSE,MA5,MA40); 表示收盘价介于5日均线与40日均线之间。CROSS(X,Y)表示X上穿Y。例:CROSS(CLOSE,MA(CLOSE,5);表示收盘线从下方向上穿过5日均线CROSS2(A,B)两条线交叉。用法:CROSS2(A,B)表示当A从下方向上穿过B两次时返回1(Yes),否则返回0(No)例:CROSS2(CLOSE,MA(CLOSE,5);表示收盘线从下方向上穿过5日均线两次FILTER(COND,N)过滤连续出现的信号。用法:FILTER(COND,N) 当COND条件成立时,将其后N周期内的数据置为0。例:FILTER(CLOSEOPEN,3) 查找阳线,3天内再次出现的阳线不被记录在内注:不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用EXIST(COND,N)判断N个周期内是否有满足条件COND的情况发生。例:EXIST(CLOSEREF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价EVERY(COND,N)判断过去N个周期内是否一直满足条件COND。例:EVERY(CLOSEOPEN,5);表示5个周期内一直是阳线LAST(COND,N1,N2)判断过去N1到N2周期内是否一直满足条件COND。例:LAST(CLOSEOPEN,10,5);表示从过去第10个周期到第5个周期内一直是阳线LONGCROSS(A,B,N)如果A在前N个周期内都小于B,本周期上穿B,则返回1。否则返回0。例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线NOFILTER 交易模型买卖指令信号过滤函数。(仅适用于交易模型的过滤)交易模型公式后加“NOFILTER;”是指不需要过滤,出现任何交易指令都会执行。公式后不加“NOFILTER;”是指当连续出现同方向的交易指令时,系统只显示出第一个交易指令,其他交易指令自动被过滤。IFELSE(C,A,B)如果条件C成立则取A值,否则取B值例:A:=IFELSE(MA5MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0);当MA5MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0A=1,BPK;/当MA5MA10,以DIFF上穿DEA作为开多仓条件A=2,SPK;/当MA5不大于MA10,以K D死叉作为开空仓条件ISDOWN 判断该周期是否收阴。ISEQUAL 判断该周期是否平盘。ISUP 判断该周期是否收阳。ISLASTBAR判断当前周期是否为最后一根K线。VALUEWHEN(COND,DATA)当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。例:VALUEWHEN(HIGHREF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。7.数学运算ABS(X)求X的绝对值例:ABS(SAR(17,0.03,0.3);返回抛物转向SAR(17,0.03,0.3)的绝对值。ACOS(X)求X的反余弦值ASIN(X)求X的反正弦值ATAN(X)求X的反正切值COS(X)返回X的余弦值EXP(X)返回e的X次幂CUBE(X)返回X的三次方。CEILING(X)向上舍入,返回沿X数值增大方向最接近的整数。FLOOR(X)向下舍入,返回沿X数值减小方向最接近的整数。INTPART(X)取X的整数部分,返回沿X绝对值减小方向最接近的整数。LN(X)得到X的自然对数,以e为底的对数。例:LN(OPEN);求开盘价的自然对数。LOG(X)得到X的常用对数,取得X的以10为底的对数。例:LOG(OPEN);求开盘价的以10为底的对数。MAX(A,B)求A,B中的较大者。例:MAX(CLOSE-OPEN,0);表示若收盘价大于开盘价返回它们的差值,否则返回0。MIN(A,B)求A,B中的较小者。例:MIN(OPEN,CLOSE);返回开盘价和收盘价中的较小值。MOD(A,B)返回A对B得到模。例:MOD(CLOSE,500);收盘价除以500所得余数NOT(X)当X为0时返回1,否则返回0。例:NOT(TIME=090530);表示该周期对应的时间不是9:05:30AM。POW(A,B) 得到A的B次幂。例:POW(CLOSE,2);求得收盘价的2次方。REVERSE(X)取反,返回符号相反的数值。例:REVERSE(LOW);返回-LOW。RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0SGN(X)得到X的符号,如果X0则返回1,如果X0则返回1,否则返回0。SIN(X)得到X的正弦值。SQRT(X)得到X的平方根。例:SQRT(CLOSE);收盘价的平方根。SQUARE(X)得到X的平方。例:SQUARE(CLOSE);收盘价的平方。TAN(X)得到X的正切值。8.时间函数BARPOS取得当前K线的位置。DATE取得当前周期的日数(700101-341231)。DAY取得当前周期的日数(1-31)。HOUR取得当前周期的小时数(0-23)。MINUTE取得当前周期的分钟数(0-59)。MONTH取得当前周期的月数(1-12)。TIME取得当前周期的时间数(0-2359),秒级周期返回值范围为:0-235959。WEEKDAY取得当前周期的星期数(0-6)。YEAR取得当前周期的年数(1970-2034)。9.绘图BACKGROUNDSTYLE(i)设置背景的样式。用法:BACKGROUNDSTYLE(i)设置背景的样式。i = 0 或 1。DRAWLINE(C1,P1,C2,P2,COLOR)当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。例:DRAWLINE(MA18CLOSE,CLOSE,COLORCYAN); 表示当收盘价大于18日均线并且小于5日均线时,从开盘价画青色直线到收盘价。 DRAWTEXT(C,P,TEXT) 表示当条件C满足时在P上写TEXT文字。例:DRAWTEXT(CLOSE OPEN&REF(CLOSE,1) REF(OPEN,1) &REF(VOL,1)*1.11.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED); 表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。 FILLRGN(COND,DATA1,DATA2,COLOR)填充区域,当条件COND满足时,填充DATA1及DATA2包围的区域。例:FILLRGN(MA5MA10,MA5,MA10,COLORRED); 表示MA5MA10时以红色填充MA5和MA10之间的区域。 PLAYSOUND(COND, N)当条件满足时,播放自定义声音N(自定义声音在插入声音文件中设置,最多可以设置10个)。例:PLAYSOUND(CLOSEOPEN,A);表示CLOSEOPEN时播放自定义声音A。POLYLINE(COND,DATA,COLOR)画折线,当条件COND满足时,连接各个DATA点。例:POLYLINE(CLOSE=HHV(CLOSE,100),CLOSE,COLORRED); 表示在收盘价创100天新高点之间画折线。 PARTLINE(COND,DATA,COLOR)同POLYLINE。例:PARTLINE(HIGHREF(HIGH,1),HIGH,COLORRED); 表示当期最高价大于前期最高价用红色绘制最高价连线线段。 STICKLINE(C,P1,P2,Color,Empty)如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty取1,则为空心柱;如果Empty取0,则为实心柱。例:STICKLINE(OPEN-CLOSE0,OPEN,CLOSE,COLORCYAN,0); 表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。 VERTLINE(COND,COLOR)画垂直线,当条件COND满足时,画垂直线。例:VERTLINE(HIGH=HHV(HIGH,30),COLORRED); 表示在价格创30天新高时画垂直线。 RGB(R,G,B)自定义颜色函数。R,G,B的数值范围都在0255之间,例:RGB(225,225,225)表示白色COLORSTICK画彩色柱线VOLUMESTICK画成交量线BAMBOOLINE画竹线CIRCLEDOT画圆 OPISTICK画持仓量柱线10.颜色常数COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色COLORLIGHTRED浅红色COLORLIGHTGREEN浅绿色COLORLIGHTBLUE浅蓝色COLORBLACK黑色COLORWHITE白色COLORCYAN青色11.头寸函数AUTOFILTER对模型的所有信号按照先买后卖,先开后平的顺序过滤。用法:AUTOFILTER产生的指令将按照如下规则过滤:1.连续的同方向指令只有第一个有效,其他的将被过滤;2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指令,其他的都被过滤);例:CLOSEOPEN,BPK;CLOSE60 & BKPRICE0, SP;/如果买开价位比当前价位高出60,且买开价位存在,卖平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:BKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无信号价位会返回0,使用时请注意判断BKPRICE0。效果测试中该函数返回信号位置的收盘价SKPRICE卖开信号位置的卖开信号价位用法:SKPRICE返回最近一次模型卖开位置的卖开信号价位。例如:CLOSE-SKPRICE60 & SKPRICE0, BP;/如果当前价位高出卖开价位60, 且卖开价位存在, 买平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:SKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无信号价位会返回0,使用时请注意判断SKPRICE0。效果测试中该函数返回信号位置的收盘价BARSBP上一次买平信号位置用法:BARSBP返回上一次买平仓距离当前k线的k线数。BARSSP上一次卖平信号位置用法:BARSSP返回上一次卖平仓距离当前k线的k线数。LASTSIG判断上一次交易的信号用法:LASTSIG返回上一次交易的信号。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MONEY虚拟资金余额用法:MONEY返回虚拟资金余额。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。BUYVOL模型虚拟多头持仓用法:BUYVOL返回模型虚拟多头持仓。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。SELLVOL模型虚拟空头持仓用法:SELLVOL返回模型虚拟空头持仓。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MARGIN合约保证金用法:MARGIN返回当前合约的保证金比率(用户启动模组时设置的)。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。VOLMARGIN模型虚拟空头持仓用法:VOLMARGIN计算当前的持仓保证金。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MONEYRATIO资金使用率用法:MONEYRATIO返回当前的虚拟资金的使用率。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MONEYTOT虚拟总资金用法:MONEYTOT返回当前虚拟总资金(虚拟资金余额+持仓保证金)。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。PROFIT虚拟逐笔浮盈用法:PROFIT返回当前的虚拟逐笔浮动盈亏。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。SETDEALPERCENT设置下单的虚拟资金使用比例用法:SETDEALPERCENT(fPercent)表示每次按资金的fPercent(范围1100)下单。例子:SETDEALPERCENT(20); /每次按资金比例的%20下单注:应该与AUTOFILTER函数同时使用二、 自编下单组件支持的函数1.引用数据函数 AvPrice(Code)某合约当前均价。用法:AvPrice(Code)返回合约Code的当前均价,Code为某合约的合约代码例:VAR avprice;/定义一个变量avpriceavprice=AvPrice(m1109); /price的值为合约m1109的当前均价High(Code)某合约当前最高价。用法:High(Code)返回合约Code的当前最高价,Code为某合约的合约代码例:VAR high;/定义一个变量highhigh=High(m1109); /high的值为合约m1109的当前最高价Low(Code)某合约当前最低价。用法:Low(Code)返回合约Code的当前最低价,Code为某合约的合约代码例:VAR low;/定义一个变量lowlow=Low(m1109); /low的值为合约m1109的当前最低价Position(Code,strContent)某合约的盘口数据。用法:Position(Code,strContent) 返回某合约某种盘口数据Code为某合约的合约代码(字符串), strContent为所要取得内容,可选以下内容bid1,bid2,bid3,bid4,bid5,ask1,ask2,ask3,ask4,ask5,bidvol1,bidvol2,bidvol3,bidvol4,bidvol5,askvol1,askvol2,askvol3,askvol4,askvol5,分别表示买1-买5 卖1-卖5 买1量-买5量 卖1量-卖5量。例:VAR bid1;bid1=Position(m1109,bid1);/bid1为豆粕1009的当前买1价Price(Code)某合约当前价格。用法:Price(Code)返回合约Code的当前价格,Code为某合约的合约代码例:VAR price;/定义一个变量priceprice=Price(m1109); /price的值为合约m1109的当前价格Volume(Code)某合约当前成交量。用法:Volume(Code)返回合约Code的当前成交量,Code为某合约的合约代码例:VAR volume;/定义一个变量volumevolume=Volume(m1109); /volume的值为合约m1109的当前成交量2.逻辑判断函数SamePeriod(Code,Period

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论