同花顺公式编写及函数 周期: 由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周期,其具体的数值也将不同。) 代码的分类:个股(含债券)。沪深指数(仅 周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的数据)、分时(记录每分钟成交的数据)、分钟K线(以1分钟为单位的K线数据)、日K线(以1个交易日为单位的K线数据)。 注意: 基本数据项自身并不带周期,也就是说编写公式的时候,如果所选用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这个数据项的数值将为“空”,即取不到任何数据。 注意: 所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不推荐这样做,如果要画曲线最好新编写一个“曲线公式”。 其返回值为函数里面的return语句规定的返回值。若无return语句,则返回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。 例如:调用KDJ指标。KDJ函数的名称为kdj,其参数和内容如下: 参数名最小值 最大值 默认值 N1 1 100 9 M1 2 40 3 M2 2 40 3 函数内容为: 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函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。 调用函数的基本方式为:函数名(参数,参数,…) 同花顺系统公式编写教程及函数用法基础(一) 在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。 常数 浮点数、整数、字符串 分隔符 “ ” ‘ ’ ( ) ; { } 注释/* */ 标识符 由字母和数字组成,由字母开头,不分大小写 运算符(优先级从高到低排列,同级同行) * / + - != > < >= <= And Or 语句赋值 a = b 条件 IF (a==b) c=d; 循环 while a==b c=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(VOL,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:\hexin\SUN.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)>2 b.今天成交量较10个交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); Vol/a>2 或者直接用如下公式表示: vol/ma(vol,10)>2; c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a>2; d.今日的成交量超过了整个流通盘的5%,表示如下: vol/capital>0.05;其中capital代表流通盘。 B、缩量 a.今日成交量较昨日减少了一半,表示如下: vol/ref(vol,1)<0.5; b.今日成交量较10个交易日平均成交量减少一倍,表示如下: a:=ma(vol,10); vol/a<2; 或者直接用如下公式表示: vol/ma(vol,10)<2; c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下: a:=ma(vol,10); b:=ref(a,5); a/b<2; 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< b; 描述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(" 个股于大盘的比较 CLOSE/INDEXDATA(" 股价在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),colorwhite;{表示在创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>O OR (C=O AND C>REF(C,1)),O,C,4,1),colorred;{画出红K实体} STICKLINE((C>O AND C<>H) OR (C=O AND C>REF(C,1)),C,H,0.1,0),colorred;{画出红K上影线} STICKLINE((C>O AND L<>O) OR (C=O AND C>REF(C,1)),L,O,0.1,0),colorred;{画出红K下影线} STICKLINE(C<O OR (C=O AND C<=REF(C,1)),C,O,4,0),colorffcc66;{画出青K实体} STICKLINE(C<O OR (C=O AND C<=REF(C,1)),L,H,0.1,0),colorffcc66;{画出青K影线。因为青K是实心的,所以影线从中穿过} ma5:MA(C,5),colorwhite; ma10:ma(c,10),colorff00ff; |
|