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

 
MakarFX:

有什么方法可以确定开放图表 的数量吗?

固定为100。

如果你需要找到一个东西,那么在找到它之后再返回,这样你就不用一直运行循环了

 
Vitaly Muzichenko:

纠正为100。

如果你需要找到一件东西,那么在你找到它之后,你就会返回,这样你就不必一直运行这个循环了

我需要在每个刻度上 运行循环,所以我把它做成这样的

   long currChart=ChartFirst();
   double pr;
   int vdigits;
   int i=0; while(i<=CHARTS_MAX)
     {
      if(currChart<0) break;
      if(ObjectFind(currChart,ChartSymbol(currChart)+" BUY")==0) 
        { 
         pr=ObjectGetDouble(currChart,ChartSymbol(currChart)+" BUY",OBJPROP_PRICE1);
         vdigits = (int)MarketInfo(ChartSymbol(currChart),MODE_DIGITS); 
         Print(i," ",ChartSymbol(currChart)," ",DoubleToStr(pr,vdigits));
        }else{Print(i," ",ChartSymbol(currChart)," 0");}
      currChart=ChartNext(currChart);  i++;
     }
 

如果有两个 "东西 "是开放的呢?
为什么不继续比赛?

 
MakarFX:

我需要在每个刻度 上运行一个循环

也许可以考虑用CHARTEVENT_CUSTOM 做一些事情。

 
Aleksei Stepanenko:

可能会想到以某种方式对CHARTEVENT_CUSTOM 做一些处理。

不是一个选项......需要在没有我参与的情况下检查。

上面的代码似乎可以正常工作,但由于我是一个薄弱的程序员,我想看看更多有经验和知识的人的意见。

...漫长的等待,直到星期一才能测试(

 
所以节目组也可以在没有你参与的情况下听空气而不是听循环,不是吗?
 
Aleksei Stepanenko:
因此,该节目也可以在没有你参与的情况下收听电波,不是吗?
我不明白...
 
我还没有研究过,但我想你可以给每个图形分配一个事件,然后在OnChartevent 中等待它。不知道,但希望是这样
 
MakarFX:

我需要在每个刻度 上运行一个循环,所以我这样做了

你不需要从帮助中拉出废话,写一个明显的循环......你以后要忍受它 :-)

   for(long chartId=ChartNext(0);chartId>0 &&!IsStopped();chartId=ChartNext(chartId)) {

      if (ChartSymbol(chartId)=="") continue;

      DoChart(chartId);

   }

 
Aleksei Stepanenko:
我没有研究过这个问题,但我认为你可以给每个图表分配一个事件,然后在OnChartevent 中等待它...

阿列克谢,说实话,以我的知识,这听起来很吓人......

我需要保持简单,找到一个要买的对象--买,找到一个要卖的对象--卖。

原因: