Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1507

 
MakarFX:

Y a-t-il un moyen de déterminer le nombre de graphiques ouverts?

Je l'ai fixé à 100.

Si vous devez trouver une seule chose, retournez-y après l'avoir trouvée, pour ne pas avoir à répéter la boucle.

 
Vitaly Muzichenko:

Corrigé à 100.

Si vous devez trouver une chose, une fois que vous l'avez trouvée, retournez-y, pour ne pas avoir à répéter la boucle.

J'ai besoin de lancer la boucle à chaque tic, donc je l'ai fait comme ceci

   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++;
     }
 

et si deux "quelque chose" sont ouverts ?
pourquoi ne pas continuer la course ?

 
MakarFX:

J'ai besoin de lancer une boucle à chaque tic

pensez peut-être à faire quelque chose avecCHARTEVENT_CUSTOM.

 
Aleksei Stepanenko:

peut-être penser à faire quelque chose avecCHARTEVENT_CUSTOM en quelque sorte.

Ce n'est pas une option... il faut le vérifier sans ma participation.

Le code ci-dessus semble fonctionner correctement, mais comme je suis un faible programmeur, je voulais voir l'avis de personnes plus expérimentées et plus compétentes.

...longue attente jusqu'à lundi pour le tester (

 
Ainsi, le programme peut écouter l'air au lieu du cycle sans votre participation, non ?
 
Aleksei Stepanenko:
Donc le programme peut écouter les ondes sans votre participation aussi, non ?
Je ne comprends pas...
 
Je n'ai pas étudié la question, mais je pense que vous pourriez assigner un événement à chaque graphique et ensuite l'attendre dans le OnChartevent... Je ne sais pas, mais j'espère
 
MakarFX:

J'ai besoin de lancer une boucle à chaque tic, donc je l'ai fait de cette façon

Vous n'avez pas besoin de tirer des conneries de l'aide, d'écrire une boucle évidente... vous devrez vivre avec plus tard :-)

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

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

      DoChart(chartId);

   }

 
Aleksei Stepanenko:
Je n'ai pas étudié la question, mais je pense que vous pouvez attribuer un événement à chaque graphique, puis l'attendre dans OnChartevent...

Alexei, pour être honnête, avec mes connaissances, cela semble effrayant...

Je dois rester simple, trouver un objet à acheter - acheter, trouver un objet à vendre - vendre.

Raison: