分享

同花顺公式编写 - 作文 - 同花顺博客

 昵称5271650 2011-01-25
同花顺公式编写

公式的编写,并不是人人都去编写公式,当然自己根据经验编写一下也不是不可。但是现有的公式是怎样编写的,要清楚,这样你才知道这个公式的可信度究竟有多大。盲目的说这个指标如何,那个指标如何,知其然不知其所以然。学过初等数学的都知道:方程与曲线的关系,这里是借用这句话。各种技术指标,就是对过去的一个统计,只能说明现状。那些神神秘秘的所谓划线高手,其实是一瓶子不满,半瓶子晃荡。不要叫那些人唬住,几十种指标所涉及的数学知识严格点说,就是小学的知识。当然编辑公式时会涉及高一些的数学知识。

第一课 编写公式和用公式选股

一、导 文
做股票的朋友在选择股票的时候,往往会有很多想法,如:盘子(流通股)太大的不想要,股价在60日均线下运行的股票不想要。或者是有一些好的经验,如移动平均线刚刚多头排列的股票,这样的股票也叫黑马抬头。现在在A市上市的股票差不多有两千个了,而且还在一天比一天多。弱水三千只取一瓢饮,股票众多做好一个就行。如何才能选出来我们想要的股票来呢?这就是我们将要学习的做一个股票操作高手必备的内容:公式的编写与应用。
二、公式编写
我们一边做公式一边讲解吧。
上面刚刚提到的三个问题,假设我们要选出流通盘在2亿股以下,股价在60日移动平均线上运行的股票。我们先用语句描述出来即为:“SHGZG〈200000000 and c > ma(c,60)这样就行了。其中:“SHGZG”为“上市流通股”的函数,“C”为“CLOSE”收盘价函数的缩写。上面的语句的意思即为“上市流通股小于2亿股同时收盘价在60日移动平均线之上”。大家看看多简单。
现在,对没用过公式来找股票的朋友是不是有个这样的想法。编公式的事先放到后面慢慢学,我先学会怎么样用现成的公式吧。那好吧,跟我操作。
请打开行情软件(蓝本为同花顺软件),按“CTRL+F”或者点菜单选项“工具”,“公式管理”,会出现下面的介面。






接下来点条件选股后,点确定。
于是出现了公式编辑器
我们把刚刚上面的语句给复制到大空白区(编辑区),在名称里填上“公式学习1”,描述那里填上“流通股和均线选股”,然后点“测试公式”,画面显示“编译测试成功”,表示我们做的这个公式就已经通过测试了。然后点右上角的“确定”吧。如果再出现个小窗口提示你公式已经保存到哪里,直接点“确认”就行了。
三、公式选股
没用过公式选股票的朋友现在是不是有点跃跃欲试的感觉了,我们继续做下一个步骤:“用公式来选股”。跟我做。
点菜单选项上的“智能”,“选股平台”(注意不要点到“智能选股”哦)。然后出现下面的界面。
在“条件选股”,“自定选股”那里面找到我们刚刚编写的“公式学习1”这个公式,在“精确复权”前面的那个小圈圈里点选上,然后点“执行选股”,现在发生了什么奇迹了呢?大家一起看吧。
目前两市1852个股票,符合“上市流通股在2亿股以下,收盘价在60日移动平均线之上运行”这两个条件的股票却只有113个。这下大家可以看到公式的魅力了吧?
这第一节课告诉了大家怎么样使用公式编辑器编写公式和用公式来选股。在操作中大家或许还有很多看不懂的地方,以后慢慢一起学吧!


 

 
同花顺公式编写第二课:公式编辑器的内容与作用

