神奇指标网

股票指标公式编写教程大全 (选股公式编写入门)

浏览 525次浏览
标签: 选股
来源:神奇指标网 编辑:神奇指标网 发布日期:2023-06-15

    今天尝试写股票指标编写的第一篇教程,除特殊情况外,指标编写以通达信软件为平台(我本人只会写通达信软件指标,见谅!),因为该软件的函数相对容易理解,界面也更为简洁。我们就直接开始正文内容:

    在编写指标的过程中,首先第一步是认识价格,最简单的是开盘价、收盘价、最高价、最低价,这几个价格在编程中如何描述?

    收盘价:CLOSE,英文单词关,关和收盘,理解起来不难,简写C;

    开盘价:OPEN,英文单词开,开和开盘,更容易理解,简写O;

    当天最高价:HIGH,英文单词高,高和最高价,也相对应,简写H;

    当天最低价:LOW,英文单词低,低和最低价,也是对应的,简写L。

    现在我们用这几个英文单词来编指标,我们新建一个副图指标,通达信-功能-公式系统-公式管理器,在这个栏目里面,我们主要用到技术指标公式和条件选股公式两项,这两项在编写过程中规则所有不同,这个我们后面再讲,今天我们就从技术指标公式开始,我们点击趋势型--然后新建,如下图:

    或者键盘直接“Ctrl+F”快捷键

    其实选择什么类型是次要的,主要是给指标分类,便于自己识别和查找,比如指标个数比较多,想要修改一个指标的时候,我们不知道把它放在哪里了,所以清晰的分类,便于后期快速的查找。点击新建之后,就跳出了以下的界面了。

    大家看图,跟着我标注的箭头顺序,我们看到了几个选项:

    画图方法:上面显示的是副图,就是说我们现在编的这个指标,是用于副图区的,如果想用在主图里,可以点击下拉框,里面可以选择主图叠加或者主图替换,新版本的通达信里面,还有副图(叠加K线),具体什么意思,我们可以一会逐个来测试。我们首先用副图。

    公式类型:显示的是趋势型,这是因为我们刚才选择了趋势型,如果选了另外的类别,这里就显示相应的类型了。

    公式名称:就是我们给公式取个名字,可以是英文或者中文,一般建议取名称的拼音首字母,这个有利于后期切换公式,比如今天我们编个价格均线的指标,那么取名JGJX是比较合适的,就是价格均线这四个字的英文首字母。

    公式描述:就是标注这个公式是干什么用的,可以选填,建议填写,至少让自己知道,这个公式是干什么用的,不然后面只凭几个字母,就想不起来公式是干什么用的,只好去看代码的意思了。

    参数区:参数区的意思是,有些指标,是可以动态调节参数的,那么参数就在这里设置,我后面的教程中会演示,一般情况下,参数直接可以在下面的代码区进行指定赋值。

    代码区:就是编写指标的地方。

    那么现在我们把上面的四个英文单词复制到代码区,注意,每一句代码后面,都要加上英文状态下的分号。

    我输了四个单词进去,我们在最下方的动态翻译区,看到了这四个单词的翻译,分别是收盘价,开盘价,最高价,最低价,这个区域,会对我们输入的代码进行动态翻译,而且我们看到换了行,那么如果我在代码区,没有加分号会怎么样?

    我们发现没有了分号之后,动态翻译区,就没有办法翻译了,也说明哪怕代码已经是手动换了行,翻译区仍然认为它们是连在一起的,那如果我们把分号改为逗号会怎么样?注意,符号都是英文状态的,中文符号不能识别。

    我们可以看到,改成逗号之后,动态翻译区正确识别了代码,但是虽然代码区是换行的,然而翻译区是同一行,说明,我们在编写指示时,一句代码结束用分号来界定,如果没有分号,系统认为这一句代码没有结束。我们把他们全部撤回到分号的状态,然后点击右上方的确定。

    这个编写指标的对话框就关闭了,回到了公式管理器的界面,我们点击用户,用户的意思,就是不是软件自带的指标,是用户自己编写的指标,然后双击点开趋势型,里面就多出了一个我们刚刚编写的指标,如果我们想要修改,就点中这个指标,然后点击新建下面的修改按钮,就再次打开编写指标的对话框,进行代码的修改,如果指标已经编写完成,那么直接点关闭即可。此时我们打开股票分析图,点击副图区域,在键盘上输入刚才的指标名称,即JGJX,我们看到了什么界面?系统自己匹配了刚才我们编写的指标。

    此时按回车,我们编的这个价格均线指标就显示在了副图上,注意,副图区域窗口是可以增加的,我们想把这个指标放在哪个窗口,就在哪个窗口上用鼠标点一下,然后输入字母JGJX。如下图:

    我们是不是看到了刚才编写的指标显示在了上面?指标显示的是4条曲线,那么这四条曲线是什么意思?

    收盘价,把每天的收盘价,那些点连起来,形成了收盘价曲线,如果我代码里,只留下了:

    CLOSE;

    那么指标中,只会显示一条线,就收盘价线,我们在上面的代码区,输入了四句代码:

    CLOSE;

    OPEN;

    HIGH;

    LOW;

    所以它显示了四条曲线,分别表示收盘线,开盘线,最高价线,最低价线,那么这四条线有什么样的用途?如果收盘价线和开盘价线间距比较大,说明当天涨跌幅较大,反之,涨跌幅较小;如果最高价线和最低价线间距比较大,说明当天的振幅比较大,反之振幅比较小,通过观察收盘线,也可以看出股价的收盘价是否创新高或者创新低。如果把上述代码改为:

    C;

    O;

    H;

    L;

    简写输出的结果也是一样的。

    从上面编写指标的过程中,我们可以发现,我们输入的每一句代码,其实系统是从每个交易日的数据里面去查找的,找到了这个数据,就在指标上的价格上标注一个点,然后把所有的点连起来,就变成了一条曲线。

    可以打个比方:随着我们年龄的增长,我们的体重会发生变化,那么年龄就是横轴,而体重是纵轴,每隔一天,把体重数据在坐标上标记出来,然后把这些点连起来,就变成了体重曲线,另外我们常见的炒股收益曲线,其实也是这个意思。

 选股,每个人都有不同的方法,对于技术派来说,没有趁手的选股公式指标实在是太麻烦了,比如想选出最近7天内曾出现过涨停的或者昨天跌幅超过5个点今日涨幅超过五个点的股票....,没有选股公式就只能手动一只一只股票翻,实在是费心费力。学习编辑公式,就可以解决你这一个问题。

    【HHV((C-REF(C,1))/REF(C,1)>0.095,7);】这是一个7天内出现过涨停的选股公式,只要添加到支持自编指标的软件里,就可以智能选股,是不是很爽?但貌似看起来很复杂,没有基础的股民看着这一串英文符号会觉得头晕一点学习的欲望都没有,坡心哥也曾有这样的想法,实际上并没有那么难,我们先从简单的学起:

    编辑选股公式,就是把你的想法通过函数表达给电脑软件,让电脑能够“听得懂”。比如我现在想写一个公式选出今天收盘是涨的股票,需要给电脑表达的意思是:

    收盘价大于开盘价的股票。当然电脑听不懂中文,我们要把它转变成函数:收盘价在行情软件里表达为"close",开盘价表达为"open",大于就是">",那么收盘价大于开盘价=close>open;末尾的“;”分号是作为一个条件的结束标志。

    编写公式的第一个基础就是,你要懂得各种指标在软件里怎么用函数表达。基本每一个有自编指标功能的软件都有一个表格的,在上面按需求使用就可以。刚开始不用背下来,不会的时候去查表,或者百度查,用多了就记得了。不同的软件函数表达可能有点偏差,以你使用的为主即可。

    介绍几个可能经常用到的函数:

    【“REF”引用若干周期前的数据。

    用法:

    REF(X,N),引用N周期前的X值。

    例如:REF(CLOSE,1)表示上一周期的收盘价,在日线就代表昨天的收盘价。】

    【“and”使两个条件并列

    例如:今天上涨昨天也上涨的股票;

    函数表达close>openandref(close,1)>ref(close,1);】(能够看得懂了吗?)

    【"COUNT"统计满足条件的周期数。

    用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。

    例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数。】

    【“MA”简单移动平均

    返回简单移动平均。用法: MA(X,M)X的M日简单移动平均。

    例如:MA(CLOSE,5);收盘价的五日平均,五日均线。】

    函数之间的数学关系同样可以用+-*/等表示。

    如果你理解了上面这些函数,接下来尝试表达一下用公式表达这个逻辑:昨天跌幅超过5个点今日涨幅超过五个点的股票。

    第一:今天上涨幅度超过五个点怎么表达?

    首先你得知道计算逻辑,今天收盘价大于昨天的收盘价为上涨。今天收盘价11块-昨天收盘价10块=1块,这是今天上涨的数值。今天上涨的值1块/昨天收盘价10块=0.1(10%),这就是今天上涨的百分比。你的每一个想法,都应该转换成这种简单的计算逻辑,这样才能方便用函数表达。

    这个问题的计算逻辑是((今天收盘价-昨天的收盘价)/昨天的收盘价)>0.05;只要你分别懂得-今天收盘价=close,昨天的收盘价=ref(close,1),是不是就可以转换成函数:((close-ref(close,1))/ref(close,1))>0.05;

    第二:昨天下跌幅度超过五个点怎么表达?

    中文计算逻辑我就不打出来了,跟上面是一样的道理,我直接写出来:(REF(close,1)-REF(close,2))/REF(close,2)<-0.05;中文表达:(昨天的收盘价-前天的收盘价)/前天的收盘价<负0.05;

    最后再用“and”把这两个条件串联起来:(REF(c,1)-REF(c,2))/REF(c,2)<-0.05and(c-REF(c,1))/REF(c,1)>0.05;这个就是最终的函数公式了,添加到软件里就可以直接选出昨天跌幅超过5个点今日涨幅超过5个点的股票了。

      image.png

神奇指标网(https://www.shenqizhibiao.com/)所有指标公式及文章来源于网络仅供学习研究

神奇指标收藏 收藏
神奇指标分享 分享

网友评论

已有0人评论

清除 发表评论