在MQL4中,要实现每天只计算一次指标缓冲区,可以通过以下步骤进行操作:
这样,就可以确保每天只计算一次指标缓冲区。
在MQL4中,可以使用以下函数和变量来实现上述步骤:
TimeCurrent()
函数:获取当前的日期和时间。以下是一个示例代码,演示如何实现每天只计算一次指标缓冲区:
// 定义全局变量
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);
}
请注意,以上示例代码仅为演示目的,实际应用中可能需要根据具体情况进行适当的修改和调整。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云