Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1507

 
MakarFX:

C'è un modo per determinare il numero di grafici aperti?

Fissato a 100.

Se hai bisogno di trovare una cosa, allora ritorna dopo averla trovata, così non devi continuare a eseguire il ciclo

 
Vitaly Muzichenko:

Corretto a 100.

Se avete bisogno di trovare una cosa, dopo averla trovata, ritornate, così non dovete continuare ad eseguire il ciclo

Ho bisogno di eseguire il ciclo su ogni tick, quindi l'ho fatto così

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

E se due "qualcosa" sono aperti?
perché non continui a correre?

 
MakarFX:

Ho bisogno di eseguire un ciclo su ogni tick

forse pensare di fare qualcosa conCHARTEVENT_CUSTOM.

 
Aleksei Stepanenko:

forse pensare di fare qualcosa conCHARTEVENT_CUSTOM in qualche modo.

Non è un'opzione...bisogna controllare senza il mio coinvolgimento.

Il codice qui sopra sembra funzionare correttamente, ma dato che sono un programmatore debole, volevo vedere l'opinione di persone più esperte e competenti.

...lunga attesa fino a lunedì per testarlo (

 
Quindi il programma può ascoltare l'aria invece del ciclo anche senza il tuo coinvolgimento, no?
 
Aleksei Stepanenko:
Quindi il programma può ascoltare l'etere anche senza il suo coinvolgimento, no?
Non capisco...
 
Non ci ho guardato dentro, ma penso che si potrebbe assegnare un evento ad ogni grafico e poi aspettarlo nel OnChartevent... Non lo so, ma si spera
 
MakarFX:

Ho bisogno di eseguire un ciclo su ogni tick, quindi l'ho fatto in questo modo

Non c'è bisogno di tirare merda dall'aiuto, scrivere un ciclo ovvio... dovrai conviverci dopo :-)

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

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

      DoChart(chartId);

   }

 
Aleksei Stepanenko:
Non ho studiato la domanda, ma penso che si possa assegnare un evento ad ogni grafico e poi aspettarlo in OnChartevent...

Alexei, ad essere onesti, con le mie conoscenze sembra spaventoso...

Ho bisogno di mantenerlo semplice, trovare un oggetto da comprare-acquistare, trovare un oggetto da vendere-vendere.