在交易中,掌握一些实用的工具和技巧至关重要。今天,我们来聊聊在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