同花顺公式编写程序及规则

同花顺公式编写+现有公式



公式编写规则

语言规范:

在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。



关键字

if else while break continue return (无大小写之分)



常数

浮点数、整数、字符串



分隔符

“ ” ‘ ' ( ) ; { } 注释/* */



标识符

由字母和数字组成,由字母开头,不分大小写



运算符(优先级从高到低排列,同级同行)

* /



+ -



== != > < >= <=



And



Or



语句

赋值 a = b



条件 IF (a==b) c=d;



循环 while a==b c=d;



函数调用 func(a,b)





直接访问数据项的函数

例如:OPEN[t] 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";



ELSE



B"Bad";



对于上述情况, 规定: ELSE语句与最近的一个IF语句匹配, 上例



中的ELSEIF(y<=100 AND y>x)相匹配。为了使ELSEIF(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语句联在一起。 即满足条件时便跳出循环。



注意:



1break语句对if-else的条件语句不起作用。



2、在多层循环中, 一个break语句只向外跳一层。



continue 语句



continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。



continue语句只用在while循环体中, 常与if条件语句一起使用, 用来加速循环。





函数调用:

调用函数的基本方式为:函数名(参数,参数,



其返回值为函数里面的return语句规定的返回值。若无return语句,则返回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。



例如:调用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)的时候,相当于计算N18M16M26时的J值,并把这个值赋给a



注意:



1、当传递的参数数目不等于被调用函数设置的参数数目时。



a、没有传递参数。则采用原来设置的默认参数计算。



b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。



c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。



2、函数名称不区分大小写。



3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。



返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指定为其中一项输出。



  



关于

所谓即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为。例如,yearrep(&jlr,4),其含义为取该公司3年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为



1与任何数据作计算时,相应计算被取消。



例如:7×NULL(即)得到的结果为7



2与任何数据比较大小时,较小。



例如:-7>NULL(即)得到的结果为1(即条件满足)。



这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用ISNULL函数来判断某个数据是否为(相关说明见后面的函数说明部分)。





公式编写规则

代码与周期:

由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周期,其具体的数值也将不同。)



代码的分类:个股(含债券)。沪深指数(仅1A0001(统计上海AB基金)、1A0002(统计上海A股)、1A0003(统计上海B股)、399001(统计深圳AB股基金)、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元,今天除权,1010。则今日PRE值为10元。



用于:所有类型、所有周期。



MONEY(金额)



含义:在实时、分时周期时代表当日的成交金额只和。在分钟K线、日K线周期时代表那一个周期的成交金额只和。当用于指数时,指此指数所包含所有交易品种成交金额之和。



用于:个股的实时、分时、分钟K线、日K线周期。沪深指数的实时、分时、分钟K线、日K线周期。



VOL(总手)



含义:在实时、分时、成交明细周期时代表当日的成交量只和。在分钟K线、日K线周期时代表那一个周期的成交量只和。当用于指数时,指此指数所包含所有交易品种成交量之和。



用于:个股的实时、分时、成交明细、分钟K线、日K线周期。沪深指数的实时、分时、分钟K线、日K线周期。(注意,VOLMONEY相比多了一个成交明细周期。)



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时为指数、1A股、2B股、3是债券、4是基金。



用于:个股、指数的各种周期。



MARKETTYPE(市场类别)、INDEXTYPE(指数种类)



这两个数据项属于保留数据项,目前暂时没用,可能会在以后用到。





财务数据说明

这里的财务数据项都是根据财政部制定的《企业会计制度》(于 11日起执行)里面规定的季报、中报、年报的各种报表里面的项目编列的。每一项的具体含义都与《企业会计制度》(2001)里面的规定完全相同。另外我们还依照上市公司的特性将十大股东的名称、持股数,股东人数,股本结构,权息资料都列在财务数据项中。



由于数据众多(公司、基本有1300多家,几乎每家的数据项都达400多项,且每项又分不同的时期)所以这个数据库相当庞大,检索起来较慢且消耗大量系统资源。因此我们设立了常用数据项目录,这里面有100项左右常用的财务数据,含盖了股民在绝大多数情况下的需求。这些数据被放在一个特殊的数据文件里面检索速度很快且系统资源占用量较小。所以大家一般编写公式就在常用数据项目录里面找相关的数据就可以了。而其它的那些数据都是用SQL数据库检索,建议只提供给少数重要客户。



注意: 用纯财务数据写的计算项放在表格里面的时候,周期要选择日线,否则无法显示。而在其它情况下,财务数据项适用于任何周期。





资讯数据说明

这里列出了您可以使用的各种资讯数据。您可以将这些资讯数据加入到页面和表格里面。



例如:您可以将维赛特资讯”——“个股资讯”——“个股历史资讯项拖到K线图里,您可以看到出现一个个与相应资讯所对应的图标,即我们通常说的信息地雷。



注意: 这里的各个资讯数据项要主站的支持,即主站要有数据。



财务分析说明

比较目录下面是相应数据从97年到 年报数据的输出,共5项输出,在表格里先选择支持多数据项目分解再拖进去就可以看见5年的内容了。



注意:股东权益等同于净资产



MGXJZJ,每股现金及现金等价物净增加额。

计算方法: 现金及现金等价物净增加额/股数



JYXJLRBL,经营活动产生的现金流量净额与净利润比率。

计算方法: 经营活动产生的现金流量净额/净利润



XSXJZYSRBL,销售商品收到现金与主营业务收入比率。

计算方法: 销售商品、提供劳务收到的现金/主营业务收入×100



含义: 正常周转企业该指标应大于1。如果指标较低,可能是关联交易较大、虚构销售收入或透支将来的销售,都可能会使来年的业绩大幅下降。



ZCBL,资产倍率。

计算方法: 股市场价/每股资产值



ZZCHBL,总资产回报率。

计算方法: 净利润/总资产期末数×100



JZCSYL,净资产收益率。

计算方法: 净利润/净资产×100

含义: 又称股东权益收益率,这个指标反应股东投入的资金能产生多少利润。



ZCSYL,资产收益率。

计算方法: 净利润×2/(期初资产总额+期末资产总额)×100%

含义: 资产收益率反应了企业的总资产利用效率,或者说是企业所有资产的获利能力。



SHLRL,税后利润率。

计算方法: 净利润/主营业务收入×100



SQLRL,税前利润率。

计算方法: 利润总额/主营业务收入×100



YYLRL,营业利润率。

计算方法: 营业利润/主营业务收入×100=(主营业务利润+其它利润-营业费用-管理费用-财务费用)/主营业务收入×100



ZYYWLRL,主营业务利润率。

计算方法: 主营业务利润/主营业务收入×100

含义: 一个企业如果要实现可持续性发展,主营业务利润率处于同行业前列并保持稳定十分重要。但是如果该指标异忽寻常地高于同业平均水平也应该谨慎了。



XSMLL,销售毛利率。

计算方法: (主营业务收入-主营业务成本)/主营业务收入×100



YYCBBL,营业成本比率。

计算方法: 营业成本/主营业务收入×100

含义: 在同行之间,营业成本比率最具有可比性,原因是原材料消耗大体一致,生产设备及工资支出也较为一致,发生在这一指标上的差异可以说明各公司之间在资源优势、区位优势、技术优势及劳动生产率等方面的状况。那些营业成本比率较低的同行,往往就存在某种优势,而且这些优势也造成了盈利能力上的差异。相反,那些营业成本比率较高的同行,在盈利能力不免处于劣势地位。



QTYSZKL,其他应收帐款率。

计算方法: 其他应收帐款/流动资产

含义: 其他应收帐款主要核算与生产经营销售活动无关的款项来往,一般应该较小。如果该指标较高则说明流动资金运用在非正常经营活动的比例高,就应该注意是否与关联交易有关。



GDQYZZL,股东权益周转率。

计算方法: 销售收入/平均股东权益(注意:此处平均指的是期初值和期末值的算术平均值)



ZZCZZL,总资产周转率。

计算方法: 销售收入/平均资产总额

含义: 该指标越大说明销售能力越强。



GDZCZZL,固定资产周转率。

计算方法: 销售收入/平均固定资产

含义: 该比率是衡量企业运用固定资产效率的指标,指标越高表示固定资产运用效果越好。



ZHZZTS,存货周转天数。

计算方法: 360天×(期初存货+期末存货)/销货成本×



ZHZZL,存货周转率。

计算方法: 销货成本×2/(期初存货+期末存货)

含义: 存货周转率(天数)表达了公司产品的产销率,如果和同行业其它公司相比周转率太小(或天数太长),就要注意公司产品是否能顺利销售。



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。例如:BLOCKLEAD(&VOL,&ZQMC)取该板块指数中成交量最大的股票名称。





财务函数:

1、季报:调用季报数据项。



用法:QUARTERREP(&N,K,L)N为财务数据项,K可以是1(表示最近一次的季报)、2(表示上一次的季报)、34等或者直接输入希望调用的年份,L可以是13即第一季度或第三季度的季报。注意L仅在K选择年份的时候适用。



2、年报:调用年报数据项。



用法:YEARREP(&N,K)N为财务数据项,K可以是1(表示最近一次的年报)、2(表示上一次的年报)、34等或者直接输入希望调用的年份。



注意:N要为基本的财务数据项,而不能是编写的计算项目,即N为功能树里公式栏里面的财务数据目录下面的数据项。



3、中报:调用中报数据项。



用法:MIDREP(&N,K,L)N为财务数据项,K可以是1(表示最近一次的中报)、2(表示上一次的中报)、34等或者直接输入希望调用的年份。



4、同期报表:调用最近一次报表或与其同类型报表的数据项。



用法:REP(&N,K) N为财务数据项,K1(表示最近一次公布的报表)、2(表示去年与最近一次公布报表同类型报表)、34等。



5、取报表日期:取某个财务数据项的报表日期。



用法:REPDATE(&N,M,K) N=财务数据项。M=引用周期数,与YEARREP等的调用相同。K1、一季度报表,2、中报,3、三季度报表,4、年报。 REPDATE(&ZGB,1,4),表示取最近总股本年报的报表日期。



指标函数:

1、成本:成本分布情况。



用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。该函数仅对日线分析周期有效。



2、分价函数:用来制作分价表。



用法:在制作分价表的时候选择多数据项输出,然后直接将这个函数拖进数据项选择框就可以了。



3、成本分布:用于画成交分布云。



用法:用于画成交分布云。例如CM(0,1,2,0)。参数含义:1、计算天数,0表示计算全部天数。2、当日成本算法:0=平均分布,1=三角分布。3、精度:一般是24、起始位置: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),表示以当前收市价卖出的获利盘比例。例如返回01表示10%获利盘;WINNER(105)表示105价格的获利盘比例。该函数仅对日线分析周期有效。



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(CLOSE,1)>=11)表示上一个涨停板到当前的周期数。



