分享

通达信编程基础知识(1)

 火圭 2023-06-11 发布于陕西

我不是程序员,也不懂编程。

前段时间,有位朋友花了几块钱在网上买了一个尾盘选股法,类似的广告,大家应该也看过。

朋友用这个选股法选了几只股票,结果也不管用,有涨有跌,和赌场猜大小也没啥区别。

他就把这个源代码发给了我,我一看挺简单,就算是我这样不会编程的人都是一学就会。

前几天,又有人让我帮他编个OBV的选股程序,于是我就给他写了一个。

通达信编程选股首先要列出你对股票都有哪些具体的要求,这个要求必须是量化的,可以用数字表达出来,不能含糊其辞。

看看这位朋友对股票的要求:

一,股价持续下跌两个月以上,OBV值一直在均线下方运行。

这个要求很难用数字表达,因为他是要求股价下跌两个月以上,也就是说下跌两个月、三个月甚至半年都行。

这样模糊的表述,是很难编程的,因此我们先放弃这个标准,不考虑在编程的范围之内。

二,五天前,OBV指标刚刚上穿均线。

这就是一个非常具体的数字,可以编程。

上穿均线用的函数是CROSS。

CROSS(C,MA(C,30))这个代码的意思就是股价上穿30日均线。

N天前的价格用REF这个函数。

比如说REF(c,5)就代表五天之前的股价;REF(c,6)代表六天前的股价;

两者相结合ref(c,5)/ref(c,6)>=1.0995,就代表五天之前涨停板的股票。

你可不要小看了这个公式,如果玩打板战法,又做的是N型板的话,用到的就是这个公式,只不过要稍微修改一下参数,这样一键选出满足条件的股票,而不用天天去看涨停板,节省了大量的时间。

用CROSS和REF这两个函数,再把股价改成OBV值,这样就写出了五天前,OBV上穿均线的源代码。

三,要求OBV值连续五日站在均线之上。

这里用到的函数是EVERY,它是一个统计函数,翻译成中文是“每个”的意思,在通达信编程语言中,EVERY函数的含义是“一直存在”。

用法如下:EVERY(X,N) ,表示N周期内一直存在X条件。

举个例子:EVERY(C>O,3),这个代码的意思就是股价连续三天上涨。

C代表收盘价,O代表开盘价。

C>O就是指定的条件:收盘价大于开盘价,3代表连续3天。

连续三天收盘价大于开盘价,这么就意味着连续三天上涨,是三连阳的形态。

同样一个意思,有几种表述方法。

三连阳的形态还可以写成这样的公式:EVERY(C>REF(C,1),3);

REF(C,1)表示一天前的收盘价,C>REF(C,1),则表示今天的收盘价大于昨天的收盘价;3代表连续三天。

今天先写到这里,因为我也不懂编程,也就是这半个月的时间里,刚刚学习,边学边用。

这几天写的就是学习日记。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多