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

 
PolarSeaman:

也许是这样。

这里的前一天的情况在哪里?事实证明,在0-8期的第一单后,步数已经是10了。而且我们需要它是5。而只有在8点之后才会变成10点。然后,如果没有前一天的未结订单,我们将步骤=5返回到0。如果该系列继续下去,那么在其关闭之前,步骤=10。
 
PolarSeaman:

重点是,如果你像在专家顾问中那样设置时间间隔

我需要将处于区间内的蜡烛图排除在计算之外。

在指标中,你在一个循环中工作。那么,为什么需要退出循环呢?

你不知道如何跳过循环中的一个迭代吗?

继续

 
Tigerfreerun:
前一天的情况在哪里?事实证明,在0-8期的第一单后,步数已经是10了。而我们需要的是,它是5。而只有在8点之后才会变成10点。然后,如果没有前一天的未结订单,我们将步骤=5返回到0。如果该系列继续下去,那么在其关闭之前,步骤=10。

如果昨天有一个订单,该函数应返回тру。

   OP_TO(int mn)
     {
     int i, k=OrdersTotal();
      for(i=0; i<k; i++) 
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
           {
            if(OrderSymbol()==Symbol()) 
              {
               if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
                 {
                  if(OrderMagicNumber()==mn) 
                    {
                     if(TimeDay(OrderOpenTime())==(Day()-1)
                      &&  TimeMonth(OrderOpenTime())==Month()
                      &&  TimeYear (OrderOpenTime())==Year()) return(True);
                    }
                 }
              }
           }
        }

      return(False);
     }
if(Hour()>=0&&Hour()<=8&&!OP_TO(mag_n))step = 5; else step =10;
 
Artyom Trishkin:

在指标中,你是在一个循环中工作。那么,为什么你需要用return来退出循环?

你知道如何跳过循环中的一个迭代吗?

继续

谢谢你。我不明白,我限制了时间,但打印出来的时间是19:30和23:00以及5:50,这有什么问题?

   for(int i=limit-2; i>0; i--) 
     {
     if(Hour()>=17&&Hour()<=11)continue;
      if(i%2==0) 
        {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k1++;
           // if(k1>max) {max=k1; dat_max=time[i];}
            if(k1>=4)Print("Num: ",k1,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k1,time[i],high[i],Arr);
           }
         else k1=0;
         
           } else {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k2++;
            //if(k2>max){ max=k2; dat_max=time[i];}
            if(k2>=4)Print("Num: ",k2,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k2,time[i],high[i],Arr);
           }
         else k2=0;
         
        }
      
     }
 
PolarSeaman:

谢谢你。我不明白,打印出来的时间是19:30和23:00以及5:50,怎么了?

Hour()函数返回什么?
 
PolarSeaman:

如果昨天有一个订单,该函数应返回тру。

这对我来说有点复杂。你能解释一下在代码的哪个部分添加,mn和mag_n是什么意思? 我应该把我的EA medjic放在哪里?




 
各位程序员,请帮助我理解这个错误。 minPrice =NormalizeDouble(GetMinPrice(),Digits); 错误:'minPrice' - 预期分号
 
KRIKS:
先生们,请帮助我理解这个错误。 minPrice = NormalizeDouble (GetMinPrice(),Digits); 错误:'minPrice' - 预期分号

看一下minPrice之前的代码。那里没有;(分号)。

 
Ihor Herasko:

看一下minPrice之前的代码。那里没有;(分号)。

int start()

{

minPrice =NormalizeDouble(GetMinPrice()Digits)。

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int start后面可以有(;) ?

 
KRIKS:

int start()

{

minPrice = NormalizeDouble(GetMinPrice()Digits)。

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int start后面可以有(;) ?

{

minPrice =NormalizeDouble(GetMinPrice(),Digits)。

maxPrice = NormalizeDouble(GetMaxPrice(),Digits)。

原因: