我正在尝试使用 C++ 中的 ta-lib 库对这些数据进行一些技术分析。问题在于,关于它们在 C++ 中的使用的教程很少(除了文档之外几乎没有)。我将电子表格中的值(第三/第 C 列)转换为大小为 124 的向量 double。我想使用此向量计算 10 天周期的 EMA 和 RSI。这是ta-lib
open
vec
//headers used
#include <vector>
#include <ta-lib/ta_libc.h>
std::vector <double> vec;
//Technical analysis part of the code
int n=vec.size(); //size of the vector
std::cout <<"size "<< n << ' ';
TA_RetCode retCode;
retCode = TA_Initialize( );
if( retCode != TA_SUCCESS )
std::cout<<"Cannot initialize TA-Lib !\n"<< retCode <"\n";
else
{
std::cout<<"TA-Lib correctly initialized.\n" ;
/* ... other TA-Lib functions can be used here. */
double ma=TA_MA(0,n,vec,10,TA_MAType_EMA);
double rsi=TA_RSI(0,n,vec,10);
std::cout <<"EMA "<< ma <<"\n";
std::cout <<"RSI "<< rsi <<"\n";
TA_Shutdown();
}
错误是
错误:无法将参数 '3' 的 'std::vector' 转换为 'const double*' 到 'TA_RetCode TA_MA(int, int, const double*, int, TA_MAType, int*, int*, double*)