公式编写课程
第二课 公式编辑器
首先说明一下,因为市场上的各种行情软件版本有所不同,所以会出现不兼容的情况。我们的学习以同花顺为蓝本,大家可以去下载一个免费的同花顺行情软件来学习。
第一课我们学习了怎么样编写一个公式和用公式来选出自己想要的股票,很多朋友都学会了上节课的内容。也越来越对学习公式有兴趣了,但是接下来就大家接二连三的提出了更多的疑问了:“怎么我的测试不通过?怎么显示的语句错误?那个说明怎么样用?”别急吧,一口气吃不成胖子,大家慢慢一起学。这节课我们着重介绍一下“公式编辑器”。
公式编辑器的界面如下:
下面逐一介绍:
(1)名称栏:填写你所编的公式的名称,注意必须得填而且不能与现有的软件里的公式重命。
(2)描述栏:简单描述一下公式的内容。
(3)参数栏:这里用来设置公式里需要的参数。规定参数的最大值,最小值和默认值。参数是指公式里多个地方需要用到的而且可以按自己需要来配置的数值名称。如:经常用的“N”,“M”等。
(4)公式编写区:这里是公式编辑器的核心区域。。我们把要让电脑执行的各种命令都按顺序放在这里。彩色编辑器的意思是指当我们输入各种函数或者数值如果正确的话,系统会自动的用各种颜色表达出来。
(5)密码:有的朋友为了想保护自己的劳动成果,在这里就可以给公式设置密码,这样的话别人就会查看不到你所写的公式的源文件,当然也修改不了。
(6)曲线属性:此栏较重要,可调整指标的显示区域(是在主图显示还是副图),曲线特征,名称,参数的显示与否,参数的显示单位等。
(7) 系统提示信息栏:这里提示在测试公式后的系统信息,如编辑测试通过或者是指出哪里出了错误。
(8) 测试公式按钮:编辑完了公式后用这个测试一下有没有语法错误。
(9)  显示图形:
(10)恢复默认:有系统自带的公式在被修改以后,可以点这个按钮恢复。
(11) 标志设置:有的时候想在画图上显示自己的独有的信息,可以到这里设置,这也是各个指标差异化显示的关键内容。
(12)用法说明:可以用较大的篇幅来说明一下公式的用途和用法。
(13)参数精灵:在有公式需要设置参数的时候,点这里可以很好的设置提示信息。
(14)  引入公式:想利用系统里已经存在的公式的时候可以点这里引入公式。
(15) 确定:当编辑好了公式之后,可以点这里保存到原来设定的位置。
(16)取消:点这里将不做任何保留退出公式编辑。
(17)插入函数:在公式里需要函数的时候,如果有不记得的,可以点这里很容易找到相关的函数。
(18)适用周期一:这里的选项有:全部周期,财务计算,实时数据,成交明细,分时走势,技术分析。
(19)适用周期二:这里是选择K线的分析周期的。有1分钟、5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线。
好吧,公式编辑器介绍完了,大家还是动动手练习一下吧。跟我做。
第一课我们学习了一个公式,就是:假设我们要选出流通盘在2亿股以下,股价在60日移动平均线上运行的股票。我们这节课还是以这个选股思想为内容,来学习新的编辑器的用法。我们把上面的条件改成如下:假设我们要编一个公式,选出自己可以在流通盘和移动平均线两个指标里随时自定义范围的股票。步骤如下:
第一步 填内容、描述和参数
照样打开公式编辑器,我们选来设定名称和描述栏,还有参数吧。这里我们设置三个参数。LT1,LT2代表流通股的上限和下限,JX代表移动平均线的周期。注意把最大和默认的数值要填好哦。
 
第二步 插入函数和录入内容
我们来使用一下插入函数的这个按钮吧。点击:“插入函数”,找到:“股本结构”,“流通股”,然后点“确定”。
下面再看看编辑区,这个函数名是不是自动跳到编辑区来了?按照下面的内容依次录入吧。那个:LT1*10000的意思就是参数LT1乘以10000了。
 

第三步  输入用法说明
点击:“用法说明”按钮,出现下面的窗口。在里面录入相关内容后点确定。这个说明的意思是以后我们再来看这个公式时知道它是用来做什么的。
 

第四步 使用“参数精灵”
点击“参数精灵”窗口,出现如下画面:
注意“Param#1”这个代码是点击左下角的插入参数按钮后可以自动跳进去的哦,在它的前面和后面要留有空格。
 

