TA-Lib是一个用于金融技术分析的C++库,可以用来计算MACD,动量,移动均线等常用指标等
本文对TA-Lib做了一个简单的使用初体验

源码下载

地址:ta-lib
注意这里面有多个源码包,选择msvc这个版本(windows和linux编译都用这个版本的源码)

下载后源码目录

根目录ta-lib和ta-lib/c

编译

使用TA-Lib需要先编译出对应链接库,支持编译静态和动态连接库
本文以编译静态库为例,其中源码解压后根目录为ta-lib

windows

环境:win7 + vs2015
这里编译出x64的lib

打开VS2015 x64 Native Tools Command Prompt命令行执行

cd ta-lib\c\make\cmr\win32\msvc
nmake

注意

  • 这里可能会报gen_code失败,可以忽略,如果有其他问题,可以先nmake clean一下
  • 要确保ta-lib\c\lib这个目录是存在的

编译的结果在 ta-lib/c/lib目录

linux

环境:ubuntu14.04 + gcc4.8

命令行执行

cd ta-lib/c/make/cmr/linux/g++
make

编译的结果在 ta-lib/c/lib目录

.
├── libta_abstract_cmr.a
├── libta_common_cmr.a
├── libta_func_cmr.a
└── libta_libc_cmr.a

使用示例

windows

建立vs2015项目talibtest,配置ta-lib的包含头文件和包含库目录以及附加依赖项

  • include目录:D:\Programs\ta-lib\c\include
  • lib目录:D:\Programs\ta-lib\c\lib
  • 附加依赖项:ta_abstract_cmr.lib ta_common_cmr.lib ta_func_cmr.lib ta_libc_cmr.lib

linux

建立cmake项目talibtest,配置cmake文件

project(talibtest)
cmake_minimum_required(VERSION 2.8)
add_definitions(-std=c++11)include_directories(/home/user/codetest/ta-lib/c/include)aux_source_directory(. SRC_LIST)link_directories(/home/user/codetest/ta-lib/c/lib)add_executable(${PROJECT_NAME} ${SRC_LIST})# link static library, notice the link sequence
target_link_libraries(${PROJECT_NAME}libta_common_cmr.alibta_libc_cmr.alibta_abstract_cmr.alibta_func_cmr.a)

代码

一个简单计算30天移动平均线的example

#include <iostream>
#include <time.h>
#include <assert.h>
#include "ta_libc.h"int main()
{std::cout << "ta-lib test" << std::endl;// init ta-lib contextTA_RetCode retcode;retcode = TA_Initialize();assert(retcode == TA_SUCCESS);// comput moving average priceTA_Real    close_price_array[400] = { 0 };// construct random pricesrand((unsigned)time(0));for (int i = 0; i < 400; i++)close_price_array[i] = rand() % 50 + 100;TA_Real    out[400] = { 0 };TA_Integer out_begin = 0;TA_Integer out_nb_element = 0;retcode = TA_MA(0, 399,&close_price_array[0],30, TA_MAType_SMA,&out_begin, &out_nb_element, &out[0]);assert(retcode == TA_SUCCESS);std::cout << "---- compute output ----" << std::endl;std::cout << "out_begin_index: " << out_begin << std::endl;std::cout << "out_nb_element: " << out_nb_element << std::endl;std::cout << "out price array: " << std::endl;for (auto &price : out)std::cout << price << " ";retcode = TA_Shutdown();assert(retcode == TA_SUCCESS);return 0;
}

结果

ta-lib test
---- compute output ----
out_begin_index: 29
out_nb_element: 371
out price array:
125.533 125.633 124.367 124.567 123.833 124.833 124.067 122.733 123.367 ...

