1、同花顺系统函数手册1、板块函数:(1)、板块平均:求板块里某一数据项的平均值。用法:BLOCKAVG(&N),N 表示选择的数据项。例如:BLOCKAVG(&NEW)表示这个板块里所有股票当前时刻的平均价。(2)、板块最小值:求板块里某一数据项的最小值。用法:BLOCKMIN(&N),N 表示选择的数据项。例如:BLOCKMIN(&LOW)表示这个板块里所有股票当天的最低价。(3)、板块最大值:求板块里某一数据项的最大值。用法:BLOCKMAX(&N),N 表示选择的数据项。例如:BLOCKMAX(&HIGH)表示这个板块里所有股票当天的最高价。(4)、板块求和:求板块里某一数据项的和。用法:
2、BLOCKSUM(&N),N 表示选择的数据项。例如:BLOCKSUM(&VOL)表示这个板块里所有股票当前时刻的总成交手数。(5)、取板块领先股票:取板块指数的所属个股中数据 X最大的股票的数据 Y。适用于板块指数。用法:BLOCKLEAD(&X,&Y) 取板块指数中个股数据 X最大的股票的数据 Y。例如:BLOCKLEAD(&VOL,&ZQMC)取该板块指数中成交量最大的股票名称。2、财务函数:(1)、季报:调用季报数据项。用法:QUARTERREP(&N,K,L),N 为财务数据项,K 可以是 1(表示最近一次的季报)、2(表示上一次的季报)、3 、4 等或者直接输入希望调用的年份,L
3、可以是 1或 3即第一季度或第三季度的季报。注意L仅在 K选择年份的时候适用。(2)、年报:调用年报数据项。用法:YEARREP(&N,K),N 为财务数据项,K 可以是 1(表示最近一次的年报)、2(表示上一次的年报)、 3、 4等或者直接输入希望调用的年份。注意:N 要为基本的财务数据项,而不能是编写的计算项目,即 N为功能树里公式栏里面的“财务数据”目录下面的数据项。(3)、中报:调用中报数据项。用法:MIDREP(&N,K,L),N 为财务数据项,K 可以是 1(表示最近一次的中报)、2(表示上一次的中报) 、3 、4 等或者直接输入希望调用的年份。(4)、同期报表:调用最近一次报表或
4、与其同类型报表的数据项。用法:REP(&N,K) N为财务数据项,K 为 1(表示最近一次公布的报表)、2(表示去年与最近一次公布报表同类型报表)、3、4 等。(5)、取报表日期:取某个财务数据项的报表日期。用法:REPDATE(&N,M,K), N财务数据项。M引用周期数,与 YEARREP等的调用相同。K1、一季度报表,2、中报,3、三季度报表,4、年报。 如 REPDATE(&ZGB,1,4),表示取最近总股本年报的报表日期。3、指标函数:(1)、成本:成本分布情况。用法:COST(10),表示 10%获利盘的价格是多少,即有 10%的持仓量在该价格以下,其余 90%在该价格以上,为套牢
5、盘。该函数仅对日线分析周期有效。(2)、分价函数:用来制作分价表。用法:在制作分价表的时候选择多数据项输出,然后直接将这个函数拖进数据项选择框就可以了。(3)、成本分布:用于画成交分布云。用法:用于画成交分布云。例如 CM(0,1,2,0)。参数含义:1、计算天数,0 表示计算全部天数。2、当日成本算法:0=平均分布,1=三角分布。3、精度:一般是 2。4、起始位置:0 是从当天开始计算,1是从前一天开始算,类推。5、换手:缺省是 3,即 300%换手。参数 5可以没有。基本原理:我们对历史筹码是依后面的换手率而递减的。我们相信这样基本反应了一个事实即历史越悠久的成交,对当前的影响越小。比如说
6、,1000 万的盘子,前天均价为 10元,成交量为 200万,也就是 20%换手率;昨天以均价 11元又成交 300万,也就是 30%换手率;那前天的 200万成交量怎么样了呢?成本分析假定,前天的 200万在昨天也以 11元被 30%换手了,那么,前天以 10元成交的成交量还剩了 200*(1-30%)=140万;若今天以均价 12元又成交了 400万,同理可算,现在的筹码分布是:10元筹码为 200*(1-30%)*(1-40%)=84万,11 元的筹码为 300*(1-40%)=180万,12 元的筹码是400万。(4)、之字转向。用法:ZIG(K,N),当价格变化量超过 N%时转向,K
7、 表示 0:开盘价,1:最高价,2:最低价,3:收盘价。例如:ZIG(3,5)表示当前收盘价超过上次 ZIG转向输出值的+5%或-5%,则输出当前收盘价并ZIG转向。(5)、获利盘:表示获利盘比例。用法:WINNER(CLOSE),表示以当前收市价卖出的获利盘比例。例如返回 0,1 表示 10%获利盘;WINNER(10,5)表示 10,5 元价格的获利盘比例。该函数仅对日线分析周期有效。(6)、抛物转向:计算抛物转向。用法:SAR(N,S,M),N 为计算周期,S 为步长,M 为极值。例如,SAR(10,2,20)表示计算 10日抛物转向,步长为 2%,极限值为 20%。(7)、远期获利盘比
8、例:计算远期获利盘比例。用法:PWINNER(10,CLOSE) 表示 10天前的那部分成本以当前收市价卖出的获利盘比例,例如返回0.2表示 20%获利盘;该函数仅对日线分析周期有效。4、逻辑函数:(1)、条件函数:根据条件求不同的值。用法:IF(X,A,B)若 X不为 0则返回 A,否则返回 B。 例如: IF(CLOSEOPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。参见“条件语句” 。5、引用函数:(1)、满足条件的周期数:统计满足条件的周期数。用法:COUNT(X,N),统计 N周期中满足 X条件的周期数,若 N=0则从第一个有效值开始。例如:COUNT(CLO
9、SEOPEN,20)表示统计 20周期内收阳的周期数。(2)、第一个条件成立到当前的周期数:统计第一个条件成立到当前的周期数。用法:BARSSINCE(X):第一次 X不为 0到现在的天数。例如:BARSSINCE(HIGH10)表示股价超过 10元时到当前的周期数。(3)、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。用法:BARSLAST(X),上一次 X不为 0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)=1,1)表示上一个涨停板到当前的周期数。(4)、有效周期数:求总的周期数。用法:BARSCOUNT(X),第一个有效数据到当前的天数。(5)
10、、向前赋值:将当前位置到若干周期前的数据设为 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个交易日的成交量之和。SUM(VOL,0)表示从传数据过来第一天起的成交量总和,具体如在区间统计里统计“总手” SUM(VOL,0)即是指全区间的成交量之和。(7)、移动平均:求移动平均。用法:SMA(X,N,
11、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)、最低值:求最低值。用法:L
12、LV(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,
13、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 表示从第一个有效值开始统计。例如
14、: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)求完全换手到现在的
15、周期数。5、时间函数:(1)、总开盘分钟:求当前代码类型的开市交易时间。用法:TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回 242,与日期或具体的股票无关。(2)、距开盘分钟:求当前时刻距开盘有多长时间。用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当前时刻为早上十点,则返回 31。(3)、距午夜秒:求当前时刻距开盘有多长时间。用法:FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当前时刻为早上十点,则返回 36000。(4)、时间格式:转换时间格式。用法:FORMATTIME(N)。目前只支持 N=1 把当前时间转换成距开盘分钟
16、数返回。例如:分时中的量比曲线公式:(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 其返回值为-2。注意:这里返回值有正负号。6、算术函数:(1)、绝对值:求绝对值。用法:ABS(X)返回 X的绝对值。例如:ABS(-34)返
17、回 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
18、,B)返回 A对 B求模。例如:MOD(26,10)返回 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
19、的余弦值。(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)
20、,MA(CLOSE,10),5)表示 5日均线维持 5周期后与 10日均线交金叉。(14)、空:判断是否为空。用法:ISNULL(A)表示如果 A为空(即没有数据)则返回 1,否则返回 0。(15)、幂:求幂。用法:POW(X,Y)。求 X的 Y次幂。例如:POW(2,3)为 8。7、统计函数:(1)、标准差:求标准差。用法:STD(X,N)为 X的 N日估算标准差。(2)、商品数据:求与具体某种商品相关的数据。用法:INDEXDATA(“N” ,&X,K)。N 为商品代码。X 为数据项。K 为周期数(可以不加)。INDEXDATA(“1A0001”,&LOW ,3) 为 3天前上证指数的最低
21、点位。(3)、线性回归斜率:求某个数据的线性回归。用法:SLOPE(X,N)为 X的 N周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求 10周期线性回归线的斜率(4)、线性回归预测值:以某个数据的线性回归斜率向后延伸一个周期得到的数值。用法:FORCAST(X,N)为 X的 N周期线性回归预测值。例如:FORCAST(CLOSE,10)表示求 10周期线性回归预测本周期收盘价。(5)、总体标准差:求总体标准差用法:STDP(X,N)为 X的 N日总体标准差。(6)、估算样本方差:求估算样本方差。用法:VAR(X,N)为 X的 N日估算样本方差。(7)、总体样本方差:求总体样本方差。用法:VARP(X,N)为 X的 N日总体样本方差。