4、有效周期数:求总的周期数。



用法:BARSCOUNT(X),第一个有效数据到当前的天数。



5、向前赋值:将当前位置到若干周期前的数据设为1



法:BACKSET(X,N),若X0,则将当前位置到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),求XN日移动平均,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),求XN日移动平均值。算法:(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),求XN日指数平滑移动平均。算法:若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、时间差:计算两个时间之间的差。



用法:COUNTTIMEN,L,K)。NL为时间,其格式为YYYYMMDDK12或者3。当K1时返回第二个之间比第一个时间晚多少年。当K2时返回第二个之间比第一个时间晚多少月。当K3时返回第二个之间比第一个时间晚多少日。例如:COUNTTIME20000808199906062其返回值为-2。注意:这里返回值有正负号。

算术函数:

1、绝对值:求绝对值。



用法:ABS(X)返回X的绝对值。例如:ABS(-34)返回34



2、介于:介于两个数之间。



用法:BETWEEN(A,B,C)表示A处于BC之间时返回1,否则返回0



例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间。



3、最大值:求最大值。



用法:MAX(A,B)返回AB中的较大值。例如:MAX(CLOSE-OPEN,0)示若收盘价大于开盘价返回它们的差值,否则返回0



4、最小值:求最小值。



用法:MIN(A,B)返回AB中的较小值。例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值。



5、求模运算:求模运算。



用法:MOD(A,B)返回AB求模。例如: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)表示AN周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均线维持5周期后与10日均线交金叉。



14、空:判断是否为空。



用法:ISNULL(A)表示如果A为空(即没有数据)则返回1,否则返回0



15、幂:求幂。



用法:POWX,Y)。求XY次幂。例如:POW2,3)为8





统计函数:

1、标准差:求标准差。



用法:STD(X,N)XN日估算标准差。



2商品数据:求与具体某种商品相关的数据。



用法:INDEXDATA(“N”&XK)N为商品代码。X为数据项。K为周期数(可以不加)。INDEXDATA(“1A0001”&LOW3)3天前上证指数的最低点位。



3、线性回归斜率:求某个数据的线性回归。



用法:SLOPE(X,N)XN周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率



4、线性回归预测值:以某个数据的线性回归斜率向后延伸一个周期得到的数值。



用法:FORCAST(X,N)XN周期线性回归预测值。例如:FORCAST(CLOSE,10)表示求10周期线性回归预测本周期收盘价。



