Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1507

 
MakarFX:

¿Hay alguna forma de determinar el número de cartas abiertas?

Lo he fijado en 100.

Si necesitas encontrar una cosa, entonces regresa después de encontrarla, para que no tengas que seguir ejecutando el bucle

 
Vitaly Muzichenko:

Corregido a 100.

Si necesitas encontrar una cosa, después de haberla encontrado, vuelve, para no tener que seguir ejecutando el bucle

Necesito ejecutar el bucle en cada tick, así que lo hice así

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

¿y si hay dos "algo" abiertos?
¿por qué no sigues compitiendo?

 
MakarFX:

Necesito ejecutar un bucle en cada tick

quizás pensar en hacer algo conCHARTEVENT_CUSTOM.

 
Aleksei Stepanenko:

podría pensar en hacer algo conCHARTEVENT_CUSTOM de alguna manera.

No es una opción... necesita comprobarlo sin mi participación.

El código anterior parece funcionar correctamente, pero como soy un programador débil, quería ver la opinión de gente más experimentada y con más conocimientos.

...larga espera hasta el lunes para probarlo (

 
Así que el programa puede escuchar el aire en lugar del ciclo sin su participación también, ¿no?
 
Aleksei Stepanenko:
Así que el programa puede escuchar las ondas sin su participación también, ¿no?
No lo entiendo...
 
No lo he mirado, pero creo que se podría asignar un evento a cada gráfico y luego esperarlo en el OnChartevent... No lo sé, pero espero que
 
MakarFX:

Necesito ejecutar un bucle en cada tick, así que lo hice de esta manera

No hace falta que saques mierda de la ayuda, escribe un bucle obvio... tendrás que vivir con ello después :-)

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

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

      DoChart(chartId);

   }

 
Aleksei Stepanenko:
No he estudiado la pregunta, pero creo que se puede asignar un evento a cada gráfico y luego esperarlo en OnChartevent...

Alexei, para ser honesto, con mis conocimientos parece que da miedo...

Necesito mantenerlo simple, encontrar un objeto para comprar-comprar, encontrar un objeto para vender-vender.

Razón de la queja: