同花顺公式大全附经典公式
更新时间:2023-10-27 13:31:01 阅读量: 综合文库 文档下载
- 同花顺公告推荐度:
- 相关推荐
同花顺公式编辑教程大全
什么是技术指标?
MA均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。 什么是条件选股?
简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有1000多只股票,您就是有100双眼睛有时也不一定可以看得过来,这时电脑就派上用场了! 什么是参数?
比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参
数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。这样我们就可以在1到260之间任意调节M的值了,M最常用的数填在“缺省”一栏,
例如你最喜欢用10日均线,那就填10吧。 什么是周期?
这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢用5分钟的K线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间--就是可以选择不同的周期。 什么是函数?
函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。 例一:
一根K线有四个价格组成: 最高价:HIGH 收盘价:CLOSE 最低价:LOW 开盘价: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就是参数,您现在明白了什么是参数了吗? 例四:
如果我想把两个条件并列在一起怎么办? AND
X AND Y就表示条件X和条件Y 编写一条最简单的指标线
1
通过前面的学习,我们今天开始使用软件的公式编辑功能编写我们自己的第一条指标线。 其实不难,你应该对自己有信心!
按照主菜单-工具-公式管理-选择-“技术指标”-点击“新建”,然后在公式编辑器中留下你的第一行脚印吧! 点击:“确认”,现在看一下我们第一条指标线。 这条指标线与你的想法相符吗? 总结与补充:
1、如果选择:“主图叠加”,我们的指标线会与K线图显示在同一个图形框中,现在我们的指标线显示在其下方,即“副图”中; 2、参数可以有,也可以没有,但是鼓励大家设置参数,这是非常好的习惯; 3、一个句子完了,别忘了以分号结尾;
你的公式写得对不对,可以通过“测试公式”来检查,如果错了,它会告诉你错在哪里。 编写最常用的均量和均价线
均价线,不就是那个“移动平均线MA”什么的吗?不过,话说回来,听说10个人里面有11个人都在使用,我可得学习学习! 原理是??
5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5; 10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10; 150日平均线=(今天收盘价+昨天收盘价+......+150天前的收盘价)/150;
200日平均线......不是这么麻烦吧?难道我每天都要写这么多得数才得到一条平均线???? 你有什么办法?
MA1=MA(CLOSE,5); MA2=MA(CLOSE,10); MA3=MA(CLOSE,50); ......
当然是有简单的方法了!你把我在上面说过的话写下来,按照前面几课讲的,写在公式的编辑栏当中就可以了! 注意:
“MA”表示的就是计算平均值。
在括号内写上计算的对象和计算的时间长度。
MA1,MA2,MA3......是好几条指标线,别忘记了用分号把它们分开。
同花顺公式编写教程
公式编写规则 语言规范:
在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。 关键字
if else while break continue return (无大小写之分) 常数
浮点数、整数、字符串 分隔符
“ ” ? ' ( ) ; { } 注释/* */ 标识符
由字母和数字组成,由字母开头,不分大小写 运算符(优先级从高到低排列,同级同行) * / + -
2
== != > < >= <= 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、条件执行语句中\语句2;\部分是选择项, 可以缺省, 此时条件语句变成: IF(逻辑表达式) 语句1;
3
表示若逻辑表达式的值为非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=\ ELSE B=\
对于上述情况, 规定: 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=\ ELSE B=\
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,其参数和内容如下:
4
参数名 最小值 最大值 默认值 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)的时候,相当于计算N1=8,M1=6,M2=6时的J值,并把这个值赋给a。 注意:
1、当传递的参数数目不等于被调用函数设置的参数数目时。 a、没有传递参数。则采用原来设置的默认参数计算。
b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。
c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。 2、函数名称不区分大小写。
3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。
返回值:自定义公式里面如果有多数据项输出,则调用此函数的时候返回值默认为最后一个输出。如果希望确定某项输出则可用return,或者将函数名指定为其中一项输出。 关于“空”:
所谓“空”即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为“空”。例如,yearrep(&jlr,4),其含义为取该公司3年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为“空”。 1、“空”与任何数据作计算时,相应计算被取消。 例如:7×NULL(即“空”)得到的结果为7。 2、“空”与任何数据比较大小时,“空”较小。
例如:-7>NULL(即“空”)得到的结果为1(即条件满足)。
这样的结果可能与您原来希望得到的数值不符,如果您想避免这种情况可以用ISNULL函数来判断某个数据是否为“空”(相关说明见后面的系统函数说明部分)。 公式编写规则 代码与周期:
5
用法:
HORLINE(COND,PRICE,TYPE,EXTEND),当COND条件满足时,在PRICE位置沿水平方向绘制TYPE类型的线段,TYPE=0表示实线,1表示虚线'---',2表示点线'...',3表示点划线'-.-.-',4表示点点划线'-..-..-'。EXTEND=1 表示向左延长,=2表示向右延长,=3表示左右
由简单的公式编写开始
这里举一些最简单的例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线 CLOSE 均线的画法 计算N日内收盘价的算术平均值,公式为:MA(X,N)表示X的N日平均。 例如: MA1: MA (CLOSE,5) , coloryellow ; 表示为: 参数名 画一条5日收盘价的均线 设置该线为黄色 MA2:MA(C,20),color0000ff(20日收盘价均线,颜色为红色) MA3:MA(c,250),color00ff00(年线,绿色) 均线:MA(c,N);(周期N可设置最大,最小,缺省)
换手率 换手率指当期的成交量占流通股本的比例。
公式: hs:VOL/CAPITAL; VOL为当期成交量,CAPITAL为流通股本。
乖离率 当前股价与均线的偏差的程度 gl:(c-ma(c,20))/ma(c,20)*100;
量比 当期成交量与5日均量的比 lb:vol/ma(vol,5);
涨幅 涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%, 昨日收盘价的公式为:REF(CLOSE,1),
涨幅的公式: (CLOSE-REF(CLOSE,1))/REF(CLOSE,1)
创新高 创新高指当日最高价是最近一段时间的最高价: HIGH=HHV(HIGH,N) 其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。
横盘整理 横盘整理指最近一段时期价格在一定幅度之内摆动: (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05 其中的LLV(X,N)是求N周期内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。
放量、缩量(成交量函数为VOL) A、放量
a.今天成交量较昨天增加了1倍,表示如下: VOL/REF(VOL,1)>2 b.今天成交量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol,10); Vol/a>2 或者直接用如下公式表示: vol/ma(vol,10)>2;
c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a>2; d.今日的成交量超过了整个流通盘的5%,表示如下: vol/capital>0.05;其中capital代表流通盘。
B、缩量
a.今日成交量较昨日减少了一半,表示如下: vol/ref(vol,1)<0.5;
b.今日成交量较10个交易日平均成交量减少一倍,表示如下: a:=ma(vol,10); vol/a<2; 或者直接用如下公式表示: vol/ma(vol,10)<2;
16
c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下: a:=ma(vol,10); b:=ref(a,5); a/b<2; d.今日的成交量低于了整个流通盘的5%,表示如下: vol/capital<0.05;
上涨、下跌
上涨 今天的涨幅达到5%以上,表示如下: close>ref(close,1)>1.05; 5日均价连续上涨,表示如下: a:=ma(close,5); b:=ref(a,1); 下跌 今天的跌幅达到5%以上,表示如下: close/ref(close,1)<0.95; 5日均价连续下跌,表示如下: a:=ma(close,5); b:=ref(a,1); a< b;
描述K线 阳线 close>open; 阴线 close< open; 高开 open>ref(close,1); 低开 open< ref(close,1); 跳空高开(high为最高价) open>ref(high,1); 跳空低开(low为最低价) open< ref(low,1); 引用大盘数据
INDEXDATA(“N”,&X,K) INDEXDATA 求某商品相关的数据 例:INDEXDATA(\沪指N周期最高值 个股于大盘的比较
CLOSE/INDEXDATA(\只于沪指比较 股价在N日线附近--这可是反映股价调整幅度的好公式(选股) a:=MA(C,N); 选股时输入20,30,60可选不同均线附近的股,
ABS(C-a)/C<=0.02; 在某均线的2/100附近的股票。也可根据需要改百分比。
只显示数值不显示曲线 在曲线属性-输出线形的勾去掉,在公式语句使用输出符出“:”
趋势【天】:BARSLAST(MA(C,250) 均线多头排列 a1:=ma(c,5); a2:=ma(c,10); a3:=ma(c,20); a4:=ma(c,30); count(a1>a2 and a2>a3 and a3>a4,3)=3 and close>open; (conut统计满足条件的周期数,5,10,20,30日均线呈多头排列), 均线空头排列 a1:=ma(c,5); a2:=ma(c,10); a3:=ma(c,20); a4:=ma(c,30); count(a1< a2 and a2< a3 and a3< a4,3)=3 and not(close< open); (5,10,20,30日均线呈空头排列)。 均线金叉 a;=ma(c,5); b:=ma(c,10); cross(a,b); (前二句是5、10日均线,cross是交叉函数,cross(a,b)表示5日均线上穿10日均线金叉)。 均线死叉 a;=ma(c,5); b:=ma(c,10); cross(b,a); (前二句是5、10日均线,cross是交叉函数,cross(b,a)表示5日均线下穿10日均线死叉)。 17 均线粘合 ma1:=ma(c,5); ma2:=ma(c,10); ma3:=ma(c,20); p1:=abs(ma1-ma2)+abs(ma2-ma3); p1/c< 2/100 and ma1>ref(ma1,1) and ma2>ref(ma2,1); (前三句是三根均线,p1是第一根均线减第二根均线差的绝对值与第二根均线减第三根均线差的绝对值之和,最后一句是p1与收盘价的比值小于一定比率2%(一般该比率为2%以下,同时前二均线今日比昨日上翘)。 在个股主图叠加(引用大盘数据的)线: (HHV(H,n)-LLV(L,n))/(HHV(INDEXDATA(\*(INDEXDATA(\ 活跃度 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; 字符串函数,用到公式中要取结果为“非”。 获得成交笔数 MAX(0,SUBSAMEDAY(&VOLAMOUNT)) 获得“是否最后周期”ISLATBAR 18 FILTER(条件1 AND 条件2,COUNT(条件1 AND 条件2,0)) 变色柱线(在个股于指数之间画不同颜色的柱线) STICKLINE(个股>指数,个股,指数,4,0),color6666ff; STICKLINE(个股<指数,个股,指数,4,1),color66bb66; 变色曲线(符合条件时改变颜色,下为用于KDJ公式) k:PARTLINE(k,k>d,RGB(255,0,0),k A2:=BARSLAST(REF(CROSS(KDJ.k,KDJ.d),1));引用KDJ公式的K,D并金叉 B2:=REF(C,A2+1)>C AND REF(KDJ.k,A2+1) 在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。 关键字 if else while break continue return (无大小写之分) 常数 浮点数、整数、字符串 分隔符 “ ” ‘ ’ ( ) ; { } 注释/* */ 标识符 由字母和数字组成,由字母开头,不分大小写 运算符(优先级从高到低排列,同级同行) * / + - != > < >= <= And Or 语句 赋值 a = b 条件 IF (a==b) c=d; 循环 while a==b c=d; 函数调用 func(a,b) 赋值语句: 其一般形式为: a=b; 含义为将b的值付给a。 几个运算符“=”赋值、 “:=” 赋值“:”赋值并输出数值或字符串“:>”赋值并输出图形。 注意:“=”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。 网上搜集的公式 请问怎样用公式表示年线摆脱下降趋势出现向上拐头? COUNT(MA(C,250)>REF(MA(C,250),1),3)=3 如果想显示年线向上的天数时(本人的指标): 趋势:BARSLAST(MA(C,250)<=REF(MA(C,250),1))/10,colorwhite;(注:显示天数和斜直线,由于天数太长时,如大牛股,可能长达400天,斜直线垂直高度太高,故用1/10。亦可不显示斜直线,在“曲线属性”内设置,只显示天数)。 怎么定义一阳线紧跟两阴线的函数?
正在阅读:
同花顺公式大全附经典公式10-27
2017教师党员心得体会(4篇)05-09
2021年中药饮片行业市场调研分析报告04-26
物流出纳工作总结10-31
包包画册设计欣赏精选08-15
组网课程设计 - 图文03-27
村集体会计试题06-07
灰色理论建模(2008讲义)10-08
庆祝八一建军节活动心得与总结03-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 花顺
- 公式
- 经典
- 大全