首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何每天只计算一次指标缓冲区mql4

在MQL4中,要实现每天只计算一次指标缓冲区,可以通过以下步骤进行操作:

  1. 创建一个全局变量来存储上一次计算指标缓冲区的时间戳。
  2. 在每次计算指标缓冲区之前,获取当前的日期和时间,并与上一次计算的时间戳进行比较。
  3. 如果当前日期与上一次计算的日期不同,说明已经过了一天,需要重新计算指标缓冲区。
  4. 在重新计算指标缓冲区之前,更新全局变量中的时间戳为当前的日期和时间。
  5. 执行指标缓冲区的计算操作。

这样,就可以确保每天只计算一次指标缓冲区。

在MQL4中,可以使用以下函数和变量来实现上述步骤:

  1. TimeCurrent() 函数:获取当前的日期和时间。
  2. 全局变量:用于存储上一次计算指标缓冲区的时间戳。

以下是一个示例代码,演示如何实现每天只计算一次指标缓冲区:

代码语言:txt
复制
// 定义全局变量
datetime lastCalculationTime;

// 在OnInit() 函数中初始化全局变量
int OnInit()
{
    lastCalculationTime = 0;
    return(INIT_SUCCEEDED);
}

// 在OnCalculate() 函数中进行指标缓冲区的计算
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
    // 获取当前的日期和时间
    datetime currentTime = TimeCurrent();

    // 检查是否已经过了一天
    if (TimeDay(currentTime) != TimeDay(lastCalculationTime))
    {
        // 更新时间戳为当前的日期和时间
        lastCalculationTime = currentTime;

        // 执行指标缓冲区的计算操作
        // ...
    }

    // 其他计算逻辑
    // ...

    return(rates_total);
}

请注意,以上示例代码仅为演示目的,实际应用中可能需要根据具体情况进行适当的修改和调整。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算服务:https://cloud.tencent.com/product/cvm
  • 腾讯云数据库服务:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器运维服务:https://cloud.tencent.com/product/cds
  • 腾讯云人工智能服务:https://cloud.tencent.com/product/ai
  • 腾讯云物联网服务:https://cloud.tencent.com/product/iot
  • 腾讯云移动开发服务:https://cloud.tencent.com/product/mpp
  • 腾讯云存储服务:https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙服务:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券