周期:
由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数
据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个
数据项可能适用于多类代码及多个周期,其具体的数值也将不同。)
代码的分类:个股(含债券)。沪深指数(仅1A0001(统计上海A、B股基
金)、1A0002(统计上海A股)、1A0003(统计上海B股)、399001(统计深圳
A、B股基金)、399002(统计深圳A股)、399003(统计深圳B股)六个指数)。
期货。
周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的
数据)、(记录每分钟成交的数据)、分钟K线(以1分钟为单位的K线数
据)、日K线(以1个交易日为单位的K线数据)。
注意:基本数据项自身并不带周期,也就是说编写公式的时候,如果所选
用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这
个数据项的数值将为“空”,即取不到任何数据。
注意:所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、
周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不
推荐这样做,如果要画曲线最好新编写一个“曲线公式”。
其返回值为函数里面的return语句规定的返回值。若无return语句,则返
回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回
最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。
例如:调用指标。KDJ函数的名称为kdj,其参数和内容如下:
参数名最小值最大值默认值
N111009
M12403
M22403
函数内容为:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D
则当您在其它函数里输入a=KDJ(8,6,6)的时候,相当于计算N1=8,M1=6,
M2=6时的J值,并把这个值赋给a。
注意:
1、当传递的参数数目不等于被调用函数设置的参数数目时。
a、没有传递参数。则采用原来设置的默认参数计算。
b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改
变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。
c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改
变被调用函数的参数值,多余的参数不起作用。
2、函数名称不区分大小写。
3、新建的函数,其函数名可能与其它已存在的函数里面的内部变量重名。
这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而
产生错误。所以,在新建函数起名时要注意。
返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值
默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指
定为其中一项输出。
循环语句:
while循环的一般形式为:
while(条件)语句;
while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续
执行循环程序外的后续语句。
注意:
1、可以有多层循环嵌套。
2、语句可以是语句体,此时必须用 { 和 } 括起来。
break语句
break语句通常用在循环语句中。当break语句用while循环语句中时,可
使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一
起。即满足条件时便跳出循环。
注意:
1、break语句对if-else的条件语句不起作用。
2、在多层循环中,一个break语句只向外跳一层。
continue语句
continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。
continue语句只用在while循环体中,常与if条件语句一起使用,用来加
速循环。
关于“空”:
所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这
时返回值为“空”。例如,yearrep( jlr,4),其含义为取该公司3年前年报的
净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为“空”。
1、“空”与任何数据作计算时,相应计算被取消。
例如:7×NULL(即“空”)得到的结果为7。
2、“空”与任何数据比较大小时,“空”较小。
例如:-7 NULL(即“空”)得到的结果为1(即条件满足)。
这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以
用ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明
部分)。
调用函数的基本方式为:函数名(参数,参数,…)
同花顺系统公式编写教程及函数用法基础(一)
在自定义公式里面的各种符号(如,“;”)只能用半角不能用全角。
常数浮点数、整数、字符串
分隔符“”‘’();{}注释/**/
标识符由字母和数字组成,由字母开头,不分大小写
运算符(优先级从高到低排列,同级同行)
*/+-!= = =AndOr
语句赋值a=b
条件IF(a==b)c=d;
循环whilea==bc=d;
函数调用func(a,b)
赋值语句:
其一般形式为:
a=b;含义为将b的值付给a。
几个运算符“=”赋值、“:=”赋值“:”赋值并输出数值或字符串“: ”赋
值并输出图形。
注意:“=”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更
好地兼容市场上目前的各种带有公式编辑功能的分析软件。
同花顺公式函数注释(常用部分)
逻辑函数:
1、条件函数:根据条件求不同的值。
用法:IF(X,A,B)若X不为0则返回A,否则返回B。例如:
(CLOSE OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。
引用函数:
1、满足条件的周期数:统计满足条件的周期数。
用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个
有效值开始。例如:COUNT(CLOSE OPEN,20)表示统计20周期内收阳的周期数。
2、第一个条件成立到当前的周期数:统计第一个条件成立到当前的周期数。
用法:BARSSINCE(X):第一次X不为0到现在的天数。例如:
BARSSINCE(HIGH 10)表示股价超过10元时到当前的周期数。
3、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。
用法:BARSLAST(X),上一次X不为0到现在的天数。例如:
BARSLAST(CLOSE/REF(CLOSE,1) =1,1)表示上一个板到当前的周期数。
4、有效周期数:求总的周期数。
用法:BARSCOUNT(X),第一个有效数据到当前的天数。
5、向前赋值:将当前位置到若干周期前的数据设为1。
用法:BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。
例如:BACKSET(CLOSE OPEN,2)若收阳则将该周期及前一周期数值设为1,否则
为0。
6、求和:求总和。
用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。例
如:SUM(,5)周期设为日线时,表示最近5个交易日的之和。SUM(VOL,0)
表示从传数据过来第一天起的成交量总和,具体如在区间统计里统计“总手”
SUM(VOL,0)即是指全区间的成交量之和。
7、移动平均:求移动平均。
用法:SMA(X,N,M),求X的N日移动平均,M为权重。算法:若Y=SMA(X,N,M)
则Y=[M*X+(N-M)*Y ]/N,其中Y 表示上一周期Y值,N必须大于M。例如:
SMA(CLOSE,30,1)表示求30日移动平均价。
8、向前引用:引用若干周期前的数据。
用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期
的收盘价,在日线上就是昨收。
9、简单移动平均:求简单移动平均。
用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+,,,+Xn)/N。
例如:MA(CLOSE,10)表示求10日均价。
10、最低值:求最低值。
用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。例如:
LLV(LOW,0)表示求历史最低价。
11、最高值:求最高值。
用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。例如:
HHV(HIGH,30)表示求30日最高价。
12、指数平滑移动平均:求指数平滑移动平均。
用法:EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则
Y=[2*X+(N-1)*Y ]/(N+1),其中Y 表示上一周期Y值。例如:EMA(CLOSE,30)表
示求30日指数平滑均价。
13、动态移动平均:求动态移动平均。
用法:DMA(X,A),求X的动态移动平均。算法:若Y=DMA(X,A)则
Y=A*X+(1-A)*Y ,其中Y 表示上一周期Y值,A必须小于1。例如:
DMA(CLOSE,VOL/CAPITAL)表示求以作平滑因子的平均价。
14、最高值周期数:求上一高点到当前的周期数。
用法:HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个
有效值开始统计。例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数。
15、最低值周期数:求上一低点到当前的周期数。
用法:LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个
有效值开始统计。例如:LLVBARS(HIGH,10)求得10日最低点到当前的周期数。
16、加权移动平均:求加权移动平均。
用法:WMA(X,A),求X的加权移动平均。
算法:若Y=WMA(X,A)则
Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1)X0表示本周
期值,X1表示上一周期值...。
例如:WMA(CLOSE,20)表示求20日加权均价。
17、求和:向前累加到指定值到现在的周期数。
用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。
例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数。
时间函数:
1、总开盘分钟:求当前代码类型的开市交易时间。
用法:TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回242,
与日期或具体的股票无关。
2、距开盘分钟:求当前时刻距开盘有多长时间。
用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当
前时刻为早上十点,则返回31。
3、距午夜秒:求当前时刻距开盘有多长时间。
用法:FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当
前时刻为早上十点,则返回36000。
4、时间格式:转换时间格式。
用法:FORMATTIME(N)。目前只支持N=1把当前时间转换成距开盘分钟数返
回。例如:分时中的曲线公式:
(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。
5、时间差:计算两个时间之间的差。
用法:COUNTTIME(N,L,K)。N、L为时间,其格式为YYYYMMDD。K为1、2
或者3。当K为1时返回第二个之间比第一个时间晚多少年。当K为2时返回第
二个之间比第一个时间晚多少月。当K为3时返回第二个之间比第一个时间晚多
少日。例如:COUNTTIME(20000808,19990606,2)其返回值为-2。注意:这里
返回值有正负号。
算术函数:
1、绝对值:求绝对值。
用法:ABS(X)返回X的绝对值。例如:ABS(-34)返回34。
2、介于:介于两个数之间。
用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0
例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日和
10日均线之间。
3、最大值:求最大值。
用法:MAX(A,B)返回A和B中的较大值。例如:MAX(CLOSE-OPEN,0)表示若
收盘价大于开盘价返回它们的差值,否则返回0。
4、最小值:求最小值。
用法:MIN(A,B)返回A和B中的较小值。例如:MIN(CLOSE,OPEN)返回开盘
价和收盘价中的较小值。
5、求模运算:求模运算。
用法:MOD(A,B)返回A对B求模。例如:MOD(26,10)返回6。
6、求逻辑非:求逻辑非。
用法:NOT(X)返回非X,即当X=0时返回1,否则返回0。例如:NOT(5 3)
返回0。
7、范围:介于某个范围之间。
用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0。例如:
RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10
日均线。
8、求相反数:求相反数。
用法:REVERSE(X)返回-X。例如REVERSE(CLOSE)返回-CLOSE。
9、余弦值:求余弦值。
用法:COS(X)返回X的余弦值。
10、正弦值:求正弦值。
用法:SIN(X)返回X的正弦值。
11、平方根:开平方。
用法:SQRT(X)为X的平方根。例如:SQRT(CLOSE)收盘价的平方根。
12、上穿:两条线交叉。
用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0。例如:
CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交。
13、维持:两条线维持一定周期后交叉。
用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B
时返回1,否则返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5
日均线维持5周期后与10日均线交金叉。
14、空:判断是否为空。
用法:ISNULL(A)表示如果A为空(即没有数据)则返回1,否则返回0。
15、幂:求幂。
用法:POW(X,Y)。求X的Y次幂。例如:POW(2,3)为8。
绘图函数
位图
含义:在图形上绘制位图。
用法:
DRAWBMP(COND,PRICE,BMPFILE),当COND条件满足时,在PRICE位置画
BMPFILE文件名指定的BMP位图(缺省路径为软件安装目录登录用户名)。
例如:DRAWBMP(CLOSE OPEN,LOW, SUN )表示当收阳时在最低价位置画软件安装
目录登录用户名Sun.BMP位图。
BMPFILE参数指定的BMP文件默认路径为当前用户目录,如果不带后缀名即
表示BMP文件,也可带后缀名使用JPG和GIF文件。
也可不用用户目录而使用全路径,路径中的 要写两个以下字符串作为参数都是
合法的,如果文件存在的话:
SUN , SUN.BMP , SUN.JPG , SUN.GIF , C:hexinSUN.JPG
填充背景
含义:根据条件填充背景区域。
用法:
DRAWGBK(COND,COLOR),填充满足COND条件的背景区域。COLOR可以为渐变颜
色STRIP,也可以为BMP图形文件名(缺省路径为 软件安装目录登录用户名 ),
若省略COLOR则使用指标线颜色填充(可以使用COLORRED等描述符设定)。
例如:DRAWGBK(CLOSE OPEN),COLORRED;表示收阳时用红色填充背景。
DRAWGBK(CLOSE OPEN, MyBMP 表示收阳时用软件安装目录登录用户名
MyBMP.BMP填充背景。
画图标
含义:在图形上绘制小图标。
用法:
DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE图
标,TYPE是曲线标志的名称。
例如:DRAWICON(CLOSE OPEN,LOW, buy )表示当收阳时在最低价位置画买入图标。
显示文字
含义:在图形上显示文字。
用法:
DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字
TEXT。
例如:DRAWTEXT(CLOSE/OPEN 1.08,LOW, 大阳线 )表示当日涨幅大于8%时在最
低价位置显示 大阳线 字样。
RGB颜色
含义:指定颜色。
用法:RGB(R,G,B),表示用三原色红(R)绿(G)蓝(B)混合组成指定颜色,每种
颜色值可以设定为0-255。
例如RGB(255,0,0)表示红色,RGB(0,0,255)表示蓝色
画柱线
用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,
在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH
不为0则画空心柱。
例如:STICKLINE(CLOSE OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体
部分。
提示文字
TIPTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置显示图标,
若PRICE为0,则在图形底部显示图标。
例如:TIPTEXT(CLOSE/OPEN 1.08,LOW, 大阳线,股价为: +close)表示当日
涨幅大于8%时在最低价位置显示图标,鼠标移近时显示文字 大阳线,股价
为:15.88 字样。
显示为三角图
画垂直线
含义:在图形上绘制垂直线。
用法:
VERTLINE(COND,TYPE),当COND条件满足时,沿垂直方向绘制TYPE类型的线
段,TYPE=0表示实线,1表示虚线 --- ,2表示点线 ... ,3表示点划线 -.-.- ,
4表示点点划线 -..-..- 。
例如:VERLINE(HIGH =HHV(HIGH,20),1)表示在创20天新高画垂直虚线
画水平线
含义:在图形上绘制水平线。
用法:
HORLINE(COND,PRICE,TYPE,EXTEND),当COND条件满足时,在PRICE位置沿水
平方向绘制TYPE类型的线段,TYPE=0表示实线,1表示虚线 --- ,2表示点线
... ,3表示点划线 -.-.- 4表示点点划线 -..-..- 。EXTEND=1表示向左延
长,=2表示向右延长,=3表示左右
由简单的公式编写开始:这里举一些最简单的例子,有些只有一条语句且函
数简单,较复杂的公式中函数复杂且语句较多。
收盘价线
CLOSE均线的画法
计算N日内收盘价的算术平均值,公式为:MA(X,N)表示
X的N日平均。
例如:MA1:MA(CLOSE,5),coloryellow;表示为:
参数名画一条5日收盘价的均线设置该线为黄色
MA2:MA(C,20),color0000ff(20日收盘价均线,颜色为红色)
MA3:MA(c,250),color00ff00(年线,绿色)
均线:MA(c,N);(周期N可设置最大,最小,缺省)
换手率
换手率指当期的成交量占流通股本的比例。
公式:hs:VOL/CAPITAL;VOL为当期成交量,CAPITAL为流通股本。
乖离率当前股价与均线的偏差的程度
gl:(c-ma(c,20))/ma(c,20)*100;
量比当期成交量与5日均量的比
lb:vol/ma(vol,5);
涨幅
涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨
日收盘价)/昨日收盘价*100%,
昨日收盘价的公式为:REF(CLOSE,1),
涨幅的公式:
(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)
创新高
创新高指当日最高价是最近一段时间的最高价:
HIGH=HHV(HIGH,N)
其中的HIGH为当期最高价,HHV(X,N)是求N周期内X
最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。
横盘整理
横盘整理指最近一段时期价格在一定幅度之内摆动:
(HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE 0.05
其中的LLV(X,N)是求N周期
内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。
放量、缩量(成交量函数为VOL)
A、放量
a.今天成交量较昨天增加了1倍,表示如下:
VOL/REF(VOL,1) 2b.今天成
交量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol,10);Vol/a 2或者直接用如下公式表示:vol/ma(vol,10)
c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol,10);b:=ma(vol,5);b/a
d.今日的成交量超过了整个流通盘的5%,表示如下:
vol/capital 0.05;
其中capital代表流通盘。
B、缩量
a.今日成交量较昨日减少了一半,表示如下:vol/ref(vol,1)
b.今日成交量较10个交易日平均成交量减少一倍,表示如下:
a:=ma(vol,10);vol/a 或者直接用如下公式表示:
vol/ma(vol,10)
c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下:
a:=ma(vol,10);b:=ref(a,5);a/b
d.今日的成交量低于了整个流通盘的5%,表示如下:vol/capital 0.05;
上涨、下跌
上涨今天的涨幅达到5%以上,表示如下:close ref(close,1) 1.05;
5日均价连续上涨,表示如下:a:=ma(close,5);b:=ref(a,1);
下跌今天的跌幅达到5%以上,表示如下:close/ref(close,1) 0.95;
5日均价连续下跌,表示如下:a:=ma(close,5);b:=ref(a,1);a
描述K线阳线close open;阴线close open;高开
open ref(close,1);低开open ref(close,1);跳空高开(high为最高价)
open ref(high,1);跳空低开(low为最低价)open ref(low,1);
引用数据
INDEXDATA(“N”, X,K)INDEXDATA求某商品相关的数据
例:INDEXDATA( 1a0001 , HIGH),n)沪指N周期最高值
个股于大盘的比较
CLOSE/INDEXDATA( 1A0001 , CLOSE)*1000只于沪指比较
股价在N日线附近--这可是反映股价调整幅度的好公式()
a:=MA(C,N);选股时输入20,30,60可选不同均线附近的股,
ABS(C-a)/C =0.02;在某均线的2/100附近的股票。也可根据需要改百分比。
只显示数值不显示曲线在曲线属性-输出线形的勾去掉,在公式语句使用输
出符出“:”
【天】:BARSLAST(MA(C,250) REF(MA(C,250),1)),colorwhite年线由下跌
拐头向上的天数,不显示曲线。
图函数妙用:
绘图函数的功能是在主图或副图上设定条件输出图标、直线、文字、数字、指标
线、指标柱等。运用恰当使编制出的主副图指标给以视觉上的美感。
1、函数:DRAWICON
用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE
号图标。
说明:在图形上绘制小图标,其中TYPE可选3种图标,编码为1-3(1为红脸、2
为绿脸、3为平脸)。
示例:DRAWICON(CLOSE OPEN,LOW,1);表示当收阳时在最低价位置画1号图标,
也就是红脸。
DRAWICON(CLOSE OPEN,high,2);表示当收阴时在最高价位置画2号图标,也就是
绿脸。
指标示例:
{月均线主图}
ma1:ma(close,5),colorwhite,linethick2;{画一条5日收盘价的均线,设置该
线为粗白色}
ma2:ma(close,10),colorff00ff,linethick2;{画一条10日收盘价的均线,设置
该线为粗粉色}
ma3:ma(close,20),color00ff00,linethick2;{画一条20日收盘价的均线,设置
该线为粗绿色}
a1:=cross(ma1,ma2);{5日均线上穿10日均线,金叉}
a2:=cross(ma2,ma1);{10日均线下穿5日均线,死叉}
DRAWICON(a1,low,1);{当a1条件满足时,在最低价位置上显示红脸,表示此处
可作为买入点}
DRAWICON(a2,high,2);{当a2条件满足时,在最高价位置上显示绿脸,表示此处
可作为卖出点}
2、函数:DRAWLINE
用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,
在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,
EXPAND为延长类型。
说明:在图形上绘制直线段。
示例:DRAWLINE(HIGH =HHV(HIGH,20),HIGH,LOW =LLV(LOW,20),LOW,1);表示在
创20天新高与创20天新低之间画直线并且向右延长。如图:
DRAWLINE是唯一一个一句里面用到两个COND的绘图函数。因为它需要两个点来
决定一直线。
COND1相当于指定K线位置(横坐标),PRICE1相当于是指定价位(纵坐标),
这样一个点在平面上的位置就决定了。
DRAWLINE是从第一点画到第二点的,即有起点与终点的顺序关系:第一点出现
的时间,要在第二点之前。否则线是画不出来的。
EXPAND,扩张、发展,这里是延伸的意思吧。取0,不延长;取1,延长。实际
上是取大于等于1的数就延长,小于1就不延长。
指标示例:
{季均线主图}
ema1:ema(close,20),colorff00ff;{画一条20日收盘价的均线,设置该线为粉
色}
ema2:ema(close,40),color00ff00;{画一条40日收盘价的均线,设置该线为绿
色}
ema3:ema(close,60),colorwhite,CIRCLEDOT;{画一条60日收盘价的均线,设置
该线为白色o线}
DRAWLINE(HIGH =HHV(HIGH,20),HIGH,HIGH =HHV(HIGH,20),HIGH,1),colorwhit
e;{表示在创20天新高与创20天新低之间画直线并且向右延长。}
DRAWLINE(HIGH =HHV(HIGH,20),HIGH,LOW =LLV(LOW,20),LOW,1),coloryellow;
{表示在创20天新高与创20天新低之间画直线并且向右延长。}
3、函数:DRAWTEXT说明:在图形上显示文字。
用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字
TEXT,可显示多行文本。
示例:DRAWTEXT(CLOSE/OPEN 1.08,LOW,’大涨啦’);表示当日涨幅大于8%时在
最低价位置显示’大涨啦’字样。在某些满足条件的地方直接显示文字或字符,
比显示图标要更直观一些。注意,显示的文字要用英语状态下的单引号括起。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿
色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为
黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设
置该线为蓝色粗线}
DRAWTEXT(CLOSE/OPEN 1.08,LOW,’大涨啦’),colorwhite;{表示当日涨幅大于
8%时在最低价位置显示’大涨啦’字样。}
4、函数:POLYLINE说明:在图形上绘制折线段。
用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连
接。
示例:POLYLINE(HIGH =HHV(HIGH,20),HIGH);表示在创20天新高点之间画折线。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿
色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为
黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设
置该线为蓝色粗线}
POLYLINE(HIGH =HHV(HIGH,20),HIGH),COLORWHITE;{表示在创20天新高点之间
画折线(白色)。}
5、函数:STICKLINE说明:在图形上绘制柱线。
用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在
PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH可为0---100(10为标准间
距),EMPTH不为0则画空心柱。
示例:STICKLINE(CLOSE OPEN,CLOSE,OPEN,0.8,1);表示画K线中阳线的空心柱
体部分。
运用要点:
⑴PRICE1和PRICE2没有顺序关系,即何者在前何者在后都不影响语句的执行。
⑵WIDTH宽度,支持小数。用1和用0.1,会有很大的差别。取4时和主图的K
线宽度差不多。
以下的副图公式,画出的K线,与主图中显示的K线差不多。
指标示例:副图K线}
STICKLINE(C OOR(C=OANDC REF(C,1)),O,C,4,1),colorred;{画出红K实体}
STICKLINE((C OANDC H)OR(C=OANDC REF(C,1)),C,H,0.1,0),colorred;{画
出红K上影线}
STICKLINE((C OANDL O)OR(C=OANDC REF(C,1)),L,O,0.1,0),colorred;{画
出红K下影线}
STICKLINE(C OOR(C=OANDC =REF(C,1)),C,O,4,0),colorffcc66;{画出青K
实体}
STICKLINE(C OOR(C=OANDC =REF(C,1)),L,H,0.1,0),colorffcc66;{画出青
K影线。因为青K是实心的,所以影线从中穿过}
ma5:MA(C,5),colorwhite;
ma10:ma(c,10),colorff00ff;