输入完上面的内容后点确定,点“测试公式”按钮,在系统信息栏显示“编译测试成功”。点右上角的“确定”按钮,我们这堂课的公式就编辑完毕了!
最后让我们来享受一下劳动成果吧。点菜单栏的:“智能”,“选股平台”,“条件选股”,“自定选股”“智能选股”,再找到我们刚刚编写的公式“流通股和均线选股”,看看选股界面上的右上边是不是出现了我们用“参数精灵”录进去的内容?在这里你可以修改参数的数值,点击“执行选股”吧,选股后的画面如下:
 

嘿嘿,选出了39个股票今天,也就是说今天市场上符合我们的条件的股票有39个。大家也可以把那个参数改变一下多用用。不要忘记了本课的内容哦,以后不再重复。

公式编写第三课:主图、副图和分时图

公式编写与应用第三课
主图,副图,分时图
要想学好公式,还得先来熟悉一下我们所使用的软件。我们平时做股票看盘在行情软件中主要看什么呢?综合起来也就是三个图:主图,副图,和分时图。下面分别介绍。
一、主图


跟着上面的数字编号一个一个来吧。
1、主图显示区。这里用来大篇幅的显示K线、均线等我们需要的东西。
2、副图显示区。也叫指标区,这里用来显示各种指标。副图区的同步显示指标数量可以自己调节。在这个页面“右击鼠标”,“窗口组合”,然后会显示几个窗口的,大家可以试一下。也可以用快捷键“ALT+N”,N是1,2,3,4,等。
3、数值显示区。这里用来显示公式中指定的项目的数据。以方便大家准确的参考。
4、图形显示区。用来显示公式里的图形输出项目。如K线图、柱状图、线型图等。
5、除权信息显示。这里会显示当前股票的除权信息,光标移到这里的图标上的时候会显示出相关的信息。
6、指标选项。有的朋友会用很多指标来分析股票,窗口只有这么大怎么办,这里就给排出来了,大家点击的时候可以一个一个的看。这些指标显示都可以自定义的。
一、副图
还是如上图,副图最上面的一排为默认的成交量。这个区域用来放置各种指标。
二、分时图
见下图:


 
1、数值显示区。用来显示分时图上的数据。
2、图形显示区。显示实时的股价实时走势。
3、指标图形显示区。用来显示指标的各种图形。
4、指标选项区。同样可以自己按照意愿选择指标。
一、托盘显示区


 
这里显示一个股票的最新的五个档位的托盘。
股价的每一笔成交单都会引起各种数据的随动。主图,副图,分时图和托盘等综合起来就叫盘口。我们平时说的看盘口就是看这些地方的变动情况。
说说又手痒了是不?我们实践一下吧。看看怎么样自己写一个指标公式。大家一起来。
点“工具”,“公式管理”,“新建公式”,选“技术指标”然后确定。我们调出来公式编辑器,并且设定了我们要编一个“技术指标”的公式。
再点“引入公式”,“技术指标”“MACD”,然后MACD的指标公式就被调到我们的编辑区来了。我们把默认值改一下吧,以示区别。改为8,22,7。修改好了以后图面显示如下:


注意名称哦。 要自己记得,这是我们自己编写的公式了,不是系统自带的。测试通过后点“确定”保存。然后再回到主图页面,我们在指标选项区选一个不想要的指标,用自己刚刚编的指标放在这儿。点击那个不想要的指标,然后在左边的技术指标选项里到到我们刚刚编写的“试用指标MACD”,双击就OK了。看看现在是不是我们亲手编写的指标显示出来了?


本课时我们学习了主图,副图和分时图以及托盘。这些都是最基础的,希望各位朋友能认真的领会。后面内容更精彩,期待下一课吧。
还有点啊,看完后记得跟一下帖哦,看我这么辛苦的份上!

公式编写第四课

