同花顺公式编写教程写

同花顺公式编写基础教程_同花顺圈子
扫码下载客户端
看直播&选策略&找高手
同花顺公式编写基础教程
一、首先是打开公式编辑器,选择“工具”——“公式管理”。二、选择“新建”按钮,选择想要编写的公式类型,然后点击“确定”。三、然后在公式编辑器逐项输入内容。四、在公式文本编辑区输入公式代码。五、可以在“曲线属性”——“坐标类型”,选择“主图”或者“副图”。六、编写完成以后可以通过公式管理——“用户”分类的菜单里找到自己编写的公式,也可以修改公式。
扫码下载股市教练,随时随地查看更多精彩文章
微信扫一扫同花顺系统公式编写教程及函数用法基础
资料价格:免费
文件类型: (doc)[]
文件大小:61.0 KB
上传时间:
标&&&&&&&签: &
论文写作技巧
同花顺系统公式编写教程及函数用法基础
您可能需要的
[] [] [] [] [] [] [] []资料评价:
所需积分:0同花顺公式编写规则和方法(二)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
同花顺公式编写规则和方法(二)
上传于|0|0|暂无简介
你可能喜欢同花顺函数说明和公式编写规则 2015_飞123网
同花顺函数说明和公式编写规则 2015
在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。直接访问数据项的函数所有行情数据项(CLOSE等)都与此相同。2、标识符:标识符在表达式中只存名称,值保留在符号表。标识符包括函数名、参数名和变量名。函数名用来传递函数返回值;参数名用于函数调用时的参数传递;变量名在计算中存储中间计算结果。3、分隔符:4、赋值语句:5、条件语句:其一般形式为: IF(逻辑表达式) 语句1; ELSE 语句2;上述结构表示: 如果逻辑表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。注意:(1)、条件执行语句中"ELSE 语句2;"部分是选择项, 可以缺省, 此时条件语句变成: IF(逻辑表达式) 语句1; 表示若逻辑表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。(2)、如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为: IF(逻辑表达式) { 语句体1; } ELSE { 语句体2; } 这里语句体指多个语句,每个语句都必须以“;”结尾。(3)、条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个IF对应哪个ELSE。例如: IF(x&20 OR x&-10) IF(y&=100 AND y&x) A="Good"; ELSE B="Bad"; 对于上述情况, 规定: ELSE语句与最近的一个IF语句匹配, 上例中的ELSE与IF(y&=100 AND y&x)相匹配。为了使ELSE与IF(x&20 OR x&-10)相匹配, 必须用花括号。如下所示: IF(x&20 OR x&-10) { IF(y&=100 AND y&x) A="Good"; } ELSE B="Bad";(4)、可用阶梯式IF-ELSE-IF结构。阶梯式结构的一般形式为: IF(逻辑表达式1) 语句1; ELSE IF(逻辑表达式2) 语句2; ELSE IF(逻辑表达式3) 语句3;6、循环语句:while循环的一般形式为: while(条件) 语句; while循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。注意:(1)、可以有多层循环嵌套。(2)、语句可以是语句体, 此时必须用"{"和"}"括起来。 break语句break语句通常用在循环语句中。当break语句用while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起。 即满足条件时便跳出循环。注意:(1)、break语句对if-else的条件语句不起作用。(2)、在多层循环中, 一个break语句只向外跳一层。 continue 语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在while循环体中, 常与if条件语句一起使用, 用来加速循环。7、函数调用:调用函数的基本方式为:函数名(参数,参数,…)其返回值为函数里面的return语句规定的返回值。若无return语句,则返回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。例如:调用KDJ指标。KDJ函数的名称为kdj,其参数和内容如下:函数内容为:则当您在其它函数里输入a=KDJ(8,6,6)的时候,相当于计算N1=8,M1=6,M2=6时的J值,并把这个值赋给a。注意:(1)、当传递的参数数目不等于被调用函数设置的参数数目时。1)、没有传递参数。则采用原来设置的默认参数计算。2)、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。3)、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。(2)、函数名称不区分大小写。(3)、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指定为其中一项输出。8、关于“空”的问题:所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公司3年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为“空”。(2)、“空”与任何数据比较大小时,“空”较小。 例如:-7&NULL(即“空”)得到的结果为1(即条件满足)。 这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。二、系统函数说明1、板块函数:(1)、板块平均:求板块里某一数据项的平均值。用法:BLOCKAVG(&N),N表示选择的数据项。例如:BLOCKAVG(&NEW)表示这个板块里所有股票当前时刻的平均价。(2)、板块最小值:求板块里某一数据项的最小值。用法:BLOCKMIN(&N),N表示选择的数据项。例如:BLOCKMIN(&LOW)表示这个板块里所有股票当天的最低价。(3)、板块最大值:求板块里某一数据项的最大值。用法:BLOCKMAX(&N),N表示选择的数据项。例如:BLOCKMAX(&HIGH)表示这个板块里所有股票当天的最高价。(4)、板块求和:求板块里某一数据项的和。用法: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可以是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)、同期报表:调用最近一次报表或与其同类型报表的数据项。用法:REP(&N,K) N为财务数据项,K为1(表示最近一次公布的报表)、2(表示去年与最近一次公布报表同类型报表)、3、4等。(5)、取报表日期:取某个财务数据项的报表日期。用法:REPDATE(&N,M,K), N=财务数据项。M=引用周期数,与YEARREP等的调用相同。K=1、一季度报表,2、中报,3、三季度报表,4、年报。 如REPDATE(&ZGB,1,4),表示取最近总股本年报的报表日期。3、指标函数:(1)、成本:成本分布情况。用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。该函数仅对日线分析周期有效。(2)、分价函数:用来制作分价表。用法:在制作分价表的时候选择多数据项输出,然后直接将这个函数拖进数据项选择框就可以了。(3)、成本分布:用于画成交分布云。用法:用于画成交分布云。例如CM(0,1,2,0)。参数含义:1、计算天数,0表示计算全部天数。2、当日成本算法:0=平均分布,1=三角分布。3、精度:一般是2。4、起始位置:0是从当天开始计算,1是从前一天开始算,类推。5、换手:缺省是3,即300%换手。参数5可以没有。基本原理:我们对历史筹码是依后面的换手率而递减的。我们相信这样基本反应了一个事实即历史越悠久的成交,对当前的影响越小。比如说,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表示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)、远期获利盘比例:计算远期获利盘比例。用法:PWINNER(10,CLOSE) 表示10天前的那部分成本以当前收市价卖出的获利盘比例,例如返回0.2表示20%获利盘;该函数仅对日线分析周期有效。4、逻辑函数:(1)、条件函数:根据条件求不同的值。用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:IF(CLOSE&OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。参见“条件语句”。5、引用函数:(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)求完全换手到现在的周期数。5、时间函数:(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其返回值为-2。注意:这里返回值有正负号。6、算术函数:(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。7、统计函数:(1)、标准差:求标准差。用法:STD(X,N)为X的N日估算标准差。(2)、商品数据:求与具体某种商品相关的数据。用法:INDEXDATA(“N”,&X,K)。N为商品代码。X为数据项。K为周期数(可以不加)。INDEXDATA(“1A0001”,&LOW,3)为3天前上证指数的最低点位。(3)、线性回归斜率:求某个数据的线性回归。用法:SLOPE(X,N)为X的N周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率(4)、线性回归预测值:以某个数据的线性回归斜率向后延伸一个周期得到的数值。用法:FORCAST(X,N)为X的N周期线性回归预测值。例如:FORCAST(CLOSE,10)表示求10周期线性回归预测本周期收盘价。
有人会问,哪一天会涨呢?像这样的话,不就永远涨不上去了吗?b线永远不能冲过了吗?不是的。目前的位置不能反弹上去,是因为上面的人还没有割肉,怎么办呢?市场会做出调节的。市场调节包括两个方面,一个是空间调节。
本文主要讲到筹码分布指标公式,筹码分布图怎么看,移动筹码分布图怎么看这些点。除此之外我们还要知道筹码分布是什么,筹码分布实战分析,筹码分布使用价值等等。筹码分布是寻找中长线牛股的利器,对短线客可能没有太大的帮助。
我就对分析家软件中火焰山与筹码分布图作一个解释吧,希望对你有用,总体来说从分布图上,我们就可以得出一个大至的筹码搬家的过程,对于我们判断买入或者卖出股票有着很强的实战意义。火焰山,它显示了N日前的成本分布。
移动成本分布一个显著的特点就是象形性和直观性。它通过横向柱状线与股价K线的叠加形象直观地标明各价位的成本分布量。在日K线图上,随着光标的移动,系统在K线图的右侧显示若干根水平柱状线。线条的高度表示股价。
而火焰山,则主要是看中长线成本的比例,分析上有以下几种判断依据 (1)股价连续上涨,但中线成本(60日前成本)不断增加,且基本处于低价位时,说明中线主力低位大量吸筹后连续锁仓拉升,主力的大部分筹码处于低位。}

我要回帖

更多关于 同花顺自编选股公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信