收藏 分享(赏)

同花顺常用公式函数大全.doc

上传人:精品资料 文档编号:9635732 上传时间:2019-08-19 格式:DOC 页数:11 大小:29.59KB
下载 相关 举报
同花顺常用公式函数大全.doc_第1页
第1页 / 共11页
同花顺常用公式函数大全.doc_第2页
第2页 / 共11页
同花顺常用公式函数大全.doc_第3页
第3页 / 共11页
同花顺常用公式函数大全.doc_第4页
第4页 / 共11页
同花顺常用公式函数大全.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、同花顺公式编写及函数周期:由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周期,其具体的数值也将不同。)代码的分类:个股(含债券)。沪深指数(仅 1A0001(统计上海 A、B 股基金)、1A0002(统计上海 A 股)、1A0003(统计上海 B 股)、399001(统计深圳 A、B 股基金)、399002(统计深圳 A 股)、399003(统计深圳 B 股)六个指数)。期货。周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的数据)、分时(记录每分钟成交的数据

2、)、分钟 K 线(以 1 分钟为单位的 K线数据)、日 K 线(以 1 个交易日为单位的 K 线数据)。注意: 基本数据项自身并不带周期,也就是说编写公式的时候,如果所选用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这个数据项的数值将为“空”,即取不到任何数据。注意: 所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不推荐这样做,如果要画曲线最好新编写一个“曲线公式”。其返回值为函数里面的 return 语句规定的返回值。若无 return 语句,则返回被调用函数里,以函数名命名的变量的值。若无

3、以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。例如:调用 KDJ 指标。KDJ 函数的名称为 kdj,其参数和内容如下:参数名最小值 最大值 默认值N1 1 100 9M1 2 40 3M2 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)的时候,相当于计算N18,M16,M26 时的 J 值,并把这个值赋给 a。注意:1、当传递的参数数目不等于被调

4、用函数设置的参数数目时。a、没有传递参数。则采用原来设置的默认参数计算。b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。2、函数名称不区分大小写。3、新建的函数,其函数名可能与其它已存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果

5、希望确定某项输出则可用 return,或者将函数名指定为其中一项输出。循环语句:while 循环的一般形式为:while(条件) 语句;while 循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。注意:1、可以有多层循环嵌套。2、语句可以是语句体, 此时必须用“和“括起来。break 语句break 语句通常用在循环语句中。当 break 语句用 while 循环语句中时,可使程序终止循环而执行循环后面的语句, 通常 break 语句总是与 if 语句联在一起。即满足条件时便跳出循环。注意:1、break 语句对 if-else 的条件语句不起作用。

6、2、在多层循环中, 一个 break 语句只向外跳一层。continue 语句continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue 语句只用在 while 循环体中, 常与 if 条件语句一起使用, 用来加速循环。关于“空”:所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(” )只能用半角不能用全角。常数 浮点数、整数、字符串分隔符 “ ” ( ) ; 注释/* */标识符 由字母和数字组成,由字母开头,不分大小写运算符(优先级从高到低排列,同级同行)* / + - != = ”赋值并输出图形。注意

