TA-Lib C++金融技术分析库使用初体验
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++金融技术分析库使用初体验相关推荐
- 视频教程-STM32Cube和HAL库使用初体验-第5季第2部分-单片机/工控
STM32Cube和HAL库使用初体验-第5季第2部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java. ...
- STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程
STM32Cube和HAL库使用初体验-第5季第2部分-308人已学习 课程介绍 本季课程主要讲解STM32的全新开发方式:使用STM32CubeMX工具做图形化配置,自动生成初始化代 ...
- 小猪的Python学习之旅 —— 13.文字识别库pytesseract初体验
小猪的Python学习之旅 -- 13.文字识别库pytesseract初体验 标签:Python 引言 度过了短暂的春节假期,又要开始继续搬砖了,因为还处于节后 综合征,各种散漫,不想看任何代码相关 ...
- python股票技术分析库Ta-Lib安装日记(windows 下 talib 安装)
文章目录 1. 直接用pip install talib 安装会报错 2. 解决办法: 网上下载Ta-Lib的whl文件到本地安装 2.1 网上下载好源文件whl 2.2 打开anaconda pro ...
- 利用Volatility进行Windows内存取证分析(一):初体验
简介 承接上文,上文中使用cuckoo沙箱的时候提到过,分析恶意代码的时候,首先利用沙箱做粗略分析,然后可以目标程序进行动态分析(OD,Windbg调试)或者静态分析(IDA静态反汇编).如果嫌每次逆 ...
- oracle cloud技术帖,Oracle Cloud初体验
Oracle 18c自去年OpenWorld首次预发布以来,确实引起了很多DBA的好奇和兴趣,在2月份左右先行发布了部分版本(Exadata和SuperCluster),当然重头戏的x86平台发布要等 ...
- 显示lib包_【手把手教你】股市技术分析利器之TA-Lib(一)
市场有自己的时间观念.股票投资就如同任何人类互动一样,耐心是一项美德.--罗伯特·D·爱德华<股市趋势技术分析> 引言 TA-Lib,全称"Technical Analysis ...
- python 股票指标库talib_【手把手教你】股市技术分析利器之TA-Lib(一)
市场有自己的时间观念.股票投资就如同任何人类互动一样,耐心是一项美德.--罗伯特·D·爱德华<股市趋势技术分析> 引言 TA-Lib,全称"Technical Analysis ...
- 【Java】基于TA-Lib技术分析指标研究
[Java]SFC融媒体项目基于TA-Lib技术分析指标研究 [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 0. 前言 1. TA-Lib介绍 2. TA-Lib数据准备 2.1 指标 ...
最新文章
- C# 判断远程文件是否存在
- php中接口调用方法的区别,phpcms常用接口调用方法
- 从(0,0)到(n,n)——广度优先及其改进
- 我们和计算机系的老教授聊了聊TCP优化与产学矛盾
- jvm类加载过程_JVM类生命周期概述:加载时机与加载过程
- html jade文件,Jade模板
- 智能会议系统(6)---高效视频会议系统
- 【linux】BootLoader简介(c语言编程)
- 50个精心收集的惊人的jquery绚丽插件--功能全覆盖
- 电动牙刷C语言程序,电动牙刷的日常维护
- matlab 频数分布直方图_matlab 统计直方图
- java8steam流 filler_做有机硅,不懂英文哪能行?——赶紧收藏,说不定哪天就用到了!...
- RTF文件格式研究报告
- Python 图像拼接
- 硅谷高管中国行感受:思维太单一,996式加班意义不大
- android游戏和ios游戏哪个多,Android游戏类App占27.1% 与iOS差异显著
- 软文网络推广的几个写作技巧
- 大三学生——要不要上研究生?
- 鸿蒙相符合的图片,鸿蒙操作系统亮相——目标是未来的物联网
- 利用计算机控制,如何使用计算机控制遥控车
热门文章
- 抗锯齿相关技术介绍:MSAA、FXAA、SMAA、TXAA、MSAA
- Python 高级编程笔记之类别
- 自己配置的深度学习主机 i7-8700+RTX 2070Super 内含所有配件明细以及装机过程 我们随时交流哦~
- 剑侠情缘测试版网络验证
- arcgis属性表无法编辑
- 基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)
- 计算机内存条是固定资产吗,服务器内存属于固定资产吗
- 小程序实现数字每三位加逗号分隔符
- labelme的安装及使用教程
- 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数