5、总体标准差:求总体标准差



用法:STDP(X,N)XN日总体标准差。



6、估算样本方差:求估算样本方差。



用法:VAR(X,N)XN日估算样本方差。



7、总体样本方差:求总体样本方差。



用法:VARP(X,N)XN日总体样本方差。





基本公式

这里的各种公式都是一些用于设置同花顺各种表格曲线的公式,我们预先写好您直接调用就可以了。当然您也完全可以根据个人爱好自己编写。



注意: 基本公式是用于编写配置用的,即只有高级版用户才能看到这个目录。



这里主要有如下几类公式:板块统计、区间统计、报价公式、分时公式、技术分析、文本浏览、期货公式、筹码分布、大单公式、曲线标志、其他。



板块统计:



这里有4个用于统计板块数值的公式。



1、板块均价。



BLOCKPRICE,用于计算板块最新的平均价。



2、板块最低价。



BLOCKLOW,用于计算板块的最低价。



3、板块最高价。



BLOCKHIGH,用于计算板块的最高价。



4、板块总手。



BLOCKVOL,用于计算板块的板块总手。



区间统计:



这里面是各种用于区间统计的公式,在做区间统计表格的时候,要将这里面的公式拖到表格里,而不能用普通的行情数据项。



报价公式:



一般实时数据都是由交易所直接发过来的。那些需要计算得出来、且周期为实时的数据并不多,都是一些与大盘统计相关的公式,放在这个目录下。



大盘目录:EQUALCOUNT(平盘家数)、DaPanWeiCha(委差)、DaPanWeiBi(委比)。



这三个函数都是直接调用不附带参数。其值分别为大盘指数对应的股票的平盘家数、所有对应的股票的委差之和、及以此计算的委比。



分时公式:



5ZSZBH(五分钟总市值变化)、FiveRiseCount(五分钟涨跌)、FiveRise(五分钟涨幅)。



这三项都是统计与5分钟相关的几个数据。



FenShiVolClass(分时成交量颜色),这是用来显示分时成交量颜色的公式。点修改,可以看到这个公式的输出为三个曲线标志。在输出方案设置里面我们知道,当输出颜色设置选择其它数据的颜色表示涨跌色,而当其它数据输出为曲线标志时,则显示其标志的颜色。所以,这里通过三个曲线标志的颜色来显示分时成交量的颜色。



技术分析:



这里前5项都是与K线相关的数据项。



VolColor(成交量颜色),其原理与上面介绍的分时成交量颜色类似,用于显K线的成交量的颜色。



文本浏览:



这里是用于建文本窗口的公式。如,用于F10页面的个股资料



期货公式:



用于建期货页面的公式。这里的公式都是用期货数据编写的。



筹码分布:



这里是筹码分布和火焰山公式。其详细含义、用法参见《筹码分布及火焰山》。



大单公式:



这里放有做各种不同大单表的公式。



曲线标志:



这里是各种用于画在曲线上的标志图形,使用时将其拖到窗口里面就可以了。如,除权标志。



还有几个最常用的曲线,如K线、分时走势、均线、及其成交量的柱状图等。在技术指标下面的曲线目录里面。



条件选股

条件选股是根据提供系统或用户编制的条件选股公式进行选股选定一个条件选股公式或多个组合条件后,计算机自动帮您选出当时或历史上某一段时间内满足条件的所有股票,列在行情显示窗口,同时可保留成板块。



实时预警根据投资者设定的条件监控整个股票市场的动向,帮助投资者发现可能忽略或者不能注意到的风吹草动!投资者可以自己定义涨跌幅度、量比、绝对价位、成交量异动、指标突破价位、封停和打开停板等一系列的预警条件,系统将在条件满足时提醒投资者有异动的股票及其异动的特征。



这里放置各种用于选股及预警的公式。



条件选股公式的编写方法与其它公式编写方式相同。选股条件公式的核心内容为一个条件判断语句SELECT语句,其运算结果为“0”或者“1”不满足条件或者满足条件。当然一般的公式也能用于选股,依结果为1”或者“1”来判断,即只有运算结果为“1”时才能选出来。参见智能分析



技术指标

技术指标是在K线图中用于分析股票走势的曲线。这个目录下含有同花顺为您提供的200多种技术指标。参见技术指标简介  

交易系统

