同花顺公式函数应用大全

更新时间:2023-03-08 06:48:54 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

同花顺公式函数注释(常用部分) 逻辑函数:

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)

于一定比率2%(一般该比率为2%以下,同时前二均线今日比昨日上翘)。

在个股主图叠加(引用大盘数据的)线:

(HHV(H,n)-LLV(L,n))/(HHV(INDEXDATA(\NDEXDATA(\

*(INDEXDATA(\)+LLV(L,n)); 活跃度

CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT)); 成交笔数 活跃度:CJBS/CAPITAL*100,VOLSTICK; MA13:MA(活跃度,13); 每笔均量

CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT)); 每笔均量:VOL/CJBS*100,COLORYELLOW; 每笔均量,STICK,COLORRED; MA5:MA(每笔均量,5),COLORWHITE; MA13;MA(每笔均量,13),COLORMAGENTA; MA60:MA(每笔均量,60),COLORGREEN; 每笔均额

CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT)); 每笔均额:AMOUNT/CJBS,COLORYELLOW; 每笔均额,STICK,COLORRED;

MA5:MA(每笔均额,5),COLORWHITE; MA:MA(每笔均额,13),COLORMAGENTA; MA:MA(每笔均额,60),COLORGREEN; 交易强度

CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT)); 交易强度:VOL*100/CJBS/CAPITAL*100,VOLSTICK; 三,公式函数的活用

剔除选定股票,选股时剔除ST股票

STRFIND(STRLEFT(STKNAME,2),\\'ST\\')=0; 字符串函数,符合条件时返回为0。 获得成交笔数

MAX(0,SUBSAMEDAY(&VOLAMOUNT))

变色柱线(在个股于指数之间画不同颜色的柱线) STICKLINE(个股>指数,个股,指数,4,0),color6666ff; STICKLINE(个股<指数,个股,指数,4,1),color66bb66; 变色曲线(符合条件时改变颜色,下为用于KDJ公式)

k:PARTLINE(k,k>d,RGB(255,0,0),k[ 此文章的编辑者为: BCXYMMLL, 2007-03-17 15:26 ] 公式中引用其他公式

A2:=BARSLAST(REF(CROSS(KDJ.k,KDJ.d),1));引用KDJ公式的K,D并金叉

B2:=REF(C,A2+1)>C AND REF(KDJ.k,A2+1)DRAWTEXT(FILTER(B2>0,5),L+0.39,\\'KDJ底背\\'),coloryellow;

逻辑函数:

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文件。 也可不用用户目录而使用全路径,路径中的''要写两个以下字符串作为参数都是合法的,如果文件存在的话:

\ 填充背景

含义:根据条件填充背景区域。 用法:

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,\表示当收阳时在最低价位置画买入图标。 显示文字

含义:在图形上显示文字。 用法:

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表示左右

本文来源:https://www.bwwdw.com/article/pdk.html

Top