公式编写规则
我们要给电脑下的命令集合就是公式。话说没有规矩不成方圆,万事万物都是一样。那么这些公式的编写规则又是怎么样的呢?这一节课我们就解决这个问题。
一、我们先来了解一下语言规范。
我们来看看上面的这些。逐一的说一下。
1、 关键字。这些关键字在语句编写过程中经常起到承上启下的作用。注意两点:一是不能用全角状态输入,全角字符和半角字符在电脑里算是两家人(在所有的编写公式的字母都是半角,切记!)。二是字母没有大小写之分。
2、 常数。包括:浮点数(简单理解一下吧,就是带小数的数值,如:12.345),整数(同前面就是没小数的数值)和字符串(字符串是一个可以另外定义各种属性的命令的名称)。
3、 分隔符。
双引号(“”) 是用来表示引号里面放的是字符串。
单引号(‘’) 是表示里面放的是字符,是直接输出所看到的内容。
小括号(()) 是用来控制运算的优先级别的。
中括号([]) 里面放的是数值。
大括号({}) 是语句嵌套专用的。
注 释(/**/) 注释的语句不参与运算,只是为了方便阅读各语句的内容。
4、 标识符。由字母和数字组成。也可以用汉字,字母不分大小写。
5、 运算符。数值运算同四则运算一样,先乘除,后加减。下面是几种逻辑运算符的表示方法。
a==b 为判断a是否等于b,等于的话输出值为1,不等于输出值为0;
a!=b 为判断a是否不等于b,不等于的话输出值为1,等于输出值为0;
a>b    为判断A是否大于b,大于的话输出值为1,不大于输出值为0;
a  

为判断A是否小于b,小于的话输出值为1,大于输出值为0;

a>=b  为判断A是否大于或者等于b,大于或者等于的话输出值为1,否则为0;
a<=b  为判断a是否小于或者等于b,小于或者等于的话输出值为1,否则为0;
a and b 表示a条件和b条件两者都为真(也就是1),两个条件都符合才行;
a or b 表示a条件和b条件只要有一个条件为真就可以了;
上面的这些运算符的顺序注意按照上图从上到下的顺序哦。还有几个特殊的逻辑运算符,一起介绍一下。
isnull(a) 判断是否为空,表示如果a没有数据则返回值1,否则返回0;
not(a) 这个简单,表示非a,即a为0时返回1,a为1时返回0。
6、语句。语句是公式编写的骨架。
赋值 a=b 把b的值赋给a
条件 if a==b; then c=d; 表示如果a=b 那么就c=d
循环语句 while a=b c=d;也就是当a=b的时候c=d
函数调用 func(a,b) “func”的意思是函数名
二、赋值语句
其一般形式为:
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"yes"
ELSE
B"no"
对于上述情况, 规定: 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="yes"}
ELSE B="no"
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,其参数和内容如下:

函数内容为:
RSV=(CLOSE-LLV(LOWN))/(HHV(HIGHN)-LLV(LOWN))*100
KSMA(RSVM11)
DSMA(KM21)
J3*K-2*D
则当您在其它函数里输入a=KDJ(866)的时候,相当于计算N18M16M26时的J值,并把这个值赋给a
注意:
1、当传递的参数数目不等于被调用函数设置的参数数目时。
a、没有传递参数。则采用原来设置的默认参数计算。
b、传递参数少于被调用函数设置的参数数目。则将参数传过去,依次改变前面同样数目参数的值,后面其它的参数采用原来设置的默认参数计算。
c、传递参数大于被调用函数设置的参数数目。则将参数传过去,依次改变被调用函数的参数值,多余的参数不起作用。
2、函数名称不区分大小写。
3、新建的函数,其函数名可能与其它以存在的函数里面的内部变量重名。这样在调用那个函数时,那个内部变量将变成对这个新建函数的函数调用,从而产生错误。所以,在新建函数起名时要注意。
七、关于的问题
所谓即指没有数据。在某些情况下,一些数据项可能取不到数据,这时返回值为。例如,yearrep(&jlr4),其含义为取该公司3年前年报的净利润。如果某家公司上市时间较短,而无三年前的年报数据,则其值为
1与任何数据作计算时,相应计算被取消。
例如:7×NULL(即)得到的结果为7
2与任何数据比较大小时,较小。
例如:-7>NULL(即)得到的结果为1(即条件满足)。
这样的结果可能与我们原来希望得到的数值不符,如果想避免这种情况可以用ISNULL函数来判断某个数据是否为,。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多