交易系统就是设定某种买卖条件,当满足条件的时候就在 K 线上画出买入、卖出的提示箭头,用于分析买卖策略的一种工具。从某种意义上说交易系统也是一种绘图曲线,也是通过编写公式完成的,这里列出了同花顺提供的各种交易系统。



编写交易系统的方法与编写一般曲线类似,是不过一般曲线是连续的输出,而交易系统是满足买卖条件的时候输出买入、卖出的曲线标志而已。输出曲线标志用“ :> ”



例如, MACD 交易系统的公式内容如下:



DIFF= EMA ( CLOSE ,SHORT) - EMA ( CLOSE ,LONG);



DEA = EMA (DIFF,M);



MACD1 = 2 *(DIFF-DEA);



IF ( CROSS (diff,dea))



a :> "buy" ;



IF ( CROSS (dea,diff))



b :> "sell" ;



五彩K线

五彩 K 线是依照一定规则将普通 K 线标成多种不同的颜色,以突出某种 K 线形态的曲线公式。这里列有早晨之星、黄昏之星、十字星、长十字星、红绿灯等各种五彩 K 线。



五彩 K 线的编写方法与一般 K 线类似。只是一般 K 线公式以开盘价、收盘价为颜色判断的依据,而五彩 K 线则采用各种不同的形态为颜色判断依据。下面列出普通 K 线公式与三红兵五彩 K 线公式:

普通 K 线公式:



IF ( CLOSE > OPEN )



RETURN " " ;



ELSE IF ( CLOSE < OPEN )



RETURN " " ;



ELSE IF ( CLOSE == OPEN AND OPEN >= CLOSE [ 1 ])



RETURN " " ;



ELSE IF ( CLOSE == OPEN AND OPEN <= CLOSE [ 1 ])



RETURN "" ;



三红兵五彩 K 线公式:



IF ( CLOSE [ 2 ]> OPEN [ 2 ] AND CLOSE [ 1 ]> OPEN [ 1 ] AND CLOSE > OPEN AND



CLOSE [ 1 ]> CLOSE [ 2 ] AND CLOSE > CLOSE [ 1 ])



{ RETURN BACKSET ( "colorred" , 2 );}



同花顺现有公式

技术指标

基金指标、主要曲线、趋向指标、反趋向指标、能量指标、量价指标、大盘指标



压力支撑、特色指标、指南针、神光指标、理财指标

以上指标前期有一定介绍,部分将后续添加



交易系统

1MACD系统

用法说明:

分析MACD柱状线,由绿变红(负变正),买入信号。DIFFDEA形成金叉时为买入信号。

分析MACD柱状线,由红变绿(正变负),卖出信号。DEADIFF形成死叉时为卖出信号。

参数:LONGSHORTM  天数,计算MACD时用,一般26129



DIFF= EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);

DEA = EMA(DIFF,m);

IF(Long>short)

{

IF (CROSS(diff,dea))

BUY;

IF (CROSS(dea,diff))

SELL;

}



2、布林带系统

用法说明:

BOLL指标

指标说明

BOLL利用统计学原理标准差求取其信赖区间。

买卖原则

1 BOLL利用波带 可以显示其安全的高低价位。

2 当易变性变小,而波带变窄时,激烈的价格波动有可能随即产

生。

3 高低点穿越波带边线时,立即回到波带内,会有回档产生。

4 波带开始移动后,以此方式进入另一波带,这对于找出目标值

有相当的帮助。



MID=MA(CLOSE,N);

UPPER=MID + P*STD(CLOSE,N);

LOWER=mID - P*STD(CLOSE,N);

IF (CROSS(CLOSE,LOWER))

BUY;

IF (CROSS(CLOSE,UPPER))

SELL;



3、趋向指标

用法说明:

DMI指标

指示投资人避免在盘整的市场中交易,一旦市场变得有利润时,

DMI立刻引导投资人进场,并且在适当时机退场。

买卖原则:

1pDI上交叉mDI时,做买。

2pDI下交叉mDI时,做卖。



TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N);

HD := HIGH-REF(HIGH,1);

LD := REF(LOW,1)-LOW;

DMP:= SUM(IF(HD>0 AND HD>LD,HD,0),N);

DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),N);

pDI:=DMP*100/TR;

mDI:=DMM*100/TR;

IF (CROSS(PDI,MDI))

BUY;

IF (CROSS(MDI,PDI))

SELL;



4、乖离系统

用法说明:

乖离率的值围绕零上下波动

1.负的乖离率越小,空头回补的可能性越大,因此,负的乖离率向下跌破买入线,为买入时机.

