当前位置:文档之家› 大智慧公式语法教程(修订版)

大智慧公式语法教程(修订版)

大智慧新一代公式编辑语法大全VARIABLE 变量定义(定义并初始化变量)语法:VARIABLE:name=inivalue;name表示变量名,inivalue表示变量类型及初始值。

例如:VARIABLE: T=0; 表示定义浮点数变量T并初始化为0。

INPUT 定义参数(定义并设置参数)语法:INPUT:name(default,min,max,step);name表示参数名,default表示缺省值,min表示最小值,max表示最大值,step表示优化步长,除default外都可以省略。

例如:INPUT: T(10);表示定义参数T,缺省值为10。

IF分支语句语法:IF expr THEN expr ELSE expr;FOR FOR循环语法1(递增):FOR expr=n1 TO n2 DO expr;语法2(递减):FOR expr=n1 DOWNTO n2 DO expr;WHILE WHILE循环语法:WHILE expr DO exprBREAK终止循环(终止if、for、while循环的继续执行)语法:BREAK;BEGIN组合语句(将 BEGIN 和 END 之间的语句合成一个复合语句) 语法:BEGINExpr;END;DATA2数据2(引用本股票之外的数据)REFLINE参考线(使用参考线作为横坐标线)语法:REFLINE:**,***,...;(在***的位置画水平线) DEFINE宏定义语法:DEFINE Name SomethingDEFFUNC函数宏定义语法:DEFFUNC Name(x) Something跳转语句JP跳转BREAK BREAKLOOP单步循环JT TRUE跳转JNT FALSE跳转JNE不等于跳转JEQ等于跳转JLE小于等于跳转JLT小于跳转JGE大于等于跳转JGT大于跳转INC加1DEC减1PERCENT百分比REFINDI指标引用REFEXPLORER条件选股引用REFSYSTEM交易系统引用REFSTK股票引用REFDLL动态库引用ARYREF数组引用ARYASGN数组赋值STRADD字符串加STRADDNUM字符串加数字DATA2数据2引用本股票之外的数据:赋值:=赋值=相等<>不等>大于>=大于或等于<小于<=小于或等于And逻辑与运算Or逻辑或运算+加法-减法*乘法/除法O开盘价H最高价L最低价C收盘价V成交量OPEN取得该周期开盘价HIGH取得该周期最高价LOW取得该周期最低价CLOSE收盘价VOL成交量AMOUNT成交额ADVANCE取得该周期上涨家数DECLINE取得该周期下跌家数TICKCOUNT取得该周期成交笔数BUYVOL取得主动性买单量SELLVOL取得主动性卖单量ISBUYORDER取得该成交是否为主动性买单BIDPRICE取得委买1--委买3价格BIDVOL取得委买1--委买3量ASKPRICE取得委卖1--委卖3价格ASKVOL取得委卖1--委卖3量DIVIDEND每股派息数量DIVIDBARS派息到现在的周期数SPLIT除权比例 SPLIT(N),取得之前第N次除权(送股或配股)的除权比例SPLITBARS除权到现在的周期数 SPLITBARS(N),取得之前第N次除权到当前的周期数BARSTATUS数据位置状态返回1表示第一根K线,2表示最后一个数据,0表示中间位置DISPSTATUS数据显示状态。

返回1表示显示区域的第一根K线,2表示显示区域的最后一根K线,0表示其它位置。

EXTDATA扩展数据取得日线扩展数据(1-11)SELFDATA自定义数据 SELFDATA(S),取得名为S的自定义数据SELFSTRING取得自定义字符串数据ISUP该周期是否收阳当收盘>开盘时,返回值为1,否则为0ISEQUAL该周期是否平盘当收盘=开盘时,返回值为1,否则为0ISDOWN该周期是否收阴当收盘<开盘时,返回值为1,否则为0DAY取得该周期的日期WEEKDAY取得该周期的星期数。

函数返回有效值范围为(0-6),0表示星期天MONTH取得该周期的月份YEAR取得该周期的年份。

函数返回有效值范围为(1970-2038) MINUTE取得该周期的分钟数。

函数返回有效值范围为(0-59)HOUR取得该周期的小时数。

函数返回有效值范围为(0-23)DATE取得该周期从1900以来的年月。

函数返回有效值范围为(700101-1341231)TIME取得该周期的时分秒。

函数返回有效值范围为(000000-235959) DAYS1970取得该周期从1970以来的天数TIME0取得该周期从当日0点以来的秒数。

函数返回自从当日0点以来的秒数,对于日线以上的分析周期,返回0DATETOD1970日期转换为1970日。

DATETOD1970(X),得到日期X距离1970年1月1日以来的天数D1970TODATE 1970来的天数转换为日期。

