想要不依赖于商业软件或量化平台做技术分析,可以尝试使用本文中介绍的TA-LIB的C++库,全称为Technical Analysis Library。使用这个库可以与C++的回测框架做无缝连接,同时省去很多开发底层技术指标需要“浪费”的时间。而且,公开的库已经被充分地被用于实战检验,存在bug的几率小。
废话不多说,我们直接上一段入门代码:
TA_Initialize(); // 初始化TA-LIB,确保只调用一次
TA_Integer startIdx = 0;
TA_Integer endIdx = size - 1;
TA_Integer outBegin;
TA_Integer outNbElement;
TA_Integer optPeriod = 30;
TA_Integer allocationSize = 0;
TA_Integer lookback = TA_SMA_Lookback(optPeriod);
TA_Integer temp = max(lookback, startIdx);
if (temp > endIdx) {
allocationSize = 0; // No output
} else {
allocationSize = endIdx - temp +1;
}
TA_Real outMA[allocationSize];
TA_RetCode retCode = TA_MA(startIdx, endIdx,
&closePrice[0],
optPeriod, TA_MAType_SMA,
&a