2022年同花顺常用公式函数大全 .pdf
《2022年同花顺常用公式函数大全 .pdf》由会员分享,可在线阅读,更多相关《2022年同花顺常用公式函数大全 .pdf(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 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、当传递的参数数目不等
4、于被调用函数设置的参数数目时。a、没有传递参数。则采用原来设置的默认参数计算。b、传递参数少于被调用函数设置的参数数目。则将参数传过去, 依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。c、传递参数大于被调用函数设置的参数数目。则将参数传过去, 依次改变被调用函数的参数值,多余的参数不起作用。2、函数名称不区分大小写。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 11 页3、新建的函数,其函数名可能与其它已存在的函数里面的内部变量重名。这样在调用那个函数时, 那个内部变量将变成对这个新建函数的函数调用,从而产生
5、错误。所以,在新建函数起名时要注意。返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return ,或者将函数名指定为其中一项输出。循环语句:while 循环的一般形式为 : while( 条件) 语句; while 循环表示当条件为真时 , 便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。注意: 1、可以有多层循环嵌套。2、语句可以是语句体 , 此时必须用 和 括起来。break 语句break 语句通常用在循环语句中。当break 语句用 while 循环语句中时,可使程序终止循环而执行循环后面的语句, 通
6、常 break 语句总是与 if语句联在一起。即满足条件时便跳出循环。注意: 1、break 语句对 if-else的条件语句不起作用。2、在多层循环中 , 一个 break 语句只向外跳一层。continue 语句continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue 语句只用在 while 循环体中 , 常与 if条件语句一起使用 , 用来加速循环。关于“空” :所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公司3 年前年报的净利润。如果某家公司上市时间较短, 而无三
7、年前的年报数据, 则其值为“空”。1、“空”与任何数据作计算时,相应计算被取消。例如: 7NULL (即“空”)得到的结果为7。2、“空”与任何数据比较大小时,“空”较小。例如: 7NULL (即“空”)得到的结果为1(即条件满足)。这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用 ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。调用函数的基本方式为:函数名(参数,参数,)同花顺系统公式编写教程及函数用法基础( 一)在自定义公式里面的各种符号(如,“; ” )只能用半角不能用全角。常数浮点数、整数、字符串精选学习资料 - - - - - -
8、- - - 名师归纳总结 - - - - - - -第 2 页,共 11 页分隔符 “ ” ( ) ; 注释/* */ 标识符由字母和数字组成,由字母开头,不分大小写运算符(优先级从高到低排列,同级同行)* / + - != = ”赋值并输出图形。注意:“”和“ := ”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。同花顺公式函数注释(常用部分)逻辑函数:1、条件函数:根据条件求不同的值。用法: IF(X,A,B) 若 X不为 0 则返回 A,否则返回 B。 例如:(CLOSEOPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返
9、回最低值。引用函数:1、满足条件的周期数:统计满足条件的周期数。用法:COUNT(X,N) ,统计 N周期中满足 X条件的周期数,若N=0则从第一个有效值开始。例如: COUNT(CLOSEOPEN,20)表示统计 20 周期内收阳的周期数。2、 第一个条件成立到当前的周期数: 统计第一个条件成立到当前的周期数。用法: BARSSINCE(X) :第一次 X不为 0 到现在的天数。例如:BARSSINCE(HIGH10)表示股价超过 10 元时到当前的周期数。3、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。用法: BARSLAST(X) ,上一次 X不为 0 到现在的天数。例如
10、:BARSLAST(CLOSE/REF(CLOSE,1)=1,1) 表示上一个涨停板到当前的周期数。4、有效周期数:求总的周期数。用法: BARSCOUNT(X),第一个有效数据到当前的天数。5、向前赋值:将当前位置到若干周期前的数据设为1。用法: BACKSET(X,N) ,若 X非 0,则将当前位置到 N周期前的数值设为1。例如: BACKSET(CLOSEOPEN,2)若收阳则将该周期及前一周期数值设为1,否则为 0。6、求和:求总和。用法: SUM(X,N) ,统计 N周期中 X的总和, N=0则从第一个有效值开始。例如: SUM(VOL,5) 周期设为日线时,表示最近 5 个交易日的
11、成交量之和。 SUM(VOL,0)表示从传数据过来第一天起的成交量总和,具体如在区间统计里统计“总手”SUM(VOL,0) 即是指全区间的成交量之和。7、移动平均:求移动平均。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 11 页用法: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),
12、 引用 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、指
13、数平滑移动平均:求指数平滑移动平均。用法: 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、最高值周期数:求上一高点到当前的周期数。用法:HHVB
14、ARS(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-
15、2)+.+1) X0表示本周期值, X1表示上一周期值 . 。例如: WMA(CLOSE,20)表示求 20 日加权均价。17、求和:向前累加到指定值到现在的周期数。用法: SUMBARS(X,A): 将 X向前累加直到大于等于A,返回这个区间的周期数。例如: SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数。时间函数:1、总开盘分钟:求当前代码类型的开市交易时间。用法: TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回242,与日期或具体的股票无关。2、距开盘分钟:求当前时刻距开盘有多长时间。精选学习资料 - - - - - - - - - 名师归纳总结 -
16、- - - - - -第 4 页,共 11 页用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当前时刻为早上十点,则返回31。3、距午夜秒:求当前时刻距开盘有多长时间。用法: FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当前时刻为早上十点,则返回36000。4、时间格式:转换时间格式。用法:FORMATTIME(N)。目前只支持 N=1 把当前时间转换成距开盘分钟数返回。例如:分时中的量比曲线公式:(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。5、时间差:计算两个时间之间的差。用法: COUNTT
17、IME(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 例如: BETWEE
18、N(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时返回
19、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)返回 X的正弦值。精选学习资料 - - - - - - - - - 名师归纳总结 -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年同花顺常用公式函数大全 2022 同花顺 常用 公式 函数 大全
限制150内