新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 473

 
Bek001:

让我换个说法。如何确定最后10秒内的最高价格?

在MT5中 - CopyTicks()

在MT4中--在结构 数组MqlTick 中保存ticks。从中提取最大/最小价格。

 

你能告诉我如何做到这一点吗?我写了一个通知功能,通知每一次都 会出现!该函数本身只是用int Start写的。M30上的PATTERN状况。

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

int DayT=0,BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

你能告诉我如何做到这一点吗?我写了一个通知功能,通知每一次都 会出现!该函数本身只是用int Start写的。

static int DayT=0;
 
@Artyom Trishkin 谢谢你!有意思的是现在出来了,根本就没动静!
 
Rewerpool:
@Artyom Trishkin 谢谢你!有意思的是现在出来了,根本就没动静!
从手机上很难读懂代码。那里可能有其他问题。
 
Rewerpool:

你能告诉我如何做到这一点吗?我写了一个通知功能,通知每一次都 会出现!该函数本身只是用int Start写的。M30上的PATTERN状况。

int DayT=0;
datetime BarTime=TimeCurrent();
void NOTIFICATION()
{
   if(DayT!=Day())// Если новый день - нужно опросить
   {
      DayT=Day();
      if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
      if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
   }
   if (BarTime==Time[0]) // Если новый бар - нужно опросить
   {
      BarTime=Time[0];
      if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
      if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
   }
}

你声明了变量并立即与它们进行比较。当然,你总是得到同样的结果。

 
Artyom Trishkin:
在手机上很难读懂代码。它一定有其他问题。

我认为它应该是这样的

datetime BarTime;
 

@康斯坦丁-尼基丁 你好纠正了!!!。每天的信号都在上升!仍然需要检查日内的!

固定了!在这里。

///--------------------------------------------------------------------------------------------
/// ФУНКЦИЯ ОТПРАВКИ УВЕДОМЛЕНИЙ
///--------------------------------------------------------------------------------------------
void NOTIFICATION()
{

static int DayT=0;
datetime BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
Rewerpool:

@康斯坦丁-尼基丁 你好纠正了!!!。每天的信号都在上升!仍然需要检查日内的!

固定了!在这里。

static int DayT=0;
datetime BarTime;

把它带到全球层面。你将永远让它们等于0,因为每次函数被调用时,都会声明一个新的函数。

 
@Konstantin Nikitin 你是否建议将这些参数放在函数体之外?还是像我在最后一张截图中写的那样离开它们?