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

 
MixanM #:

Pues sí, a eso me refería, a que sólo devuelve los datos de una orden "sellstop". He añadido esto al tuyo, sólo para comprobarlo visualmente:

Todo funciona correctamente


 

Como recién llegado, ¿puedes decirme si el operador return pasa el control al bucle for o a la función OnTick?

void OnTick()
{
  for (выражение)
    {
        if (выражение)
         {
            .....
            ....
            return;
         }
    }
}
 
Олег Иванов ¿el operador return pasa el control de vuelta al bucle for o a la función OnTick?

Retorno de la función OnTick

 
Олег Иванов la sentencia return transfiere el control de vuelta al bucle for o a la función OnTick?

La sentencia continue devuelve el control al principio de la sentencia externa while, do-while o for más cercana

 
Tretyakov Rostyslav #:

La sentencia continue transfiere el control al principio de la sentencia externa while, do-while o for más cercana.

En mi ejemplo, el operador devuelve. Lo estaba pidiendo.

 
JRandomTrader #:

Sale de la función OnTick

¿Cómo va a salir de OnTick si esta subrutina está circulando constantemente en el EA?
 
Олег Иванов #:
¿Cómo saldrá de OnTick si esta subrutina está circulando constantemente en el EA?

Eso es lo que saldrá de la carrera actual (como si hubiera llegado al final). En el siguiente tic, habrá una nueva llamada.

 
JRandomTrader #:

Eso es lo que saldrá de la carrera actual (como si hubiera llegado al final). En el siguiente tick habrá una nueva llamada

Es decir, volverá al principio de OnTick. Gracias, lo tengo.

 
Олег Иванов #:

Es decir, volverá al principio del OnTick. Gracias, lo tengo.

Volverá con la llegada de la nueva garrapata. Se puede esperar mucho tiempo para ello en los no-líquidos.

OnTick no es un bucle de tipo eterno, sino una operación de interrupción.
 

Buenas tardes a todos. Por favor, ayúdame a reescribir el código del script. Ahora el script traduce todos los gráficos abiertos al periodo n1. ¿Cómo puedo reescribir el código para que el script aplique una plantilla con el nombre especificado a todos los gráficos abiertos?

//| Script program start function                                    |
//+------------------------------------------------------------------+
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+
Razón de la queja: