当然不是,是TOS 程序做股票用的。这个是C++

来源: va168 2023-02-06 04:48:21 [] [旧帖] [给我悄悄话] 本文已被阅读: 次 (1996 bytes)
本文内容已被 [ va168 ] 在 2023-02-06 04:54:14 编辑过。如有问题,请报告版主或论坛管理删除.
回答: 根本就不是c十十cheaterfinder2023-02-05 20:41:58

#include <iostream>
#include <vector>

// Calculate simple moving average (SMA)
double calcSMA(const std::vector<double>& data, int period)
{
    double sum = 0;
    for (int i = 0; i < period; i++)
        sum += data[data.size() - period + i];

    return sum / period;
}

int main()
{
    // Example data (OHLC)
    std::vector<double> data = { 100, 105, 102, 108, 110, 109, 112 };

    // Periods for moving averages
    int ma5 = 5, ma13 = 13;

    // Calculate the moving averages
    std::vector<double> ma5_values, ma13_values;
    for (int i = 0; i < data.size(); i++)
    {
        if (i + 1 >= ma5)
            ma5_values.push_back(calcSMA(data, ma5));

        if (i + 1 >= ma13)
            ma13_values.push_back(calcSMA(data, ma13));
    }

    // Check for moving average crossover
    for (int i = 0; i < ma5_values.size(); i++)
    {
        if (ma5_values[i] > ma13_values[i] && ma5_values[i - 1] <= ma13_values[i - 1])
            std::cout << "MA5 crosses above MA13 at index " << i << std::endl;
        else if (ma5_values[i] < ma13_values[i] && ma5_values[i - 1] >= ma13_values[i - 1])
            std::cout << "MA5 crosses below MA13 at index " << i << std::endl;
    }

    return 0;
}

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”