TA-Lib C++金融技术分析库使用初体验相关推荐

  1. 视频教程-STM32Cube和HAL库使用初体验-第5季第2部分-单片机/工控

    STM32Cube和HAL库使用初体验-第5季第2部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java. ...

  2. STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程

    STM32Cube和HAL库使用初体验-第5季第2部分-308人已学习 课程介绍         本季课程主要讲解STM32的全新开发方式:使用STM32CubeMX工具做图形化配置,自动生成初始化代 ...

  3. 小猪的Python学习之旅 —— 13.文字识别库pytesseract初体验

    小猪的Python学习之旅 -- 13.文字识别库pytesseract初体验 标签:Python 引言 度过了短暂的春节假期,又要开始继续搬砖了,因为还处于节后 综合征,各种散漫,不想看任何代码相关 ...

  4. python股票技术分析库Ta-Lib安装日记(windows 下 talib 安装)

    文章目录 1. 直接用pip install talib 安装会报错 2. 解决办法: 网上下载Ta-Lib的whl文件到本地安装 2.1 网上下载好源文件whl 2.2 打开anaconda pro ...

  5. 利用Volatility进行Windows内存取证分析(一):初体验

    简介 承接上文,上文中使用cuckoo沙箱的时候提到过,分析恶意代码的时候,首先利用沙箱做粗略分析,然后可以目标程序进行动态分析(OD,Windbg调试)或者静态分析(IDA静态反汇编).如果嫌每次逆 ...

  6. oracle cloud技术帖,Oracle Cloud初体验

    Oracle 18c自去年OpenWorld首次预发布以来,确实引起了很多DBA的好奇和兴趣,在2月份左右先行发布了部分版本(Exadata和SuperCluster),当然重头戏的x86平台发布要等 ...

  7. 显示lib包_【手把手教你】股市技术分析利器之TA-Lib(一)

    市场有自己的时间观念.股票投资就如同任何人类互动一样,耐心是一项美德.--罗伯特·D·爱德华<股市趋势技术分析> 引言 TA-Lib,全称"Technical Analysis ...

  8. python 股票指标库talib_【手把手教你】股市技术分析利器之TA-Lib(一)

    市场有自己的时间观念.股票投资就如同任何人类互动一样,耐心是一项美德.--罗伯特·D·爱德华<股市趋势技术分析> 引言 TA-Lib,全称"Technical Analysis ...

  9. 【Java】基于TA-Lib技术分析指标研究

    [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 0. 前言 1. TA-Lib介绍 2. TA-Lib数据准备 2.1 指标 ...

最新文章

  1. C# 判断远程文件是否存在
  2. php中接口调用方法的区别,phpcms常用接口调用方法
  3. 从(0,0)到(n,n)——广度优先及其改进
  4. 我们和计算机系的老教授聊了聊TCP优化与产学矛盾
  5. jvm类加载过程_JVM类生命周期概述:加载时机与加载过程
  6. html jade文件,Jade模板
  7. 智能会议系统(6)---高效视频会议系统
  8. 【linux】BootLoader简介(c语言编程)
  9. 50个精心收集的惊人的jquery绚丽插件--功能全覆盖
  10. 电动牙刷C语言程序,电动牙刷的日常维护
  11. matlab 频数分布直方图_matlab 统计直方图
  12. java8steam流 filler_做有机硅,不懂英文哪能行?——赶紧收藏,说不定哪天就用到了!...
  13. RTF文件格式研究报告
  14. Python 图像拼接
  15. 硅谷高管中国行感受:思维太单一,996式加班意义不大
  16. android游戏和ios游戏哪个多,Android游戏类App占27.1% 与iOS差异显著
  17. 软文网络推广的几个写作技巧
  18. 大三学生——要不要上研究生?
  19. 鸿蒙相符合的图片,鸿蒙操作系统亮相——目标是未来的物联网
  20. 利用计算机控制,如何使用计算机控制遥控车

热门文章

  1. 抗锯齿相关技术介绍:MSAA、FXAA、SMAA、TXAA、MSAA
  2. Python 高级编程笔记之类别
  3. 自己配置的深度学习主机 i7-8700+RTX 2070Super 内含所有配件明细以及装机过程 我们随时交流哦~
  4. 剑侠情缘测试版网络验证
  5. arcgis属性表无法编辑
  6. 基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)
  7. 计算机内存条是固定资产吗,服务器内存属于固定资产吗
  8. 小程序实现数字每三位加逗号分隔符
  9. labelme的安装及使用教程
  10. 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数