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

Mike 2011.01.21 00:22 13 0 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(constint rates_total,
                constint prev_calculated,
                constdatetime& time[],
                constdouble& open[],
                constdouble& high[],
                constdouble& low[],
                constdouble& close[],
                constlong& tick_volume[],
                constlong& volume[],
                constint& spread[]) {
   //--- 在这里你可以编写类似 OnCalculate() 的代码;
   //--- 但是这个函数只会在新条出现时被调用(而不是在每个报价更新时)

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