2.正的乖离率越大,表示短期获利越大,获利回吐的可能性越高,因此正的乖离率向上突破卖出线,为卖出时机.

参数:

N 天数,计算乖离率时用 一般12

LL 买入线,一般-6LH 卖出线,一般6



f=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;

IF(CROSS(LL,f))

BUY;

IF(CROSS(f,LH))

SELL;



5KDJ系统

用法说明:

KDJ指标

指标说明

KDJ,其综合动量观念、强弱指标及移动平均线的优点,

早年应用在期货投资方面,功能颇为显著,目前为股市中最常

被使用的指标之一。

买卖原则

1 K线由右边向下交叉D值做卖,K线由右边向上交叉D值做买。

2 高档连续二次向下交叉确认跌势,低挡连续二次向上交叉

确认涨势。

3 D<20%超卖,D>80%超买,J>100%超买,J<10%超卖。

4 KD值于50%左右徘徊或交叉时,无意义。

5 投机性太强的个股不适用。

6 可观察KD值同股价的背离,以确认高低点。



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;

IF(CROSS(j,0))

BUY;

IF(CROSS(100,j))

SELL;



6 容量比率系统

用法说明:

vr值一般4070,低位区,卖进;80150,盘整区,持有;160350,获利区,获利了结

1.VR向下跌破下限,买入信号

2.VR向上突破上限,卖出信号

参数:LH 上限,一般取250LL 下限,一般取70



LC=REF(CLOSE,1);

a=SUM(IF(CLOSE>LC,VOL,0),N)/SUM(IF(CLOSE<=LC,VOL,0),N)*100;

IF(CROSS(LL,a))

BUY;

IF(CROSS(a,LH))

SELL;



7 威廉系统

用法说明:

1.高于上限,超卖,即将见底,买进信号

2.低于下限,超买,即将见顶,卖出信号

RSIMTM指标配合使用,效果更好

参数:N 统计天数 一般取14

LL 下限,一般20 LH 上限,一般80



wr=100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));

IF(CROSS(wr,lh))

BUY;

IF(CROSS(wr,Ll))

SELL;



8、抛物转向系统

用法说明: 指标标识由绿变红时为买入信号,红变绿时为卖出信号。



IF(SAR_COLOR[1]=="空绿" AND SAR_COLOR=="")

BUY;

IF(SAR_COLOR[1]=="" AND SAR_COLOR=="空绿")

SELL;

9、均线系统

用法说明:

收盘价短期均线向上突破长期均线,买入信号。收盘价短期均线向下跌破长期均线,卖出信号。

参数:SHORT 短期天数  LONG 长期天数



IF((short+5)<=LONG AND CROSS(MA(CLOSE,SHORT),MA(CLOSE,LONG)))

BUY;

IF((short+5)<=LONG AND CROSS(MA(CLOSE,LONG),MA(CLOSE,SHORT)))

SELL;



10、随机指标专家

用法说明:

1)线K向上突破线D,且K值在20以下,买进信号;

2)线K向下跌破线D,且K值在80以上,卖出信号;

参数:NM1M2 天数,计算KD时用,一般为933



WRSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

WK:=MA(WRSV,M1);

D:=MA(WK,M2);

IF (CROSS(WK,D) AND WK<20)

BUY;

IF (CROSS(D,WK) AND WK>80)

SELL;



11、顺势指标

用法说明:

1CCI 为正值时,视为多头市场;为负值时,视为空头市场;

2)常态行情时,CCI 波动于±100 的间;强势行情,CCI 会超出±100

3CCI>100 时,买进,直到CCI<100 时,卖出;

4CCI<-100 时,放空,直到CCI>-100 时,回补。



TYP = (IF(ISNULL(HIGH),CLOSE,HIGH) + IF(ISNULL(LOW),CLOSE,LOW) + CLOSE)/3;

index=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));

IF (CROSS(INDEX,N))

BUY;

IF (CROSS(N,INDEX))

SELL;



12、动量线

用法说明:

动量线:收盘价-N日前的收盘价

MAMTM:MTMM日简单移动平均

MTM线 :当日收盘价与N日前的收盘价的差;

MTMMA线:对上面的差值求N日移动平均;

参数:N 间隔天数,也是求移动平均的天数,一般取6

用法:

1MTM从下向上突破MTMMA,买入信号;

2MTM从上向下跌破MTMMA,卖出信号;

3)股价续创新高,而MTM未配合上升,意味上涨动力减弱;