7、:“”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。同花顺公式函数注释(常用部分)逻辑函数:1、条件函数:根据条件求不同的值。用法:IF(X,A,B)若 X 不为 0 则返回 A,否则返回 B。 例如:(CLOSEOPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。引用函数:1、满足条件的周期数:统计满足条件的周期数。用法:COUNT(X,N),统计 N 周期中满足 X 条件的周期数,若 N=0 则从第一个有效值开始。例如:COUNT(CLOSEOPEN,20)表示统计 20 周期内收阳的周期数。2、第一个条

8、件成立到当前的周期数:统计第一个条件成立到当前的周期数。用法:BARSSINCE(X):第一次 X 不为 0 到现在的天数。例如:BARSSINCE(HIGH10)表示股价超过 10 元时到当前的周期数。3、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。用法:BARSLAST(X),上一次 X 不为 0 到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)=1,1)表示上一个涨停板到当前的周期数。4、有效周期数:求总的周期数。用法:BARSCOUNT(X),第一个有效数据到当前的天数。5、向前赋值:将当前位置到若干周期前的数据设为 1。用法:BACKSET(

9、X,N),若 X 非 0,则将当前位置到 N 周期前的数值设为 1。例如:BACKSET(CLOSEOPEN,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,

10、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 则从第一个有效值开始。例

11、如: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

12、+(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 日最低点到当前的周期数。1

13、6、加权移动平均:求加权移动平均。用法: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、总开盘分钟:求当前代码类型的开市交易时间。用法:TR

14、ADETIME。返回交易时间,单位为分钟。目前一般市场都返回242,与日期或具体的股票无关。2、距开盘分钟:求当前时刻距开盘有多长时间。用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当前时刻为早上十点,则返回 31。3、距午夜秒:求当前时刻距开盘有多长时间。用法:FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当前时刻为早上十点,则返回 36000。4、时间格式:转换时间格式。用法:FORMATTIME(N)。目前只支持 N=1 把当前时间转换成距开盘分钟数返回。例如:分时中的量比曲线公式:(VOL*(TRADETIME+1)*5)/(FORMATT

15、IME(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

16、(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)

17、返回 6。6、求逻辑非:求逻辑非。用法:NOT(X)返回非 X,即当 X=0 时返回 1,否则返回 0。例如:NOT(53)返回 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)返回

18、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 周

19、期后与 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(CLOSEOPEN,LOW,SUN)表示当收阳时在最低价位置画软件安装目录登录用户名 Sun.BMP 位图。BMPFILE 参

20、数指定的 BMP 文件默认路径为当前用户目录,如果不带后缀名即表示 BMP 文件,也可带后缀名使用 JPG 和 GIF 文件。也可不用用户目录而使用全路径,路径中的要写两个以下字符串作为参数都是合法的,如果文件存在的话:“SUN“,“SUN.BMP“,“SUN.JPG“,“SUN.GIF“,“C:hexinSUN.JPG“填充背景含义:根据条件填充背景区域。用法:DRAWGBK(COND,COLOR),填充满足 COND 条件的背景区域。COLOR 可以为渐变颜色 STRIP,也可以为 BMP 图形文件名(缺省路径为“软件安装目录登录用户名“),若省略 COLOR 则使用指标线颜色填充(可以使

21、用 COLORRED 等描述符设定)。例如:DRAWGBK(CLOSEOPEN),COLORRED;表示收阳时用红色填充背景。DRAWGBK(CLOSEOPEN,MyBMP);表示收阳时用软件安装目录登录用户名MyBMP.BMP 填充背景。画图标含义:在图形上绘制小图标。用法:DRAWICON(COND,PRICE,TYPE),当 COND 条件满足时,在 PRICE 位置画 TYPE 图标,TYPE 是曲线标志的名称。例如:DRAWICON(CLOSEOPEN,LOW,“buy“)表示当收阳时在最低价位置画买入图标。显示文字含义:在图形上显示文字。用法:DRAWTEXT(COND,PRICE

22、,TEXT),当 COND 条件满足时,在 PRICE 位置书写文字TEXT。例如:DRAWTEXT(CLOSE/OPEN1.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 位置之间画柱状线,宽度为

23、WIDTH(10 为标准间距),EMPTH不为 0 则画空心柱。例如:STICKLINE(CLOSEOPEN,CLOSE,OPEN,0.8,1)表示画 K 线中阳线的空心柱体部分。提示文字TIPTEXT(COND,PRICE,TEXT),当 COND 条件满足时,在 PRICE 位置显示图标,若 PRICE 为 0,则在图形底部显示图标。例如:TIPTEXT(CLOSE/OPEN1.08,LOW,大阳线,股价为:+close)表示当日涨幅大于 8%时在最低价位置显示图标,鼠标移近时显示文字大阳线,股价为:15.88字样。显示为三角图画垂直线含义:在图形上绘制垂直线。用法:VERTLINE(CO

24、ND,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 表示向左延长,

25、=2 表示向右延长,=3 表示左右由简单的公式编写开始:这里举一些最简单的例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。收盘价线CLOSE 均线的画法 计算 N 日内收盘价的算术平均值,公式为:MA(X,N)表示X 的 N 日平均。 例如: MA1: MA (CLOSE,) , coloryellow ; 表示为: 参数名 画一条 5 日收盘价的均线 设置该线为黄色MA2:MA(C,20),color0000ff(20 日收盘价均线,颜色为红色)MA3:MA(c,250),color00ff00(年线,绿色)均线:MA(c,N);(周期 N 可设置最大,最小,缺省)换手率

26、 换手率指当期的成交量占流通股本的比例。公式: 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) 其中

27、的 HIGH 为当期最高价,HHV(X,N)是求 N 周期内 X最高值。因此该公式的含义是当日最高价创日新高时返回值为,否则为。横盘整理 横盘整理指最近一段时期价格在一定幅度之内摆动: (HHV(CLOSE,10)-LLV(CLOSE,10)/CLOSE2 b.今天成交量较 10 个交易日平均成交量放大了 1 倍,表示如下:a:=ma(vol,10); Vol/a2 或者直接用如下公式表示: vol/ma(vol,10)2;c.今日的 5 日均量较 10 个交易日平均成交量放大了 1 倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a2;d.今日的成交量超过了整个

28、流通盘的 5,表示如下: vol/capital0.05;其中 capital 代表流通盘。B、缩量a.今日成交量较昨日减少了一半,表示如下: vol/ref(vol,1)ref(close,1)1.05;5 日均价连续上涨,表示如下: a:=ma(close,5); b:=ref(a,1);下跌今天的跌幅达到 5以上,表示如下: close/ref(close,1)open; 阴线 closeref(close,1); 低开 openref(high,1); 跳空低开(low 为最低价) openOPEN,LOW,1);表示当收阳时在最低价位置画 1 号图标,也就是红脸。DRAWICON(C

29、LOSE=HHV(HIGH,20),HIGH,LOW=HHV(HIGH,20),HIGH,HIGH=HHV(HIGH,20),HIGH,1),colorwhite;表示在创 20 天新高与创 20 天新低之间画直线并且向右延长。DRAWLINE(HIGH=HHV(HIGH,20),HIGH,LOW1.08,LOW,大涨啦);表示当日涨幅大于 8%时在最低价位置显示大涨啦字样。在某些满足条件的地方直接显示文字或字符,比显示图标要更直观一些。注意,显示的文字要用英语状态下的单引号括起。指标示例:长短结合主图sma1:sma(close,5,1),color00ff00;画一条 5 日收盘价的均线,

30、设置该线为绿色sma2:sma(close,10,1),coloryellow;画一条 10 日收盘价的均线,设置该线为黄色sma3:sma(close,60,1),colorblue,linethick2;画一条 60 日收盘价的均线,设置该线为蓝色粗线DRAWTEXT(CLOSE/OPEN1.08,LOW,大涨啦),colorwhite;表示当日涨幅大于8%时在最低价位置显示大涨啦字样。4、函数:POLYLINE 说明:在图形上绘制折线段。用法:POLYLINE(COND,PRICE),当 COND 条件满足时,以 PRICE 位置为顶点画折线连接。示例:POLYLINE(HIGH=HHV

31、(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

32、说明:在图形上绘制柱线。用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当 COND 条件满足时,在 PRICE1 和 PRICE2 位置之间画柱状线,宽度为 WIDTH 可为 0-100(10 为标准间距),EMPTH 不为 0 则画空心柱。示例:STICKLINE(CLOSEOPEN,CLOSE,OPEN,0.8,1);表示画 K 线中阳线的空心柱体部分。运用要点:PRICE1 和 PRICE2 没有顺序关系,即何者在前何者在后都不影响语句的执行。WIDTH 宽度,支持小数。用 1 和用 0.1,会有很大的差别。取 4 时和主图的 K线宽度差不多

33、。以下的副图公式,画出的 K 线,与主图中显示的 K 线差不多。指标示例:副图 K 线STICKLINE(CO OR (C=O AND CREF(C,1),O,C,4,1),colorred;画出红 K 实体STICKLINE(CO AND CREF(C,1),C,H,0.1,0),colorred;画出红 K 上影线STICKLINE(CO AND LREF(C,1),L,O,0.1,0),colorred;画出红 K 下影线STICKLINE(CO OR (C=O AND C=REF(C,1),C,O,4,0),colorffcc66;画出青 K实体STICKLINE(CO 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;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报