D1970TODATE(X),得到1970日期X的日期值TIMETOT0时间转化为秒数。

TIMETOT0(X),得到时间X距离当日0点的秒数T0TOTIME秒数转换为时间。

T0TOTIME(X),得到从0点开始X秒后的时间值BARPOS取得该周期在所有数据中的位置对于日线来说,函数返回上市以来的天数COUNT COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始SUM SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始REF REF(X,A),引用A周期前的X值BACKSET BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1 HHV HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始LLV LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始MA MA(X,N),求X的N日移动平均值。

算法:(X1+X2+X3+...+Xn)/N EMA EMA(X,N),求X的N日指数平滑移动平均。

算法:若 Y=EMA(X,N),则 Y=[2*X+(N-1)*Y']/(N+1),其中Y 表示上一周期Y值SMA SMA(X,N,M),求X的N日移动平均,M为权重算法: 若Y=SMA(X,N,M),则 Y=[M*X+(N-M)*Y')/N,其中Y 表示上一周期Y值, N必须大于MDMA DMA(X,A),求X的动态移动平均算法: 若Y=DMA(X,A),则 Y=A*X+(1-A)*Y',27h,',其中Y 表示上一周期Y值,A必须小1例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价BARSCOUNT BARSCOUNT(X)第一个有效数据到当前的周期数BARSSINCE BARSSINCE(X):第一次X不为0到现在的周期数BARSLAST BARSLAST(X):上一次X不为0到现在的周期数LAST LAST(X),统计连续满足X条件的周期数HHVBARS HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计LLVBARS LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计SUMBARS SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数ALL ALL(X,N),统计N周期中是否一直都满足X条件,N=0表示从第一个有效值开始统计ANY ANY(X,N),统计N周期中是否至少有一次满足X条件,N=0表示从第一个有效值开始统计FILTER FILTER(X,N):X满足条件后,将其后N周期内的数据置为0, 若N为0表示将其后的所有数据置0IF IF(X,A,B)若X不为0则返回A,否则返回BCROSS CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0 LONGCROSS LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0BETWEEN BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0 RANGE RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0 NOT求逻辑非REVERSE求相反数。

REVERSE(X)返回-XMOD求模运算。

MOD(A,B)返回A对B求模MAX最大值 MAX(A,B...)返回所有参数的中的最大值,参数数量可以有2—16个MIN最小值 MIN(A,B...)返回所有参数的中的最小值,参数数量可以有2—16个ABS求绝对值 ABS(X)返回X的绝对值SGN求符号值 SGN(X),当X>0,X=0,X<0分别返回1,0,-1LOG求10为底的对数 LOG(X)取得X的对数LN求自然对数POW乘幂 POW(A,B)返回A的B次幂CEILING向数值增大方向舍入FLOOR向数值减小方向舍入INTPART切断取整FRACPART取得小数部分EXP指数 EXP(X)为e的X次幂SQRT开平方STD STD(X,N)为X的N日估算标准差STDP STDP(X,N)为X的N日总体标准差VAR VAR(X,N)为X的N日估算样本方差VARP VARP(X,N)为X的N日总体样本方差AVEDEV AVEDEV(X,N)为X的N日平均绝对偏差DEVSQ DEVSQ(X,N)为X的N日数据偏差平方和FORCAST FORCAST(X,N)为X的N周期线性回归预测值SLOPE SLOPE(X,N)为X的N周期线性回归线的斜率COVAR COVAR(X,Y,N)为X与Y的N周期协方差RELATE RELATE(X,Y,N)为X与Y的N周期相关系数,其有效值范围在-1 — 1之间BETA BETA(N)为N周期当前股票收益与大盘收益相比的贝塔系数, 该系数表明大盘每变动1%,则该股票将变动几%BETAUP BETAUP(N)为当前股票收益与大盘收益相比的上涨贝塔系数, 该系数表明大盘每上涨1%,则该股票将上涨几%BETADOWN BETAUP(N)为当前股票收益与大盘收益相比的下跌贝塔系数, 该系数表明大盘每下跌1%,则该股票将下跌几%BETA2 BETA2(X,Y,N)为X与Y的N周期相关贝塔系数,该系数表示Y变化1%,则X将变化几%SAR SAR(N,S,M),N为计算周期,S为步长,M为极值的抛物转向SARTURN SARTURN(N,S,M),N为计算周期,S为步长,M为极值的抛物转向点,若向上转向则1,若向下转向则-1,否则为0ZIG ZIG(K,N,ABS),当价格变化量超过N%时转向,K表示 0:开盘价,1:最高价2:最低价,3:收盘价,4:低点采用最低价、高点采用最高价。

相关主题