4)股价续创新低,而MTM未配合下降,意味下跌动力减弱;

5)股价与MTM在低位同步上升,将有反弹行情;反之,从高位同步下降,将有回落走势。



WMTM=CLOSE-REF(CLOSE,N);

MAMTM=MA(wMTM,M);

IF (CROSS(WMTM,MAMTM))

BUY;

IF (CROSS(MAMTM,WMTM))

SELL;



13、心理线

用法说明:

1PSY>85,形成M头时,股价容易遭遇压力;

2PSY<15,形成W底时,股价容易获得支撑;

3PSY VR 指标属一组指标群,须互相搭配使用。



MYPSY=COUNT(CLOSE>REF(CLOSE,1),N)/N*100;

IF (CROSS(LL,MYPSY))

BUY;

IF (CROSS(MYPSY,LH))

SELL;



14、变动速率

用法说明:

ROC向下跌破零,卖出信号;ROC向上突破零,买入信号。股价

创新高,ROC未配合上升,显示上涨动力减弱。股价创新低,ROC

未配合下降,显示下跌动力减弱。股价与ROC从低位同时上升,

短期反弹有望。股价与ROC从高位同时下降,警惕回落。



WROC=(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100;

IF (CROSS(WROC,0))

BUY;

IF (CROSS(0,WROC))

SELL;



15、相对强弱指标

用法说明:

RSI指标

RSIS1978年美国作者Wells WidlerJR。所提出的交易方法之

一。所谓RSI英文全名为Relative Strenth Index,中文名称

为相对强弱指标.RSI的基本原理是在一个正常的股市中,多

空买卖双方的力道必须得到均衡,股价才能稳定;RSI是对于

固定期间内,股价上涨总幅度平均值占总幅度平均值的比例。

1 RSI值于0-100之间呈常态分配,当6RSI值为80‰以上时,

股市呈超买现象,若出现M头为卖出时机;6RSI值在20‰

下时,股市呈超卖现象,若出现W头为买进时机。

2 RSI一般选用6日、12日、24日作为参考基期,基期越长越有

趋势性(慢速RSI),基期越短越有敏感性,(快速RSI)。当快速

RSI由下往上突破慢速RSI时,为买进时机;当快速RSI由上而下

跌破慢速RSI时,为卖出时机。



LC=REF(CLOSE,1);

WRSI=SUM(MAX(CLOSE-LC,0),N)/SUM(ABS(CLOSE-LC),N)*100;

IF (CROSS(WRSI,LL))

BUY;

IF (CROSS(LH,WRSI))

SELL;





五彩K线

1、一般K线

用法说明:这就是我们平时看的K线。



IF(CLOSE>OPEN)

RETURN "";

ELSE IF(CLOSE

RETURN "";

ELSE IF(CLOSE==OPEN AND OPEN>=CLOSE[1])

RETURN "";

ELSE IF(CLOSE==OPEN AND OPEN<=CLOSE[1])

RETURN "";

MONEY;

K线换手;



2、早晨之星

用法说明:

早晨之星由三支K线组成,代表可能见底回升。

第一日:在跌势中出现一支长阴烛;

第二日:裂口下跌,烛身短,可以是阴烛或阳烛。

第三日:阳烛,回升到第一支蜡烛上。



a1=ABS(CLOSE-OPEN)/OPEN<0.005 AND (HIGH-LOW)/ABS(CLOSE-OPEN)>2;

a2=COUNT(a1,2)==1 AND COUNT(a1,1)==0;

a3=REF(LOW,1)==LLV(LOW,13) AND REF(CLOSE,1)==LLV(CLOSE,13);

a=a2*a3;

IF(a==1)RETURN BACKSET("colorred",2);

ELSE RETURN("colorgreen");



3、黄昏之星

用法说明:

黄昏之星由三支K线组成,形态刚好与早晨之星相反,代表可能见顶回落。

第一日:在升势中出现一支长阳烛;

第二日:裂口上涨,烛身短,可以是阴烛或阳烛。

第三日:阴烛,回落到第一支蜡烛下。



a1=ABS(CLOSE-OPEN)/OPEN<0.01 AND (HIGH-LOW)/ABS(CLOSE-OPEN)>2;

a2=COUNT(a1,2)==1 AND COUNT(a1,1)==0;

a3=REF(HIGH,1)==HHV(HIGH,13) AND REF(CLOSE,1)==HHV(CLOSE,13);

a=a2*a3;

IF(a==1)RETURN BACKSET("colorred",2);

ELSE RETURN("colorgreen");



4、十字星

用法说明:十字星呈十字形状,开市价与收市价相同,有转向的意味。



IF(CLOSE==OPEN AND HIGH!=CLOSE AND LOW!=CLOSE) RETURN("colorred");

ELSE RETURN("colorgreen");



5、长十字星

用法说明:长十字是十字星的一种,有较强的转向意味。



IF(CLOSE==OPEN AND HIGH!=CLOSE AND LOW!=CLOSE AND HIGH/LOW>1.03) RETURN("colorred");

ELSE RETURN("colorgreen");



6、垂死丁字

用法说明: 垂死丁字若出现在顶部就是一种可靠性较高的见顶回落形态。



IF(CLOSE==OPEN AND CLOSE==LOW AND CLOSE!=HIGH) RETURN("colorred");

ELSE RETURN("colorgreen");



7、射击之星

用法说明:

射击之星表示可能见顶回落,其可靠性较低。

射击之星蜡烛部分较短,并且出现在底部,蜡烛上面出现一支较长的



IF(MIN(OPEN,CLOSE)==LOW AND (HIGH-LOW)> 3*(MAX(OPEN,CLOSE)-LOW)

AND CLOSE > MA(CLOSE,5)) RETURN("colorred");

ELSE RETURN("colorgreen");



8 穿头破脚

用法说明:

穿头破脚由两支K线组成,表示行情将要转向。

穿头破脚第二支蜡烛烛身部分长于第一支蜡烛且蜡烛颜色相反;若是上升行情第一支蜡烛为阳线,若是下跌行情第一支蜡烛为阴线。



IF(CLOSE[1]/OPEN[1]>1.03 AND CLOSE/OPEN<0.96 AND

CLOSECLOSE[1])

{

BACKSET("colorred",1);

RETURN("colorgreen");

}

IF(CLOSE[1]/OPEN[1]<0.97 AND

CLOSE/OPEN>1.04 AND CLOSE>OPEN[1] AND OPEN

{

BACKSET("colorgreen",1);

RETURN("colorred");

}

ELSE RETURN("coloryellow");



9、三红兵

用法说明:三红兵:三支阳线组成,且每日收市价都上移,表示可能见底回升。



IF(CLOSE[2]>OPEN[2] AND CLOSE[1]>OPEN[1] AND CLOSE>OPEN AND

CLOSE[1]>CLOSE[2] AND CLOSE>CLOSE[1])

{RETURN BACKSET("colorred",2);}

ELSE RETURN "colorgreen";



10、三只乌鸦

用法说明:

三只乌鸦:连续三支阴线组成,且每日收市价都下移。



IF(CLOSE[2]

CLOSE[1]ND CLOSE

{

RETURN BACKSET("colorgreen",2);

}

ELSE RETURN("colorred");



11、光头阳线

用法说明:以当天最高价收盘,表明强势上攻。



IF(HIGH==CLOSE AND HIGH!=LOW)

{RETURN "colorred";}

ELSE RETURN "colorgreen"



12、红绿灯

用法说明:

红绿灯买卖预报台

黄色、白色K线为买入预报,绿色K线为卖出预报,蓝色K线为短线卖出预报。如连续出现三根黄色K线或绿色K线时,必须等红绿灯指示箭头出来再买入或者卖出(一般观望为宜)。配合红绿灯指示效果更好。(注意:绿色花箭头为止损卖出,花箭头只适用于弱势行情)

宁可卖错十次 不可买错一次(卖错是少攒,买错是赔钱)



RSV=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K=SMA(RSV,M1,1);

D=SMA(K,M2,1);

W=-100*(HHV(HIGH,100)-CLOSE)/(HHV(HIGH,100)-LLV(LOW,100));

W1=-100*(HHV(HIGH,52)-CLOSE)/(HHV(HIGH,52)-LLV(LOW,52));

IF(CLOSE>OPEN AND D>15 AND K>12 AND D<82 AND K<88) RETURN "COLORRED";

ELSE IF(D<15 AND K<12) RETURN "COLORYELLOW";

ELSE IF(D>82 AND K>88) RETURN "COLORGREEN";

ELSE IF(W>-0.01) RETURN "COLORBLUE";

ELSE IF(W1<-99.9) RETURN "COLORWHITE";

ELSE RETURN "COLORGREEN"

《同花顺公式编写程序及规则.doc》
将本文的Word文档下载,方便收藏和打印
推荐:
下载文档
热门推荐
相关推荐