- UID
- 2
- 积分
- 2892617
- 威望
- 1396340 布
- 龙e币
- 1496277 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-25
|
[语法与函数]自编公式支持的函数
1.策略模型函数 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个周期的收盘价 | VOL | 求成交量,也可简写为V 。 | GETPRICE | 根据文华码取出某一合约的价格(任何周期上都返回当日的日线价格)。
用法:
GETPRICE(1209, 'CLOSE');返回文华码为1209的合约合约的收盘价。
其中'CLOSE'可以替换为以下:
'OPEN': 开盘
'HIGH': 最高
'LOW': 最低
'CLOSE': 收盘
'NEW': 最新
'AVPRICE':均价
'SETTLE': 结算
'YCLOSE': 昨收
'YSETTLE':昨结算
'BID1': 买1
'BIDVOL1':买1量
'ASK1': 卖1
'ASKVOL1':卖1量
'VOLUME': 成交量
'OPI': 持仓量
'DELTAVOL':现手
'DELTAOPI':增仓 注意,该函数历史数据返回加载时刻的价格(与其k线的时间无关),加载后实时生成的k线返回k线时间对应的实时价格 |
2.金融统计函数 BARSLAST(X) | 求上一次条件成立到当前的周期数。 | COUNT(X,N) | 表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申请到的数据的第一天开始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)); COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数 | 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周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。
例: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个周期内的简单移动平均 | 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 | 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) |
3.数理统计函数 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周期内的总体样本方差 | SLOPE(X,N) | 求线性回归的斜率 用法: SLOPE(X,N)得到X的N周期的线型回归的斜率。 例:SLOPE(CLOSE,5);表示求收盘价5个周期线性回归线的斜率 | STD(X,N) | 求标准差。 用法: STD(X,N)求X在N个周期内的标准差。 | STDP(X,N) | 求总体标准差。 用法: STDP(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够大时,两者趋于相等。 |
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(CLOSE>OPEN,3) 查找阳线,3天内再次出现的阳线不被记录在内
注:不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用 | EXIST(COND,N) | 判断N个周期内是否有满足条件COND的情况发生。
例:EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价 | EVERY(COND,N) | 判断过去N个周期内是否一直满足条件COND。
例:EVERY(CLOSE>OPEN,5);表示5个周期内一直是阳线 | LAST(COND,N1,N2) | 判断过去N1到N2周期内是否一直满足条件COND。
例:LAST(CLOSE>OPEN,10,5);表示从过去第10个周期到第5个周期内一直是阳线 | LONGCROSS(A,B,N) | 如果A在前N个周期内都小于B,本周期上穿B,则返回1。否则返回0。
例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线 | IFELSE(C,A,B) | 如果条件C成立则取A值,否则取B值
例: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死叉作为开空仓条件 | ISDOWN | 判断该周期是否收阴。 | ISEQUAL | 判断该周期是否平盘。 | ISUP | 判断该周期是否收阳。 | VALUEWHEN(COND,DATA) | 当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。
例:VALUEWHEN(HIGH>REF(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) | 返回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,否则返回0 | SGN(X) | 得到X的符号,如果X>0则返回1,如果X<0则返回-1,否则返回0。 | SIN(X) | 得到X的正弦值。 | SQRT(X) | 得到X的平方根。
例:SQRT(CLOSE);收盘价的平方根。 | SQUARE(X) | 得到X的平方。
例:SQUARE(CLOSE);收盘价的平方。 | TAN(X) | 得到X的正切值。 |
6.时间函数 BARPOS | 取得当前K线的位置。 | DATE | 取得当前周期的日数(700101-341231)。 | CLOSEMINUTE | 距收盘前时间。
用法:
CLOSEMINUTE 返回距离闭市前的时间(单位:分钟),方便闭市前及时平仓。 | DAY | 取得当前周期的日数(1-31)。 | HOUR | 取得当前周期的小时数(0-23)。 | MINUTE | 取得当前周期的分钟数(0-59)。 | MONTH | 取得当前周期的月数(1-12)。 | TIME | 取得当前周期的时间数(0-2359),秒级周期返回值范围为:0-235959。 | WEEKDAY | 取得当前周期的星期数(0-6)。 | YEAR | 取得当前周期的年数(1970-2034)。 | 7.绘图函数 BACKGROUNDSTYLE(i) | 设置背景的样式。
用法:
BACKGROUNDSTYLE(i)设置背景的样式。
i = 0 或 1。 | ICON | 在k线图上,显示小图标。
用法:ICON(TYPE,ICON),当TYPE为1,则在K线最高价位置显示图标ICON,当TYPE为0,则在最低价位置显示图标ICON。
例:CLOSE>OPEN,ICON(1,'ICO1');表示K线收盘大于开盘时,在最高价上显示图标1。
写完“ICON(1,” 以后,点击插入图标,再单击选中的图标插入到函数中,图标用'ICO1'~'ICO105'表示 | WORD | 显示文字。
用法:WORD(TYPE,TEXT),当TYPE为1,则在K线最高价位置书写文字TEXT,当TYPE为0,则在最低价位置书写文字TEXT。
例:CLOSE>OPEN,WORD(1,'阳');表示K线收盘大于开盘时,在最高价上写"阳"字。 | SOUND | 播放声音。
用法:SOUND('N'),播放声音'N',。
例:CLOSE>OPEN,SOUND('A');表示K线收盘大于开盘时,播放声音"A",条件如果一直满足,则只播放一次,不重复播放。
点击设置声音,在弹出来的界面中设置声音,声音用字符'A'~'J'表示。 | DRAWICON | 绘制小图标。
用法:
DRAWICON(COND,PRICE,ICON),当COND条件满足时,在PRICE位置画图标ICON。
例:DRAWICON(CLOSE<OPEN,LOW,'ICO1');表示收阴在最低价上画出图标ICON1。
写完“DRAWICON(CLOSE<OPEN,LOW,” 以后,点击插入图标按钮,再单击选中的图标插入到函数中,图标用'ICO1'~'ICO105'表示. | DRAWLINE(C1,P1,C2,P2,COLOR) | 当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。
例:DRAWLINE(MA18< CLOSE,OPEN,MA5 >CLOSE,CLOSE,COLORCYAN); 表示当收盘价大于18日均线并且小于5日均线时,从开盘价画青色直线到收盘价。 | DRAWTEXT(C,P,TEXT) | 表示当条件C满足时在P上写TEXT文字。
例:DRAWTEXT(CLOSE< OPEN&&REF(CLOSE,1)< REF(OPEN,1) &&REF(VOL,1)*1.1< VOL,LOW,'注'); 表示连续两日收阴并且成交量比前一日至少多10%时,在最低价上写“注”字。 | DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,
COLOR) | 画斜线,当条件COND满足时,从DATA开始以每个周期相差SLOPE个点的斜率画斜线,划线长度为LEN个周期,EXPAND为线段的延长方式(0:不延伸;1:向左延伸;2:向右延伸;3:双向延伸)。
例:DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED); 表示当前最低价等于50周期内的最小值时,从当前最小值开始以每隔5个点的斜率画长度为3个周期向右延伸的斜线,颜色为红色 | DRAWKLING | 自定义K线颜色,实空心及宽度。
用法:DRAWKLING(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,阳线为红色空心,阴线为蓝绿色实心。 | DRAWNUMBER
(COND,DATA,NUMBER,PRECISION,COLOR) | 画数字。当条件COND满足时,在DATA位置写数字NUMBER(为数组),精度为PRECISION(小数点后有几位数字)。
例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED); 表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。 | FILLRGN
(COND,DATA1,DATA2,COLOR) | 填充区域,当条件COND满足时,填充DATA1及DATA2包围的区域。
例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED); 表示MA5>MA10时以红色填充MA5和MA10之间的区域。 | PLAYSOUND(COND, 'N') | 当条件满足时,播放自定义声音'N'(自定义声音在插入声音文件中设置,最多可以设置10个)。
例:PLAYSOUND(CLOSE>OPEN,'A');表示CLOSE>OPEN时播放自定义声音'A'。 | KTEXT | 在k线上标注文字。
用法:KTEXT(COND,POSITION,PRICE,LCR,COLOR,TEXT)
当COND条件满足时,移动POSITION根K线,在PRICE位置书写COLOR色文字TEXT。LRC是文字占K线左(0)中(1)右(2)位置。
注:POSITION 参数负数代表向前移动 0代表满足条件当根K线 正数代表向后移动。LCR 代表显示在字符位置的左右中位置,0为左,1为中,2为右。
例:KTEXT(O>C,2,H,1,COLORYELLOW,'注')在阴线的后两根K线处,在最高价位置中心上写"注"字。 | POLYLINE
(COND,DATA,COLOR) | 画折线,当条件COND满足时,连接各个DATA点。
例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED); 表示在收盘价创100天新高点之间画折线。 | PARTLINE
(COND,DATA,COLOR) | 同POLYLINE。
例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED); 表示当期最高价大于前期最高价用红色绘制最高价连线线段。 | STICKLINE
(C,P1,P2,Color,Empty) | 如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty取1,则为空心柱;如果Empty取0,则为实心柱。
例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0); 表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。 | VERTLINE
(COND,COLOR) | 画垂直线,当条件COND满足时,画垂直线。
例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED); 表示在价格创30天新高时画垂直线。 | 8.画线函数 ANGLELING(COND1,DATA1,COND2,DATA2,RATIO) | 角度返回值。
用法:ANGLELING(COND1,DATA1,COND2,DATA2,RATIO);
从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在角度线段高度比例为RATIO处形成角度线,该函数返回K线对应的角度值。
例:ANGLELINE(C>O,H,O>C,L,1);相距最近的阳线最高价与阴线最低价构成起止点形成角度线,该函数返回K线对应的角度值。 | GOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO) | 黄金分割返回值。
用法:GOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO);
从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在差额的RATIO比率处形成黄金分割线,该函数返回K线对应的黄金分割值。
例:GOLDENLINE(O>C,H,C>O,H,0.3);相距最近的阴线和阳线,以各自最高价作为起止点,在差额区间内的0.3比率处形成黄金分割线,该函数返回K线对应的黄金分割值。 | HORIZONTALLINE(COND,DATA) | 水平返回值。
用法:HORIZONTALLINE(COND,DATA);
从本地起始K线开始计算,满足条件COND的DATA值形成水平线,该函数返回K线对应的水平值。
例:HORIZONTALLINE(C>O,H);以阳线的最高价为起点,截至下一根阳线为止形成一条水平线,该函数返回K线对应的水平值。 | TRENDLINES(COND1,DATA1,COND2,DATA2) | 趋势返回值。
用法:TRENDLINES(COND1,DATA1,COND2,DATA2);
从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点形成趋势线,该函数返回K线对应的趋势值。
例:TRENDLINES(O>C,H,C>O,H);相距最近的阴线和阳线最高价形成一条趋势线,该函数返回K线对应的趋势值。 | WAVERULER (COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO) | 波浪尺返回值。
用法:WAVERULER(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO);
从本地起始K线开始计算,以相距最近三根分别满足条件COND1的DATA1值、COND2的DATA2值和COND3的DATA3值构成三点,在第三点偏离前两点差额的RATIO比率处形成波浪尺线,该函数返回K线对应的波浪尺值。
例:WAVERULER(C>O,H,C>O,H,C>O,H,0.3);相距最近的三根阳线,以各自最高价作为三个点,在第三点偏离前两点差额的0.3比率处形成波浪尺线,该函数返回K线对应的波浪尺值。 | DRAWANGLELING (COND1,DATA1,COND2,DATA2,RATIO,COLOR) | 画角度线。
用法:DRAWANGLELING(COND1,DATA1,COND2,DATA2,RATIO,COLOR);
从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在线段高度比例RATIO处画角度线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWANGLELINE(C>O,H,O>C,L,1,COLORGREEN);连接相距最近的阳线最高价与阴线最低价为起止点,画高度比例为1的绿色角度线,截至下一根阳线为止。 | DRAWGOLDENLINE (COND1,DATA1,COND2,DATA2,RATIO,COLOR) | 画黄金分割线。
用法:DRAWGOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO,COLOR);
从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在差额RATIO比率处画黄金分割线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWGOLDENLINE(O>C,H,C>O,H,0.3,COLORGREEN);连接相距最近的阴线和阳线,以各自最高价作为起止点,在差额区间内的0.3比率处画绿色黄金分割线,截至下一根阴线为止。 | DRAWHORIZONTALLINE(COND,DATA,COLOR) | 画水平线。
用法:DRAWHORIZONTALLINE(COND,DATA,COLOR);
从本地起始K线开始计算,满足COND条件K线的DATA值处画水平线,颜色为COLOR,截至下一根满足COND条件的K线处。
例:DRAWHORIZONTALLINE(C>O,H,COLORGREEN);以一根阳线的最高价为起点,画绿色水平线,截至下一根阳线为止。 | DRAWTRENDLINE(COND1,DATA1,COND2,DATA2,COLOR) | 画趋势线。
用法:DRAWTRENDLINE(COND1,DATA1,COND2,DATA2,COLOR);
从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,画趋势线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWTRENDLINE(O>C,H,C>O,H,COLORGREEN);连接相距最近的阴线和阳线的最高价为起止点,画绿色趋势线,截至下一根阴线为止。 | DRAWWAVERULER (COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO,COLOR) | 画波浪尺线。
用法:DRAWWAVERULER(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO,COLOR);
从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值、COND2的DATA2值和COND3的DATA3值构成三点,在第三点偏离前两点差额的RATIO比率处画波浪尺,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWWAVERULER(C>O,H,C>O,H,C>O,H,0.3,COLORGREEN);连接相距最近的三根阳线,以各自最高价作为三个点,在第三点偏离前两点差额0.3比率处画绿色波浪尺线,截至下一根阳线为止。 | WAVEPEAK(N) | 返回K线图波峰位置。
用法:
WAVEPEAK(N) 如果当前K线最高价大于前后N根K线的最高价返回1,否则返回0。
例:WAVEPEAK(10); //如果当前K线最高价大于前10根K线最高价且大于后10根K线最高价返回1,否则返回0 | WAVEVALLEY(N) | 返回K线图波谷位置。
用法:
WAVEVALLEY(N) 如果当前K线最低价小于前后N根K线的最低价返回1,否则返回0。
例:WAVEVALLEY(10); //如果当前K线最低价小于前10根K线最低价且小于后10根K线最低价返回1,否则返回0 | 9.颜色函数 COLORRED | 红色 | COLORGREEN | 绿色 | COLORBLUE | 蓝色 | COLORMAGENTA | 红紫色 | COLORYELLOW | 黄色 | COLORLIGHTGREY | 浅灰色 | COLORLIGHTRED | 浅红色 | COLORLIGHTGREEN | 浅绿色 | COLORLIGHTBLUE | 浅蓝色 | COLORBLACK | 黑色 | COLORWHITE | 白色 | COLORCYAN | 青色 | 10.未来函数 BACKSET | 将当前位置到若干周期前的数据设为1。
用法:
BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。
例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1
该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | REFX | 引用后N个周期的数据。
用法:
REFX(X,N)引用X在N个周期后的值。
例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | PEAK(X,P,M,C) | 取波峰值。
用法:
PEAK(X,P,M,C) 取得ZIGZAG的前M个波峰的值。
例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值。
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | PEAKBARS(X,P,M,C) | 取波峰的位置。
用法:
PEAKBARS(X,P,M,C) 取得ZIGZAG的前M个波峰的位置。
例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数;
PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | TROUGH(X,P,M,C) | 求前M个波谷的值。
用法:
TROUGH(X,P,M,C) 求ZIGZAG前M个波谷的值。
例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值;
TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | TROUGHBARS(X,P,M,C) | 求前M个波谷的位置。
用法:
TROUGHBARS(X,P,M,C) 求前M个波谷的位置。
TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数;
TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | ZIGZAG(X,N,C) | 求之字转向。
用法:
ZIGZAG(X,N,C)求X的在条件N下的之字转向值。
例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向 | ISLASTBAR | 判断该周期是否为最后一根k线。
用法:
ISLASTBAR 如果是最后一个K线返回1(Yes),否则返回0(No)
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! | #IMPORT [CODE, PERIOD, FORMULA] AS VAR | 引用某品种在某个周期上加载了某个指标的数据。
用法:
#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 MONTH
3.只能短周期引用长周期
4.被引用的指标中不能存在引用
5.如果不写文华码,默认引用当前合约 | 11.头寸函数 SETDEALPERCENT | 设置下单的虚拟资金使用比例
用法:
SETDEALPERCENT(fPercent)表示每次按资金的fPercent(范围1~100)下单。
例子:SETDEALPERCENT(20); //每次按资金比例的%20下单
注:应该与AUTOFILTER函数同时使用 | SETDEALVOL(nVol) | 设置模型每次下单按设置的手数下单。
用法:
SETDEALVOL(nVol)表示每次模型下nVol手单。
例子:SETDEALVOL(2); //模型每次下单2手
注:不可与SETDEALPERCENT函数同时使用
交易系统必须启动
效果测试不执行此函数 | 12.信号记录函数 |
BARSBK | 上一次买开信号位置
用法:
BARSBK返回上一次买开仓距离当前k线的k线数。 | BARSSK | 上一次卖开信号位置
用法:
BARSSK返回上一次卖开仓距离当前k线的k线数。 | BKPRICE | 买开信号位置的买开信号价位。
用法:
BKPRICE返回最近一次模型买开位置的买开信号价位。
例如:
BKPRICE-CLOSE>60 && BKPRICE>0, SP;//如果买开价位比当前价位高出60,且买开价位存在,卖平仓
请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。
注:BKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无信号价位会返回0,使用时请注意判断BKPRICE>0。效果测试中该函数返回信号位置的收盘价 | SKPRICE | 卖开信号位置的卖开信号价位
用法:
SKPRICE返回最近一次模型卖开位置的卖开信号价位。
例如:
CLOSE-SKPRICE>60 && SKPRICE>0, BP;//如果当前价位高出卖开价位60, 且卖开价位存在, 买平仓
请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。
注:SKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无
信号价位会返回0,使用时请注意判断SKPRICE>0。效果测试中该函数返回信号位置的收盘价 |
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|