请观看如何免费下载自动交易
请在Facebook上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
EA

Simple Code for Detect A "New Bar or New Candle " Received - MetaTrader 5EA

显示:
233
等级:
(8)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

当接收到新条形码新蜡烛 码时,该代码块将对其进行检测

代码的基本原理非常简单。首先,代码会存储 上一个条形图/蜡烛图的时间。(然后在前一个条形图的时间基础上增加60 秒(相当于1 分钟, 您可以根据需要增加时间),得出 当前条形图/蜡烛图的收盘时间值。

一次

当前时间 = 当前条形图/蜡烛图的收盘时间值。 这意味着新的条形图/蜡烛 图已经收盘。

在此代码中,标志(bool 类型变量 "NewBarRecivedNewBarRecived') 这意味着每个条形图/蜡烛图只执行一次代码块。Comment();playsound("ok.wav") ; 用于检查代码块的准确性。如果需要,可以将其删除。

一旦当前时间高于当前蜡烛的收盘时间,该标志就会重置为 false,以检查下一交易日的到来。(请观看注释)。

//+------------------------------------------------------------------+
//|新条检测。mq5
//|作者:H A T Lakmal |
//|https://t.me/Lakmal846 | |
//+------------------------------------------------------------------+

bool NewBarRecived = false; // 法尔格进行控制。

//+------------------------------------------------------------------+
//| 专家初始化函数|
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 创建计时器
   EventSetTimer(60);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 专家去初始化函数|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- 销毁计时器
   EventKillTimer();

  }


//+------------------------------------------------------------------+
//| 专家勾选功能|
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1);
   datetime TimeCurrentClose = TimePreviousBar + 60; // 当前条形图的收盘时间。
   datetime Time_Current = TimeCurrent();

   if(Time_Current == TimeCurrentClose && NewBarRecived == false)
     {
      PlaySound("ok.wav");   // 对于不是的声明工作。
      NewBarRecived = true; // 更新标志以避免多次调用。


      // 您的代码放在这里 -----(做某事)

     }
   else
      if(Time_Current > TimeCurrentClose)
        {
         NewBarRecived = false; // 为下一个打开的栏位设置标记。



         // 您的代码放在这里 -----(做某事)


        }


   Comment("\n" +  "\n" +  "Time Current Bar -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "Time Current Close -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "Time Current -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + 
           "\n" +"\n" + "A New Bar Recived -: " + NewBarRecived); 
          
           // 用于检查计算


  }
//+------------------------------------------------------------------+
//| 定时器功能|
//+------------------------------------------------------------------+
void OnTimer()
  {
//---

  }
//+------------------------------------------------------------------+
//| 贸易功能|
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+
//| 图表事件函数|
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

  }
//+------------------------------------------------------------------+

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/49018

Code Block for "Trailing Stop" based on current market price. (Ask / Bid) Code Block for "Trailing Stop" based on current market price. (Ask / Bid)

该代码块循环浏览所有已开仓头寸,并根据卖出价和买入价进行追踪。

ConvertServerTime ConvertServerTime

将服务器时间从一个经纪人时区转换为另一个时区的功能。

Logarithmic Moving Average Logarithmic Moving Average

对数移动平均法连续计算一段时间内最高价和最低价的对数平均值。

平均日范围 平均日范围

日均范围指标。