首页 技术指标 帖子

MetaTrader 5中的“新条”事件处理器:如何优化指标

附件
199.zip (2.92 KB, 下载 0次)

在交易中,掌握一些实用的工具和技巧至关重要。今天,我们来聊聊在MetaTrader 5中使用的“新条”事件处理器。这个方法可以帮助我们在每次出现新条时重新计算指标,避免在每个报价更新时都进行计算,从而提高效率。

以下是一个简单的指标示例,当新条出现时,它会打印一条信息:

//+------------------------------------------------------------------+
//|                                            OnNewBarCalculate.mq5 |
//|                                            Copyright 2010, Lizar |
//|                                                    Lizar@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, Lizar"
#property link      "Lizar@mail.ru"
#property version   "1.00"
#property indicator_chart_window

#include <OnNewBarCalculate.mqh> // 这里是调用 OnNewBarCalculate() 函数的秘密//+------------------------------------------------------------------+
//| 指标的新条事件处理器                          |
//+------------------------------------------------------------------+
int OnNewBarCalculate(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[]) {
   //--- 在这里你可以编写类似 OnCalculate() 的代码;
   //--- 但是这个函数只会在新条出现时被调用(而不是在每个报价更新时)

   PrintFormat("新条: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
   //--- 返回下一个调用的 prev_calculated 值
   return(rates_total);
}  }

相关帖子

评论 (0)