同花顺公式.docx
同花顺公式编写规则语言规范:在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。关键字if else while break continue return (无大小写之分) 常数浮点数、整数、字符串分隔符“ ” ' ( ) ; 注 释 /* */标识符由字母和数字组成,由字母开头,不分大小写运算符(优先级从高到低排列,同级同行)* /+ -= != > < >= <=And Or语句赋 值 a = b条 件 IF (a=b) c=d; 循 环 while a=b c=d; 函数调用 func(a,b)直接访问数据项的函数例如:OPENt 为 t 周期之前的开盘价所有行情数据项(CLOSE 等)都与此相同。标识符:标识符在表达式中只存名称,值保留在符号表。标识符包括函数名、参数名和变量名。函数名用 来传递函数返回值;参数名用于函数调用时的参数传递;变量名在计算中存储中间计算结果。分隔符:符号含义“ ”引用字符串 '引用字符( )控制运算的优先级;每行语句的结束标志 将多个语句组合成一个语句体/* */注释,无任何实际功能赋值语句:其一般形式为:a=b; 含义为将 b 的值付给 a。几个运算符“”“:=”“:”“:>”。其含义分别为“赋值”、 “赋值”、“赋值并输出数值或字符串”、“赋值并输出图形”。注意:“”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目 前的各种带有公式编辑功能的分析软件。条件语句: 其一般形式为: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"ELSEB"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;循环语句:while 循环的一般形式为:while(条件) 语句;while 循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。注意:1、可以有多层循环嵌套。2、语句可以是语句体, 此时必须用""和""括起来。break 语句break 语句通常用在循环语句中。当 break 语句用 while 循环语句中时,可使程序终止循环而执行循环后面的语句, 通常 break 语句总是与 if 语句联在一起。 即满足条件时便跳出循环。注意:1、break 语句对 if-else 的条件语句不起作用。2、在多层循环中, 一个 break 语句只向外跳一层。continue 语句continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue 语句只用在 while 循环体中, 常与 if 条件语句一起使用, 用来加速循环。函数调用:调用函数的基本方式为:函数名(参数,参数,)其返回值为函数里面的 return 语句规定的返回值。若无 return 语句,则返回被调用函数里, 以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值, 则返回最后一个被调用的语句的值。例如:调用 KDJ 指标。KDJ 函数的名称为 kdj,其参数和内容如下:参数名最小值最大值默认值N111009M12403M22403函数内容为: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、当传递的参数数目不等于被调用函数设置的参数数目时。a、没有传递参数。则采用原来设置的默认参数计算。b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。2、函数名称不区分大小写。3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数 时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时 要注意。返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用 return,或者将函数名指定为其中一项输出。关于“空”:所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公*3 年前年报的净利润。如果某家公*上市时间较短,而无三年前的年报数据,则其值为“空”。1、“空”与任何数据作计算时,相应计算被取消。例如:7×NULL(即“空”)得到的结果为 7。2、“空”与任何数据比较大小时,“空”较小。例如:7>NULL(即“空”)得到的结果为 1(即条件满足)。这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用 ISNULL 函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。公式编写规则代码与周期:由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的 一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周 期,其具体的数值也将不同。)代码的分类:个股(含债券)。沪深指数(仅1A0001(统计上海 A、B 股基金)、1A0002(统计上海 A 股)、1A0003(统计上海 B 股)、399001(统计深圳 A、B 股基金)、399002(统计深圳 A 股)、399003(统计深圳 B 股)六个指数)。期货。周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的数据)、分时(记录 每分钟成交的数据)、分钟K 线(以 1 分钟为单位的 K 线数据)、日K 线(以 1 个交易日为单位的 K 线数据)。注意: 一、分时与分钟 K 线的区别在于:分钟 K 线数据较多,包含了与 K 线相关的高、开、低、收、成交次数等数据。二、沪深指数没有成交明细周期的数据。三、适用于分钟K 线、日K 线周期的所有数据,都同时适用于个股与沪深指数,只不过其数据内容不同而已。由于行情数据和财务数据同属于基本数据项,即其数值是主站端直接发过来,所以他们自身并不 带周期。而其它计算项,即由客户端编写公式计算得到的数据项都是带有周期的。也就是说在编 写一个公式的时候我们需要确定一个周期(由于分钟 K 线、日 K 线周期里的各项数据仅有微小差别,所以统称为技术分析周期),并且想清楚这个公式里调用的各项基本数据在这个周期下的 具体含义。以后只有在这个周期下才能调用这个公式。注意: 基本数据项自身并不带周期,也就是说编写公式的时候,如果所选用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这个数据项的数值将为“空”,即取不到 任何数据。注意: 所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不推荐这样做,如果要画曲线最好新编 写一个“曲线公式”。另外,各个数据项用于期货时的意义另文说明。 通用数据项:NEW(现价)含义:用于个股时为最近一笔成交的价格。用于沪深指数时为最近一次从交易所传来的指数值。 用于:个股的实时、成交明细周期。沪深指数的实时周期。NEWVOL(现手)含义:用于个股时为最近一笔成交的成交量。用于沪深指数时为对应市场的所有股票的最后一笔 成交量之和。用于:个股的实时、成交明细周期。沪深指数的实时周期。INVOL(内盘)、OUTVOL(外盘)含义:内盘、外盘(又称为主动性抛盘、主动性买盘)成交量。判断依据为若某笔成交,其价格 小于等于前一次传过来的买一的价格,则称为内盘;若其价格大于等于前一次传过来的卖一的价格,则称为外盘。(注意,内外盘之和一般不等于总成交量)在周期为“实时”、“分时”时,为当日的内、外盘。在周期为“分钟 K 线”和“日 K 线”时,分别为某一分钟和某一日的内、外盘。用于指数时指所有相应股票的内、外盘之和。用于:个股的实时、分时、分钟 K 线、日 K 线周期。沪深指数的实时、分时、分钟 K 线、日 K线周期。OPEN(开盘)、HIGH(最高)、LOW(最低)含义:在实时周期时,为当日的开盘价、最高价、最低价。在分钟 K 线、日 K 线周期时,分别为当周期的开盘价、最高价、最低价。用于:个股的实时、分钟 K 线、日 K 线周期。沪深指数的实时、分钟 K 线、日 K 线周期。CLOSE(收盘)含义:当周期的收盘价。用于:个股的分钟 K 线、日 K 线周期。沪深指数的分钟 K 线、日 K 线周期。PRE(昨收)含义:上一交易日的收盘价。(注意,在分钟 K 线周期,也是昨日收盘价,而不是上一周期的收盘价。)如果当天有除权,则其值为除权之后的昨日收盘价。例如:某股票昨天收盘 20 元, 今天除权,10 送 10。则今日 PRE 值为 10 元。用于:所有类型、所有周期。MONEY(金额)含义:在实时、分时周期时代表当日的成交金额只和。在分钟 K 线、日 K 线周期时代表那一个周期的成交金额只和。当用于指数时,指此指数所包含所有交易品种成交金额之和。用于:个股的实时、分时、分钟 K 线、日 K 线周期。沪深指数的实时、分时、分钟 K 线、日 K线周期。VOL(总手)含义:在实时、分时、成交明细周期时代表当日的成交量只和。在分钟 K 线、日 K 线周期时代表那一个周期的成交量只和。当用于指数时,指此指数所包含所有交易品种成交量之和。用于:个股的实时、分时、成交明细、分钟 K 线、日 K 线周期。沪深指数的实时、分时、分钟K 线、日 K 线周期。(注意,VOL 与 MONEY 相比多了一个成交明细周期。) OPENVOL(开盘量)含义:开盘时第一笔成交的成交量。当用于指数时,指此指数所包含所有交易品种开盘集合竞价 成交量之和。用于:个股的实时、日 K 线周期。沪深指数的实时、日 K 线周期。ZQMC(名称)、CODE&TYPE(代码) 含义:证券的名称、代码。用于:个股的所有周期。沪深指数的所有周期。DATETIME(时间)含义:显示时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案 则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。用于:个股、沪深指数所有的周期。VALIDBEGIN(起始)、VALIDEND(终止)含义:区间统计的起始、终止时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。与 DATETIME(时间)的用法类似。用于:个股、沪深指数所有的周期。仅 用 于 个 股 的 数 据 项 : FIVEDAYVOL(五日总量)含义:过去五日各交易成交量之和。用于:个股的所有的周期。(主要用来计算量比)BUYPRICE1(买一)、BUYPRICE2(买二)、BUYPRICE3(买三)、SELLPRICE1(卖一)、SELLPRICE2(卖二)、SELLPRICE3(卖三)、BUYCOUNT1(买一量)、BUYCOUNT2(买二量)、BUYCOUNT3(买三量)、SELLCOUNT1(卖一量)、SELLCOUNT2(卖二量)、SELLCOUNT3(卖三量)含义:委托买入、卖出价格一、二、三及对应的委托数量。 用于:个股的实时周期。VOLAMOUNT(成交次数)含义:在周期为“实时”时,为当日的成交次数。在周期为“分钟 K 线”和“日 K 线”时,分别为某一分钟和某一日的成交次数。用于:个股的实时、分钟 K 线、日 K 线周期。VOLCLASS(成交量分类)含义:其数值与该笔成交的价位关系为:“3”为“成交价<=买三价”,“2”为“买三价<成交价<= 买二价”,“1”为“买二价<成交价<=买一价”,“0”为“买一价<成交价<卖一价”,“5”为“卖一价<=成交价<卖二价”,“6”为“卖二价<=成交价<卖三价”,“5”为“卖三价<=成交价”。(注意,这里的买卖盘的价格都是指上一次传过来的价格,与内外盘原理相同。也可以将“成交量分类” 视为划分更为详细的内外盘。)用于:个股的实时、分时、成交明细。SELLPRICE(卖出)、BUYPRICE(买入)含义:本次成交时的委托卖出、买入价。即用于成交明细的买一价、卖一价。 用于:个股的成交明细周期。仅适用于大盘的数据项:SELLCOUNT(委卖)、BUYCOUNT(委买)含义:当前本类指数所有股票的卖出数量、买入数量之和。 用于:沪深指数的实时、分时周期。 FALLTREND(下跌趋势)、RISETREND(上涨趋势)含义:当前本类指数所有下跌、上涨股票的最新价之和除以本类指数所有股票的最新价之和。 用于:沪深指数的实时、分时周期。 FALLCOUNT(下跌家数)、RISECOUNT(上涨家数)含义:当前本类指数所有下跌、上涨股票的家数之和。 用于:沪深指数的实时、分时周期。 INDEXLEAD(领先指标)含义:即不加权的指标涨跌幅再乘以 10000。具体地说就是,设A“当前本类指数所有股票的最新价之和”,B“当前本类指数所有股票的昨日收盘价”。那么 INDEXLEAD(AB)/B× 10000。用于:沪深指数的实时、分时周期。TOTALSTOCK(本类股票总数) 含义:本类股票家数之和。用于:沪深指数的实时周期。其它数据项:CODETYPE(证券类型)含义:指明当前商品的类型。当返回值是 0 时为指数、1 是 A 股、2 是 B 股、3 是债券、4 是基金。用于:个股、指数的各种周期。MARKETTYPE(市场类别)、INDEXTYPE(指数种类)这两个数据项属于保留数据项,目前暂时没用,可能会在以后用到。 财务数据说明这里的财务数据项都是根据财政部制定的企业会计制度(于 2001 年 1 月 1 日起执行)里面规定的季报、中报、年报的各种报表里面的项目编列的。每一项的具体含义都与企业会计制 度(2001)里面的规定完全相同。另外我们还依照上市公*的特性将十大股东的名称、持股数,股东人数,股本结构,权息资料都列在财务数据项中。由于数据众多(公*、基本有 1300 多家,几乎每家的数据项都达 400 多项,且每项又分不同的时期)所以这个数据库相当庞大,检索起来较慢且消耗大量系统资源。因此我们设立了“常用 数据项”目录,这里面有100 项左右常用的财务数据,含盖了股民在绝大多数情况下的需求。这些数据被放在一个特殊的数据文件里面检索速度很快且系统资源占用量较小。所以大家一般编写 公式就在“常用数据项”目录里面找相关的数据就可以了。而其它的那些数据都是用 SQL 数据库检索,建议只提供给少数重要客户。注意: 用纯财务数据写的计算项放在表格里面的时候,周期要选择日线,否则无法显示。而在其它情况下,财务数据项适用于任何周期。资讯数据说明这里列出了您可以使用的各种资讯数据。您可以将这些资讯数据加入到页面和表格里面。例如:您可以将“维赛特资讯”“个股资讯”“个股历史资讯”项拖到 K 线图里,您可以看到出现一个个与相应资讯所对应的图标,即我们通常说的信息地雷。注意: 这里的各个资讯数据项要主站的支持,即主站要有数据。财务分析说明“比较”目录下面是相应数据从 97 年到 2001 年年报数据的输出,共 5 项输出,在表格里先选择“支持多数据项目分解”再拖进去就可以看见 5 年的内容了。注意: “股东权益”等同于“净资产”MGXJZJ,每股现金及现金等价物净增加额。计算方法: 现金及现金等价物净增加额股数JYXJLRBL,经营活动产生的现金流量净额与净利润比率。 计算方法: 经营活动产生的现金流量净额净利润XSXJZYSRBL,销售商品收到现金与主营业务收入比率。计算方法: 销售商品、提供劳务收到的现金主营业务收入×100含义: 正常周转企业该指标应大于。如果指标较低,可能是关联交易较大、虚构销售收入或透支将来的销售,都可能会使来年的业绩大幅下降。ZCBL,资产倍率。计算方法: 每股市场价每股资产值ZZCHBL,总资产回报率。计算方法: 净利润/总资产期末数×100 JZCSYL,净资产收益率。计算方法: 净利润净资产×100含义: 又称股东权益收益率,这个指标反应股东投入的资金能产生多少利润。ZCSYL,资产收益率。计算方法: 净利润×(期初资产总额期末资产总额)×100%含义: 资产收益率反应了企业的总资产利用效率,或者说是企业所有资产的获利能力。SHLRL,税后利润率。计算方法: 净利润/主营业务收入×100 SQLRL,税前利润率。计算方法: 利润总额/主营业务收入×100 YYLRL,营业利润率。计算方法: 营业利润/主营业务收入×100(主营业务利润其它利润营业费用管理费用财务费用)/主营业务收入×100 ZYYWLRL,主营业务利润率。计算方法: 主营业务利润主营业务收入×100含义: 一个企业如果要实现可持续性发展,主营业务利润率处于同行业前列并保持稳定十分重要。但是如果该指标异忽寻常地高于同业平均水平也应该谨慎了。XSMLL,销售毛利率。计算方法: (主营业务收入主营业务成本)主营业务收入×100 YYCBBL,营业成本比率。计算方法: 营业成本/主营业务收入×100含义: 在同行之间,营业成本比率最具有可比性,原因是原材料消耗大体一致,生产设备及工资支出也较为一致,发生在这一指标上的差异可以说明各公*之间在资源优势、区位优势、技术 优势及劳动生产率等方面的状况。那些营业成本比率较低的同行,往往就存在某种优势,而且这 些优势也造成了盈利能力上的差异。相反,那些营业成本比率较高的同行,在盈利能力不免处于 劣势地位。QTYSZKL,其他应收帐款率。计算方法: 其他应收帐款流动资产含义: 其他应收帐款主要核算与生产经营销售活动无关的款项来往,一般应该较小。如果该指标较高则说明流动资金运用在非正常经营活动的比例高,就应该注意是否与关联交易有关。GDQYZZL,股东权益周转率。计算方法: 销售收入平均股东权益(注意:此处平均指的是期初值和期末值的算术平均值)ZZCZZL,总资产周转率。计算方法: 销售收入平均资产总额含义: 该指标越大说明销售能力越强。GDZCZZL,固定资产周转率。计算方法: 销售收入平均固定资产含义: 该比率是衡量企业运用固定资产效率的指标,指标越高表示固定资产运用效果越好。ZHZZTS,存货周转天数。计算方法: 天×(期初存货期末存货)销货成本×ZHZZL,存货周转率。计算方法: 销货成本×(期初存货期末存货)含义: 存货周转率(天数)表达了公*产品的产销率,如果和同行业其它公*相比周转率太小(或天数太长),就要注意公*产品是否能顺利销售。SXFYHJ,三项费用合计。计算方法: 营业费用管理费用财务费用含义:三项费用之和反应了企业的经营成本如果三项费用合计相对于主营业务收入大幅增加(或 减少)则说明企业产生了一定的变化,要提起注意。GLFYL,管理费用率。计算方法: 管理费用主营业务收入YYFYL,营业费用率。计算方法: 营业费用主营业务收入CWFYL,财务费用率。计算方法: 财务费用主营业务收入YXFZBL,有息负债比率。计算方法: (短期借款一年内到期的长期负债长期借款应付债券长期应付款)股东权益期末数×100含义: 无息负债与有息负债对利润的影响是完全不同的,前者不直接减少利润,后者可以通过财务费用减少利润;因此,公*在降低负债率方面,应当重点减少有息负债,而不是无息负债, 这对于利润增长或扭亏为盈具有重大意义。在揭示公*偿债能力方面,100%是国际公认的有息 负债对资本的比率的资本安全警戒线。GDQYYGDZCBL,股东权益与固定资产比率。计算方法: (股东权益总额固定资产总额×100 含义: 一个财务结构稳定性指标。CQFZBL,长期负债比率。计算方法: 长期负债资产总计×100 ZBFZBL,资本负债比率。计算方法: 负债合计股东权益×100含义: 比资产负债率这一指标更能准确地揭示企业的偿债能力状况,因为公*只能通过增加资本的途径来降低负债率。资本负债率为 200%为一般的警戒线,若超过则应该格外关注。ZCFZBL,资产负债比率。计算方法: 负债总额资产总额×100%含义: 反映总资产中有多大比例是通过借债得来的。GDQYBL,股东权益比率。计算方法: 股东权益总额资产总额×100含义: 反映所有者提供的资本在总资产中的比重,反映企业的基本财务结构是否稳定。一般来说比率高是低风险、低报酬的财务结构,比率低是高风险、高报酬的财务结构。 YSZKZZTS,应收帐款周转天数。计算方法: 360 天×平均应收帐款销售收入含义: 表达年度内应收帐款转为现金的平均天数。影响企业的短期偿债能力。YSZKZZL,应收帐款周转率。计算方法: 销售收入平均应收帐款含义:表达年度内应收帐款转为现金的平均次数。如果周转率太低则影响企业的短期偿债能力。XJBL,现金比率。计算方法: 货币资金流动负债含义: 现金比率反应了企业偿还短期债务的能力。SDBL,速动比率。计算方法: (流动资产存货)流动负债含义: 由于种种原因存货的变现能力较差,因此把存货从流动资产种减去后得到的速动比率反映的短期偿债能力更令人信服。一般认为企业合理的最低速动比率是 1。但是,行业对速动比率的影响较大。比如,商店几乎没有应收帐款,比率会大大低于1。影响速动比率的可信度的重要 因素是应收帐款的变现能力。主营业务收入增长。计算方法: (本期主营业务收入上年同期主营业务收入)上年同期主营业务收入×100 含义: 一般当产品处于成长期,增长率应大于 10%。系统函数说明板块函数: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。例如:BLOCKL EAD(&VOL,&ZQMC)取该板块指数中成交量最大的股票名称。财务函数: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 等的调用相同。K1、一季度报表,2、中报,3、三季度报表,4、年报。 如 REPDATE(&ZGB,1,4),表示取最近总股本年报的报表日期。指标函数:1、成本:成本分布情况。用法:COST(10),表示 10%获利盘的价格是多少,即有 10%的持仓量在该价格以下,其余 9 0%在该价格以上,为套牢盘。该函数仅对日线分析周期有效。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 万,1 1 元的筹码为 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%获利盘;该函数仅对日线分析周期有效。逻辑函数:1、条件函数:根据条件求不同的值。用法:IF(X,A,B)若 X 不为 0 则返回 A,否则返回B。 例如:IF(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(CL OSE,1)>=1,1)表示上一个涨停板到当前的周期数。4、有效周期数:求总的周期数。用法:BARSCOUNT(X),第一个有效数据到当前的天数。5、向前赋值:将当前位置到若干周期前的数据设为 1。用法:BACKSET(X,N),若 X 非 0,则将当前位置到 N 周期前的数值设为 1。例如:BACKSE T(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,返回这个区间的周期数。例如:SUMB ARS(VOL,CAPITAL)求完全换手到现在的周期数。时间函数:1、总开盘分钟:求当前代码类型的开市交易时间。用法:TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回 242,与日期或具体的股票无关。2、距开盘分钟:求当前时刻距开盘有多长时