2023年同花顺公式大全附经典公式.pdf
《2023年同花顺公式大全附经典公式.pdf》由会员分享,可在线阅读,更多相关《2023年同花顺公式大全附经典公式.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.可编辑 同花顺公式编辑教程大全 什么是技术指标?MA 均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。什么是条件选股?简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选-比如您有一些好的心得和方法,可使有 1000多只股票,您就是有 100 双眼睛有时也不一定可以看得过来,这时电脑就派上用场了!什么是参数?比如讲:10 日均线,您可以把 10 日当作参数,好处在于,您觉得需要修改成 5 日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参 数需要名字,例如 M 就不错。还要规定参数的范围
2、,例如 1 日至 260 日。这样我们就可以在 1 到 260 之间任意调节 M 的值了,M 最常用的数填在“缺省”一栏,例如你最喜欢用 10 日均线,那就填 10 吧。什么是周期?这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢用 5 分钟的 K 线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间-就是可以选择不同的周期。什么是函数?函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。例一:一根 K 线有四个价格组成:最高价:HIGH 收盘价:CLOSE 最低价:LOW
3、 开盘价:OPEN 成交量:VOL 成交额:AMO 例二:两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSS(X,Y)假如下图中的两条均线一条名叫 X,另外一条叫 Y CROSS(X,Y)表示 X 向上穿过了 Y CROSS(Y,X)表示 Y 向上穿过了 X 例三:前面的 CLOSE,还是 VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢?REF(X,M)例如:REF(Close,5)表示 5 天前的收盘;REF(Vol,10)表示 10 天前的成交量;这里的 M 就是参数,您现在明白了什么是参数了吗?例四:如果我想把两个条件并列在一起怎
4、么办?AND X AND Y 就表示条件 X 和条件 Y 编写一条最简单的指标线 .可编辑 通过前面的学习,我们今天开始使用软件的公式编辑功能编写我们自己的第一条指标线。其实不难,你应该对自己有信心!按照主菜单-工具-公式管理-选择-“技术指标”-点击“新建”,然后在公式编辑器中留下你的第一行脚印吧!点击:“确认”,现在看一下我们第一条指标线。这条指标线与你的想法相符吗?总结与补充:1、如果选择:“主图叠加”,我们的指标线会与 K 线图显示在同一个图形框中,现在我们的指标线显示在其下方,即“副图”中;2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯;3、一个句子完了,别忘了以
5、分号结尾;你的公式写得对不对,可以通过“测试公式”来检查,如果错了,它会告诉你错在哪里。编写最常用的均量和均价线 均价线,不就是那个“移动平均线 MA”什么的吗?不过,话说回来,听说 10 个人里面有 11 个人都在使用,我可得学习学习!原理是?5 日平均线=(今天收盘价+昨天收盘价+.-5天前的收盘价)/5;10 日平均线=(今天收盘价+昨天收盘价+.+10天前的收盘价)/10;150 日平均线=(今天收盘价+昨天收盘价+.+150天前的收盘价)/150;200 日平均线.不是这么麻烦吧?难道我每天都要写这么多得数才得到一条平均线 你有什么办法?MA1=MA(CLOSE,5);MA2=MA(
6、CLOSE,10);MA3=MA(CLOSE,50);.当然是有简单的方法了!你把我在上面说过的话写下来,按照前面几课讲的,写在公式的编辑栏当中就可以了!注意:“MA”表示的就是计算平均值。在括号内写上计算的对象和计算的时间长度。MA1,MA2,MA3.是好几条指标线,别忘记了用分号把它们分开。同花顺公式编写教程 公式编写规则 语言规范:在自定义公式里面的各种符号(如,“;”)只能用半角不能用全角。关键字 if else while break continue return(无大小写之分)常数 浮点数、整数、字符串 分隔符 “”();注释/*/标识符 由字母和数字组成,由字母开头,不分大小写
7、 运算符(优先级从高到低排列,同级同行)*/+-.可编辑=!=”。其含义分别为“赋值”、“赋值”、“赋值并输出数值或字符串”、“赋值并输出图形”。注意:“”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。条件语句:其一般形式为:IF(逻辑表达式)语句 1;ELSE 语句 2;上述结构表示:如果逻辑表达式的值为非 0(TURE)即真,则执行语句 1,执行完语句 1 从语句 2 后开始继续向下执行;如果表达式的值为 0(FALSE)即假,则跳过语句 1 而执行语句 2。注意:1、条件执行语句中ELSE 语句 2;部分是选择项,可以缺省
8、,此时条件语句变成:IF(逻辑表达式)语句 1;.可编辑 表示若逻辑表达式的值为非0 则执行语句 1,否则跳过语句 1 继续执行。2、如果语句 1 或语句 2 有多于一条语句要执行时,必须使用 和 把这些语句包括在其中,此时条件语句形式为:IF(逻辑表达式)语句体 1;ELSE 语句体 2;这里语句体指多个语句,每个语句都必须以“;”结尾。3.条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个 IF 对应哪个 ELSE。例如:IF(x20 OR x-10)IF(yx)AGood;ELSE BBad;对于上述情况,规定:ELSE 语句与最近的一个 IF 语句匹配,
9、上例 中的 ELSE与 IF(yx)相匹配。为了使 ELSE与 IF(x20 OR x20 OR x-10)IF(yx)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 语句 b
10、reak 语句通常用在循环语句中。当break 语句用 while 循环语句中时,可使程序终止循环而执行循环后面的语句,通常 break 语句总是与 if 语句联在一起。即满足条件时便跳出循环。注意:1、break 语句对 if-else的条件语句不起作用。2、在多层循环中,一个 break 语句只向外跳一层。continue 语句 continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在 while 循环体中,常与 if 条件语句一起使用,用来加速循环。函数调用:调用函数的基本方式为:函数名(参数,参数,)其返回值为函数里面的 return语句规定的
11、返回值。若无 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)的时候,相当于
12、计算 N18,M1 6,M2 6 时的 J 值,并把这个值赋给 a。注意:1、当传递的参数数目不等于被调用函数设置的参数数目时。a、没有传递参数。则采用原来设置的默认参数计算。b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。2、函数名称不区分大小写。3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数
13、起名时要注意。返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指定为其中一项输出。关于“空”:所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公司 3 年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为“空”。1、“空”与任何数据作计算时,相应计算被取消。例如:7NULL(即“空”)得到的结果为7。2、“空”与任何数据比较大小时,“空”较小。例如:7NULL(即“空”)得到的结果为 1(即条件满足
14、)。这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用 ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。公式编写规则 代码与周期:.可编辑 由于证券市场里的各项数据都与代码、时间密切相关,所以在这里的各项数据都只能用于特定的一类或几类代码及相应的一个或几个周期。(注意:同一个数据项可能适用于多类代码及多个周期,其具体的数值也将不同。)代码的分类:个股(含债券)。沪深指数(仅1A0001(统计上海 A、B股基金)、1A0002(统计上海 A股)、1A0003(统计上海 B股)、399001(统计深圳 A、B股基金)、399002(统计深圳 A股)
15、、399003(统计深圳 B股)六个指数)。期货。周期分类:实时(记录当前传过来的数据)、成交明细(记录每一笔成交的数据)、分时(记录每分钟成交的数据)、分钟 K线(以1 分钟为单位的 K线数据)、日 K线(以 1 个交易日为单位的 K线数据)。注意:一、分时与分钟 K线的区别在于:分钟 K线数据较多,包含了与 K线相关的高、开、低、收、成交次数等数据。二、沪深指数没有成交明细周期的数据。三、适用于分钟 K线、日 K线周期的所有数据,都同时适用于个股与沪深指数,只不过其数据内容不同而已。由于行情数据和财务数据同属于基本数据项,即其数值是主站端直接发过来,所以他们自身并不带周期。而其它计算项,即
16、由客户端编写公式计算得到的数据项都是 带有周期的。也就是说在编写一个公式的时候我们需要确定一个周期(由于分钟 K线、日 K线周期里的各项数据仅有微小差别,所以统称为技术分析周期),并且想 清楚这个公式里调用的各项基本数据在这个周期下的具体含义。以后只有在这个周期下才能调用这个公式。注意:基本数据项自身并不带周期,也就是说编写公式的时候,如果所选用的周期不在此数据项的适用范围内,测试公式的时候系统是不会报错的,但这个数据项的数值将为“空”,即取不到任何数据。注意:所有的基本数据项都可以直接拖到表格里,它将依照表格的代码、周期而显示相应的数值。也都可以直接拖到窗口里作为一个曲线输出,但一般不推荐这
17、样做,如果要画曲线最好新编写一个“曲线公式”。另外,各个数据项用于期货时的意义另文说明。通用数据项:NEW(现价)含义:用于个股时为最近一笔成交的价格。用于沪深指数时为最近一次从交易所传来的指数值。用于:个股的实时、成交明细周期。沪深指数的实时周期。NEWVOL(现手)含义:用于个股时为最近一笔成交的成交量。用于沪深指数时为对应市场的所有股票的最后一笔成交量之和。用于:个股的实时、成交明细周期。沪深指数的实时周期。INVOL(内盘)、OUTVOL(外盘)含义:内盘、外盘(又称为主动性抛盘、主动性买盘)成交量。判断依据为若某笔成交,其价格小于等于前一次传过来的买一的价格,则称为内盘;若其价格大于
18、等 于前一次传过来的卖一的价格,则称为外盘。(注意,内外盘之和一般不等于总成交量)在周期为“实时”、“分时”时,为当日的内、外盘。在周期为“分钟 K线”和“日 K线”时,分别为某一分钟和某一日的内、外盘。用于指数时指所有相应股票的内、外盘之和。用于:个股的实时、分时、分钟 K线、日 K线周期。沪深指数的实时、分时、分钟 K线、日 K线周期。OPEN(开盘)、HIGH(最高)、LOW(最低)含义:在实时周期时,为当日的开盘价、最高价、最低价。在分钟 K线、日 K线周期时,分别为当周期的开盘价、最高价、最低价。用于:个股的实时、分钟 K线、日 K线周期。沪深指数的实时、分钟 K线、日 K线周期。C
19、LOSE(收盘)含义:当周期的收盘价。用于:个股的分钟 K线、日 K线周期。沪深指数的分钟 K线、日 K线周期。PRE(昨收)含义:上一交易日的收盘价。(注意,在分钟K线周期,也是昨日收盘价,而不是上一周期的收盘价。)如果当天有除权,则其值为除权之后的昨日收盘价。例如:某股票昨天收盘20 元,今天除权,10 送 10。则今日 PRE值为 10 元。用于:所有类型、所有周期。MONEY(金额).可编辑 含义:在实时、分时周期时代表当日的成交金额只和。在分钟 K线、日 K线周期时代表那一个周期的成交金额只和。当用于指数时,指此指数所包含所有交易品种成交金额之和。用于:个股的实时、分时、分钟 K线、
20、日 K线周期。沪深指数的实时、分时、分钟 K线、日 K线周期。VOL(总手)含义:在实时、分时、成交明细周期时代表当日的成交量只和。在分钟K线、日 K线周期时代表那一个周期的成交量只和。当用于指数时,指此指数所包含所有交易品种成交量之和。用于:个股的实时、分时、成交明细、分钟K线、日 K线周期。沪深指数的实时、分时、分钟K线、日 K线周期。(注意,VOL与MONEY 相比多了一个成交明细周期。)OPENVOL(开盘量)含义:开盘时第一笔成交的成交量。当用于指数时,指此指数所包含所有交易品种开盘集合竞价成交量之和。用于:个股的实时、日 K线周期。沪深指数的实时、日 K线周期。ZQMC(名称)、C
21、ODE&TYPE(代码)含义:证券的名称、代码。用于:个股的所有周期。沪深指数的所有周期。DATETIME(时间)含义:显示时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。用于:个股、沪深指数所有的周期。VALIDBEGIN(起始)、VALIDEND(终止)含义:区间统计的起始、终止时间。当用于不同周期的时候,系统会自动传送相应的时间类型。而具体的显示方案则在“窗口属性”的“时间坐标”项里的“时间格式”一栏里选择。与 DATETIME(时间)的用法类似。用于:个股、沪深指数所有的周期。仅用于个股的数据项:FI
22、VEDAYVOL(五日总量)含义:过去五日各交易成交量之和。用于:个股的所有的周期。(主要用来计算量比)BUYPRICE1(买一)、BUYPRICE2(买二)、BUYPRICE3(买三)、SELLPRICE1(卖一)、SELLPRICE2(卖二)、SELLPRICE3(卖三)、BUYCOUNT1(买一量)、BUYCOUNT2(买二量)、BUYCOUNT3(买三量)、SELLCOUNT1(卖 一量)、SELLCOUNT2(卖二量)、SELLCOUNT3(卖三量)含义:委托买入、卖出价格一、二、三及对应的委托数量。用于:个股的实时周期。VOLAMOUNT(成交次数)含义:在周期为“实时”时,为当日
23、的成交次数。在周期为“分钟 K线”和“日 K线”时,分别为某一分钟和某一日的成交次数。用于:个股的实时、分钟 K线、日 K线周期。VOLCLASS(成交量分类)含义:其数值与该笔成交的价位关系为:“3”为“成交价=买三价”,“2”为“买三价成交价=买二价”,“1”为“买二价<成交价=买一价”,“0”为“买一价成交价卖一价”,“5”为“卖一价=成交价卖二价”,“6”为“卖二 价=成交价卖三价”,“5”为“卖三价、=、1 的逻辑运算结果等于 1,12 的逻辑运算结果就等于 0。语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,
24、而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号(“:”)将它与语句隔开。语句“上日收盘价:REF(close,1)”就表示该语句 REF(close,1)的名称为“上日收盘价”。该语句后而的语句若需引用它,则写公式名即可,如 MA(上日收盘价,20)意思是对上日收盘价求 20 日平均。设计中间语句:一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一般语句的名称与语句之间的等号,即“=”即可(亦可用通用的冒号加等于号“:”)。例如,语句“上日收盘价=RE
25、F(close,1)”就表示该语句为中间语句。重复使用的语句也可以定义成中间语句。设计其他公式语句:其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示(用:表达),五彩 K线公式显示的是 K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0 时表示不需要进行相应的操作,当返回非0 时表示需要进行相应的操作。其他的语句都应设定为中间语句。条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE REF(close,1)语句,表示选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 同花顺 公式 大全 经典
限制150内