通达信使用Talib股票技术分析库的九种均线
Talib是一款功能强大的技术分析指标第三方包,由Mario Fortier在年上传。信数
TA-lib库内含大部分主流技术指标,式源数组使用者无需重复造轮子。码通该库在国外广泛使用,达信许多大型开源量化框架都内置了此库。通达教育源码网站
尽管Talib库名气很大,信数但并非计算速度最快的式源数组。C语言开源技术分析库在速度上可能更快。码通Talib库流行的达信原因可能是:一是其较早出现,占据了先机;二是通达其C代码组织架构良好,调用清晰。信数
尽管网上普遍使用Python包,式源数组qdraw源码解析但其底层框架是码通用C语言构建。
Talib库是达信用C语言编写的,不涉及C++,主要由函数调用组成,逻辑关系简单。
以下以Talib库的均线为例,讲解如何在通达信中使用talib库的均线,以及了解Talib库的函数体系。
TAlib库的均线函数定义如下:TA_MAType类型的变量optInMAType定义了待求解的均线类型。
各函数的参数意义易于理解,主要是输入数据数组以及数组的起始和结束下标,然后输出到outReal数组,easyui源码pdf以及对应的输出数组的起始和结束下标。
那么,optInMAType参数是什么?它定义了待计算的均线类型。
如何定义该均线类型?查询ta_defs.h头文件。
显然,根据定义,Talib库包含了9种不同的均线:T3 Triple Exponential Moving Average (T3)等。
这9种均线都是常见的均线,如普通均线MA、EMA、考夫曼自适应均线等。熟悉的unity 源码商城人都知道,不熟悉的我这里也难以解释,可以参考相关书籍,复杂均线中都有。
现在展示如何在通达信中调用计算这些均线。
为了简单起见,这里不使用C来调用,C程序修改起来比较麻烦。
这里采用JavaScript脚本演示talib库计算不同的均线指标。
关键代码如下:这里计算的是天均线,均线类型是KAMA,即考夫曼自适应均线。
从上述JS语言可以看出,cloog 源码包JS语法比C更简单,但程序逻辑又与C非常接近,这使得编写变得非常方便。
这意味着什么?那就是:随便找本JS教程,花三两个小时就可以编写一些简单的JS小程序。非常方便!
而且JS是脚本语言,无需编译,所以把均线类型改一下,比如调用MAMA均线,只需要改一行代码。
通达信重新翻一页再返回来,此时对应股票的均线就算好了,此时计算出的MAMA均线如下:
其他的均线以此类推,不再赘述。
可以看出脚本语言的优势了吧!
现在回过头来看,为什么要用JS、Python这类脚本语言来调talib库?
很明显,在程序运行过程中,可以任意修改或选择需要调用的talib库函数,且可以随时修改而不需要重新编译dll;也可以任意修改需要计算的均线类型,可以是上述9种中的任意一种;另外,均线的周期也可以在脚本程序中随意更改。
那么有杠精又要说了,你这是脚本语言,算起来慢啊。但脚本语言本身就是个胶水,真正计算的还是talib库底层的C二进制代码,能慢到哪里去呢?
这就是脚本语言的方便之处。
借助于黑科技,通达信可以方便地利用JS、Python、Lua等脚本语言调用talib库!
本文介绍了Talib库原始函数的调用方法,无需在Python中安装,直接调用talib二进制文件即可。
当然,增加了一些胶水,使得talib库可以被JS、Python、Lua等脚本语言或Java、Scala、Groovy等JVM语言调用。
本文的demo显示,talib库的使用并不复杂,建议仔细阅读ta_fun.h头文件中talib库的各个函数定义,都很简单,不言自明。
有了talib库的一百多个指标,你可以在通达信中组合出自己独特的指标体系,而无需编写底层的基础函数。
通达信指标or函数是什么意思
or函数意思是在其参数组中,任何一个参数逻辑值为 TRUE,即返回 TRUE;所有参数的逻辑值为 FALSE,才返回 FALSE。
参数必须能计算为逻辑值,如 TRUE 或 FALSE,或者为包含逻辑值的数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量)或引用。如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。如果指定的区域中不包含逻辑值,函数 OR 返回错误值 #VALUE。可以使用 OR 数组公式来检验数组中是否包含特定的数值。
2024-12-23 07:04
2024-12-23 06:24
2024-12-23 05:01
2024-12-23 04:48
2024-12-23 04:39