《文华财经模型与函数详解二[程序化新手].doc》由会员分享,可在线阅读,更多相关《文华财经模型与函数详解二[程序化新手].doc(13页珍藏版)》请在金锄头文库上搜索。
1、4.逻辑判断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日均线FILTER(COND,N)过滤连续出现的信号。用法:FILTER(COND,N) 当COND条件成立时,将其后N周期内的数据置为0。例:FILTER(CLOSEOPEN,3) 查找阳线,3天内再次出现的阳线不被记录在内注:不能与BKPRICE,BARS
2、BK,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,本
3、周期上穿B,则返回1。否则返回0。例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线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
4、 D死叉作为开空仓条件ISDOWN判断该周期是否收阴。ISEQUAL判断该周期是否平盘。ISUP判断该周期是否收阳。VALUEWHEN(COND,DATA)当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。例:VALUEWHEN(HIGHREF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。5.数学运算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)返
5、回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)
6、求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,如果X1445&
7、CLOSEMINUTE=1,SP;/距闭市还有1分钟平多单。7.绘图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(CL
8、OSE,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之间的区域。POLYLINE(COND,DATA,COLOR)画折线,当条件COND满足时,连接各个DATA点。例:POL
9、YLINE(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,COLORC
10、YAN,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画持仓量柱线DRAWKLINE自定义K线颜色,实空心及宽度。用法
11、:DRAWKLINE(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2)。按照宽度比例WidthRatio画线,阳线以COLOR1和EMPTY1判断,阴线以COLOR2和EMPTY2判断。WidthRadio从0到1,COLOR1、COLOR2代表颜色,Empty非0为空心。例:DRAWKLINE(0.75,COLORRED,1,COLORCYAN,0);绘制K线宽度比例为0.75,阳线为红色空心,阴线为蓝绿色实心。8、颜色常数COLORRED红色COLORGREEN绿色COLORBLUE蓝色COLORMAGENTA红紫色COLORYELLOW黄色COLORLIGHTGREY浅灰色COLORLIGHTRED浅红色COLORLIGHTGREEN浅绿色COLORLIGHTBLUE浅蓝色COLORBLACK黑色COLORWHITE白色COLORCYAN青色9、头寸函数SETDEALPERCENT设置模型每次下单按资金的比例下单。用法:SETDEALPERCENT(fPercent)表示每次按资金的fPercent下单。例子:SETDEALPERCENT(0.2); /每次按资金比例的%20下单注:不可与SETDEALVOL函数同时使用交易系统必须启动效果测试不执行此函数SETDEA