基本上,我将长度作为“移动”窗口,因为它通过 j 循环到向量大小的末尾。这个向量充满了股票价格。
如果数字 1 2 3 4 的 2 天移动平均线的长度等于 2。我应该能够输出 1.5、2.5 和 3.5。但是,我收到超出范围的错误。
逻辑如代码所示。如果专家可以帮助我使用我正在尝试创建的这个简单的移动平均函数,那就太好了!谢谢。
void Analysis::SMA()
{
double length;
cout << "Enter number days for your Simple Moving Average:" << endl;
cin >> length;
double sum = 0;
double a;
while (length >= 2){
vector<double>::iterator it;
for (int j = 0; j < close.size(); j++){
sum = vector1[length + j - 1] + vector1[length + j - 2];
a = sum / length;
vector2.push_back(a);
vector<double>::iterator …Run Code Online (Sandbox Code Playgroud)