-
:转载时请以超链接形式标明文章原始出处和作者信息及
VARIABLE变量定义
定义并初始化变量
语法:VARIABLE:name=inivalue,
name表示变量名,
inivalue表示变量类型及初始值
例如:VARIABLE:T=0; 表示定义浮点数变量T并初始化为0
INPUT 定义参数
定义并设置参数
语法:INPUT.name(default,min,max,step),
name表示参数名,
default表示缺省值,
min表示最小值,
max表示{zd0}值,
step表示优化步长,
除default外都可以省略。
例如:INPUT.T(10);表示定义参数T,缺省值为10
IF分支语句
分支语句 IF exprTHEN expr ELSE expr
THEN 分支语句
分支语句 IF exprTHEN expr ELSE expr
ELSE 分支语句
分支语句 IF exprTHEN expr ELSE expr
FOR FOR循环
循环语句 FORexpr=n1 TO n2 DO
TOFOR循环
循环语句 FORexpr=n1 TO n2 DO
DOWNTO FOR循环
循环语句 FORexpr=n1 DOWNTO n2 DO
DO循环开始
FOR循环和WHILE循环语句开始
WHILE WHILE循环
循环语句 WHILEexpr DO
BREAK 终止循环
循环终止语句: 终止IF WHILE循环的继续执行
BEGIN 组合语句
将 BEGIN 和 END 之间的语句合成一个复合语句
END 组合语句
将 BEGIN 和 END 之间的语句合成一个组合语句
DATA2 数据2
引用本股票之外的数据
REFLINE 参考线
使用参考线作为横坐标线
语法:REFLINE:l1,l2,l3...,l1,l2表示需要画水平坐标线的位置
BREAK 终止循环
终止WHILE或FOR循环
DEFINE 宏定义
宏定义 DEFINEName Something
DEFFUNC 函数宏定义
函数宏定义 DEFFUNCName(x) Something
JP跳转
BREAK BREAK
LOOP 单步循环
JTTRUE跳转
JNTFALSE跳转
JNE 不等于跳转
JEQ 等于跳转
JLE 小于等于跳转
JLT 小于跳转
JGE 大于等于跳转
JGT 大于跳转
INC 加1
DEC 减1
PERCENT 百分比
REFINDI 指标引用
REFEXPLORER 条件选股引用
REFSYSTEM 交易系统引用
REFSTK 股票引用
REFDLL 动态库引用
ARYREF 数组引用
ARYASGN 数组赋值
STRADD 字符串加
STRADDNUM 字符串加数字
DATA2 数据2 引用本股票之外的数据
:赋值
:=赋值
=相等
<>不等
>大于
>=大于或等于
<小于
<=小于或等于
And 逻辑与运算
Or逻辑或运算
+加法
-减法
*乘法
/除法
O开盘价
H{zg}价
L{zd1}价
C收盘价
V成交量
OPEN 取得该周期开盘价
HIGH 取得该周期{zg}价
LOW 取得该周期{zd1}价
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表示{dy}根K线,2表示{zh1}一个数据,0
表示中间位置
DISPSTATUS 数据显示状态返回1表示显示区域的{dy}根K线,2表示表示显示区域的最
后一根K线,0表示其它位置。
EXTDATA 扩展数据 取得日线扩展数据(1-11)
SELFDATA 自定义数据 SELFDATA(S),取得名为S的自定义数据
SELFSTRING 取得自定义字符串数据
ISUP 该周期是否收阳 当收盘>开盘时,返回值为1,否则为0
ISEQUAL该周期是否平盘 当收盘=开盘时,返回值为1,否则为0
ISDOWN 该周期是否收阴 当收盘<开盘时,返回值为1,否则为0
DAY 取得该周期的日期
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点以来的秒数,对于
日线以上的分析周期,返回0
DATETOD1970 日期转换为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则从{dy}个有效值开始
SUMSUM(X,N),统计N周期中X的总和,N=0则从{dy}个有效值开始
REFREF(X,A),引用A周期前的X值
BACKSET BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1
HHVHHV(X,N),求N周期内X{zg}值,N=0则从{dy}个有效值开始
LLVLLV(X,N),求N周期内X{zd1}值,N=0则从{dy}个有效值开始
MAMA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+...+Xn)/N
EMAEMA(X,N),求X的N日指数平滑移动平均。
算法:若Y=EMA(X,N)
则Y=[2*X+(N-1)*Y'']/(N+1),
其中Y 表示上一周期Y值
SMASMA(X,N,M),求X的N日移动平均,M为权重
算法: 若Y=SMA(X,N,M)
则Y=[M*X+(N-M)*Y'')/N,
其中Y 表示上一周期Y值, N必须大于M
DMADMA(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){dy}个有效数据到当前的周期数
BARSSINCE BARSSINCE(X):{dy}次X不为0到现在的周期数
BARSLAST BARSLAST(X):上一次X不为0到现在的周期数
LAST LAST(X),统计连续满足X条件的周期数
HHVBARS HHVBARS(X,N):求N周期内X{zg}值到当前周期数,N=0表示从{dy}个有效值
开始统计
LLVBARS LLVBARS(X,N):求N周期内X{zd1}值到当前周期数,N=0表示从{dy}个有效值
开始统计
SUMBARS SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数
ALLALL(X,N),统计N周期中是否一直都满足X条件,N=0表示从{dy}个有效值开
始统计
ANYANY(X,N),统计N周期中是否至少有一次满足X条件,N=0表示从{dy}个有效
值开始统计
FILTER FILTER(X,N):X满足条件后,将其后N周期内的数据置为0,若N为0表示将其
后的所有数据置0
IFIF(X,A,B)若X不为0则返回A,否则返回B
CROSS CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0
LONGCROSS LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返
回1,否则返回0
BETWEEN BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0
RANGE RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0
NOT 求逻辑非
REVERSE 求相反数。REVERSE(X)返回-X
MOD 求模运算。MOD(A,B)返回A对B求模
MAX {zd0}值 MAX(A,B...)返回所有参数的中的{zd0}值,参数数量可以有2-16个
MIN 最小值 MIN(A,B...)返回所有参数的中的最小值,参数数量可以有2-16个
ABS 求{jd1}值 ABS(X)返回X的{jd1}值
SGN 求符号值 SGN(X),当X>0,X=0,X<0分别返回1,0,-1
LOG 求10为底的对数 LOG(X)取得X的对数
LN求自然对数
POW 乘幂 POW(A,B)返回A的B次幂
CEILING 向数值增大方向舍入
FLOOR 向数值减小方向舍入
INTPART 切断取整
FRACPART 取得小数部分
EXP 指数 EXP(X)为e的X次幂
SQRT 开平方
STDSTD(X,N)为X的N日估算标准差
STDPSTDP(X,N)为X的N日总体标准差
VARVAR(X,N)为X的N日估算样本方差
VARP: VARP(X,N)为X的N日总体样本方差
AVEDEV AVEDEV(X,N)为X的N日平均{jd1}偏差
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将变
化几%
SARSAR(N,S,M),N为计算周期,S为步长,M为极值的抛物转向
SARTURN SARTURN(N,S,M),N为计算周期,S为步长,M为极值的抛物转向点,若向上转
向则1,若向下转向则-1,否则为0
ZIGZIG(K,N,ABS),当价格变化量超过N%时转向,
K表示 0:开盘价,1:{zg}价2:{zd1}价,3:收盘价,4:低点采用{zd1}价、高
点采用{zg}价。
若ABS为0或省略,则表示相对之字转向,否则为{jd1}之字转向
FLATZIG FLATZIG(K,N,ABS),当价格变化量超过N%时转向,
K表示 0:开盘价,1:{zg}价,2:{zd1}价,3:收盘价,4:低点采用{zd1}价、高
点采用{zg}价。
若ABS为0或省略,则表示相对归一化之字转向,否则{jd1}归一化之字转向
PEAKPEAK(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波峰的数值,M必须大
于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为{jd1}ZIG转向
PEAKBARS PEAKBARS(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波峰到当前的周
期数,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为{jd1}ZIG转向
TROUGH TROUGH(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波谷的数值,M必须
大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为{jd1}ZIG转向
TROUGHBARS TROUGHBARS(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波谷到当前的
周期数,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为{jd1}ZIG
转向
COST 成本分布情况。COST(N),返回N%获利盘的价格
WINNER 获利盘比例。WINNER(CLOSE),表示以当前收市价卖出的获利盘比例
PPART 远期成本分布比例。PPART(10),表示10天前的成本占总成本的比例
PWINNER 远期获利盘比例。PWINNER(5,CLOSE),表示5天前的那部分成本以当前收市
价卖出的获利盘比例
LWINNER 近期获利盘比例。LWINNER(5,CLOSE),表示最近5天的那部分成本以当前收
市价卖出的获利盘比例
INDEXO 对应大盘开盘价
INDEXH 对应大盘{zg}价
INDEXL 对应大盘{zd1}价
INDEXC 对应大盘收盘价
INDEXV 对应大盘成交量
INDEXA 对应大盘成交额
INDEXADV 对应大盘上涨家数
INDEXDEC 对应大盘下跌家数
SIN 正弦值
COS 余弦值
TAN 正切值
ASIN 反正弦值
ACOS 反余弦值
ATAN 反正切值
CAPITAL 流通盘大小 单位:手 指数为0
VOLUNIT 每手股数。返回每手股
DATATYPE 数据类型 返回 分时线 =1, 分笔成交=2, 1分钟线 =3,
5分钟线=4, 15分钟线 =5, 30分钟线 =6,
60分钟线=7, 日线=8, 周线 =9,
月线=10, 多日线=11, 年线=12,
季线=13, 半年线=14
CATEGORY 证券类型 返回 指数 =0, 股票=1, 基金 =2,
债券=3, 其它=4, 期权 =5,
外汇=6, 期货=7
CURRENTDATE 计算时的当前日期。日期是从1900年开始的日期,2003年1月1日表示为
1030101
CURRENTTIME 计算时的当前时间 格式为时分秒,有效范围(000000-235959)
MINDIFF 最小价格单位。,对于股票是0.01元,基金是0.001元
PRODUCTID 取得软件序列号。该函数返回字符串常数
DYNAINFO 动态行情。 DYNAINFO(N)表示取得第N号动态行情
FINANCE 财务数据。 FINANCE(N)表示取得第N号财务数据
DRAWTEXT 在图形上显示文字DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在
PRICE位置书写文字TEXT。
例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,''大阳线'')表示当日涨幅大于
8%时在{zd1}价位置显示''大阳线''字样。
DRAWTEXTABS 在图形{jd1}位置上显示文字。DRAWTEXTABS(X,Y,TEXT),在图形窗口(X,Y)
坐标位置书写文字TEXT,坐标单位是像素,图形窗口左上角坐标为(0,0)
如:DRAWTEXTABS(0,10,''机构评级:''+selfstring(''评级'')),coloryellow;
DRAWTEXTREL 在图形相对位置上显示文字。DRAWTEXTREL(X,Y,TEXT),在图形窗口(X,Y)坐
标位置书写文字TEXT,坐标单位是窗口沿水平和垂直方向的1/1000,X,Y取
值范围是0-999,超出范围则可能显示在图形窗口外。
TIPTEXT 在图形上显示图标,鼠标移近时显示文字。TIPTEXT(COND,PRICE,TEXT),当
COND条件满足时,PRICE位置显示图标,若PRICE为0,在图形底部显示图标。
例如:TIPTEXT(CLOSE/OPEN>1.08,LOW,''大阳线,股价为:''+close)
表示当日涨幅大于8%时在{zd1}价位置显示图标,鼠标移近时显示
文字 "大阳线,股价为:15.88" 字样。
DRAWICON 在图形上绘制小图标。''DRAWICON(COND,PRICE,TYPE),当COND条件满足时,
在PRICE位置画TYPE号图标,TYPE取值范围是1-14。
DRAWBMP 在图形上绘制位图。DRAWBMP(COND,PRICE,BMPFILE),当COND条件满足时,
在PRICE位置画BMPFILE文件名指定的BMP位图(缺省路径为分析家目
录\\USERDATA\\BMP)
DRAWLINE 在图形上绘制直线段。DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),
当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,
COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
POLYLINE 在图形上绘制折线段。POLYLINE(COND,PRICE),当COND条件满足时,PRICE