如何快速学会通达信编程
在私下交流中,感到有不少朋友完全不懂通达信编程,然而又很想学,甚至发誓今年一定要学会,结果呢,一年过去了,还是老样子。
并不是我站着说话不腰疼,打心眼里讲,通达信这样子的编程并不是一件很难的事,难的是你心里那道坎,不够坚决,不够真切。
今天我来尝试着讲讲如何入门,如果讲完以后你还是一头雾水,那么估计是真的不行了,早点断了这念头算逑。
首先通达信编程语句有两种关键句式,一种是赋值,一种是输出。那么什么是赋值,什么是输出呢?
直白地讲,赋值语句只是单纯地表达一个公式,而输出语句则能够把公式计算结果在主图或者副图中显示出来。比如:
BR:=(H-C)/C;这是一个赋值语句。
BR: (H-C)/C;这是一个输出语句。
两者有什么区别吗?仔细看一下吧,赋值语句有=号,而输出语句没有=号,就这么简单。所以,你解读一段程序时,只要看到这种没=号的语句,就是一个能在主图或者副图中显示曲线或者符号图标的关键表达式。同样,如果在输出语句中添加了=号,变成赋值语句,那么原本显示的曲线就会消失。
然后,再留意一下,这两个句式都用冒号开始,最后都用分号结束,这个就是通达信编程基本句法,必须理解,必须记住。
再回顾一下上面两个例句中,冒号:等号= 分号; 这三个符号的位置,后面还会提到逗号的位置,这就是句法的全部,掌握住以后就可以开工了。
那么开工了以后怎么干呢,有人就疑惑,那么长一篇程序中,那些花里胡哨的英文单词都是什么意思,从哪里来的。好的,其实这个也不难,这个就是我们常听说的函数,什么是函数,函数就是加减乘除这些东西,就是计算。这部分需要有初中文化水平。
通达信的所有函数都在公式管理器里面,如下图所指,你只要点进去,全部都有,读书好的人只需要一个小时就能全部读通,脑子笨点的或许需要两三周,但不至于完全读不懂,只要你初中数学和英语都还能考个30分,就问题不大:
好,现在我们就用上面函数表中的均值函数来求5天的平均收盘价,用它编程就是这样:
MA5:=MA(CLOSE,5);
MA5就是我们要计算的一个值,这个你可以随便起名字,比如你也可以用汉字直接表达:
5天平均收盘价:=MA(CLOSE,5);
这个公式和上面那个本质是完全一样的,只是起头的名字不同而已,不碍事,后面的计算都是MA(CLOSE,5); 所以最后计算得到的数值不会有任何差异。
CLOSE是什么?你返回到函数表中查查,属于序列行情函数,也可以简写成C,函数的名字是固定的,凡是函数表中固定的东西,都只能规规矩矩照着写。
总之,你想要流畅地工作,就必须熟悉这张函数表,也不需要一次性背熟,先把常见的记住就行了,复杂的函数等到想要用的时候再去查找就可以了。
好,接着我们想把上面这个计算值显示在主图指标上,怎么弄?很简单,先把上面赋值语句中的=号去掉,变成输出语句,然后在右上角画线方式中设置成主图叠加就可以了:
MA5:MA(CLOSE,5);
又有人问,线条颜色是怎么换的。这个也很简单,只需要在句子后面再添加一个颜色表达即可,怎么加,请看下图:
在调色板中,随便你选什么颜色,还可以自定义颜色。
注意,语句上要用逗号分隔,如下:
还有人问,小黄人是怎么加上去的。这个也简单,用DRAWICON函数写一语句,然后也是通过插入资源方式添加小黄人符号:
至于DRAWICON函数是个啥,怎么用,怎么写语句,那就麻烦你再进去函数表查一下,仔细读读,咂摸咂摸。
就是这样,如果你想熟练书写程序,那就要反复去阅读函数表,至少刚开始是这样的,直到你闭着眼睛都能写出所有函数,那么很显然你已经成为高手了。
最后,大家必须明白,会写语句只是说明你掌握了语言,但要写出高质量的程序,最重要的是你头脑中的思维和思想,你的认知深度和模式构建能力才是决定你软件水平的最终力量。