[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 53

 
sergeev:


Sí. Se llama recursión.






Gracias mago, lo probaré, aún no soy mago y estoy aprendiendo.
 
tpg_k156:
Buenas tardes. ¿Sabes si es posible enviar la ejecución del código de la línea 35 a la línea 18 (líneas por ejemplo) con las herramientas estándar de mql4. Una especie de salto en el código.

El operador de bucle está pensado para "saltar hacia atrás".
Una declaración condicional está diseñada para "saltar" hacia adelante.
 
Buenas tardes, ¿podríais indicar cómo hacer una comprobación para que el EA no pueda hacer pedidos todos los viernes después de las 18:00 horas?
 
first_may:
Buenas tardes, ¿podríais indicar cómo hacer una comprobación para que el EA no pueda hacer pedidos todos los viernes después de las 18:00 horas?
Se podría poner una construcción similar al principio de la función de inicio.
//---не давать коду советника работать в пятницу с 18-00 по серверному времени 
   if(DayOfWeek()==5 && Hour()>=18 && Minute()>0){
      
      return(0);  
   } 
 
granit77:
Puedes poner una construcción similar al principio de la función de inicio.




Gracias
 
Un array (miles de elementos) se establece localmente en deinit().
¿Qué sucede cuando MT4 termina - estos datos permanecen en la memoria o se borran completamente?
No me interesan los datos en sí, sino el consumo de memoria.

¿La eliminación de las matrices definidas globalmente permitirá liberar memoria?
(durante las optimizaciones, por ejemplo).

Gracias.
 
 
Yo escribiríaHour()>=18y descartaría los minutos por completo.
 

En Inite lo tengo así:

int signal[4] = {1, 2, 3, 4};

Esta es la función:

//+-------------------------------------------------------------------------------------+
//| Получение общего сигнала на вход                                                    |
//+-------------------------------------------------------------------------------------+
int GetGeneralSignal()
{
   //int signal[4] = {1, 2, 3, 4};
   
   for(int i=0; i<4; i++)
  {
    if(GetStateMa(signal[i]) == MA_TALKING_LONG && IsRebound() == true)
      return(SIGNAL_BUY);
    
    if(GetStateMa(signal[i]) == MA_TALKING_SHORT && IsRebound() == true)
      return(SIGNAL_SELL);
  }
  
  return(SIGNAL_NO);
}

Aparece un error durante la compilación:

'signal' - incompatible types   E:\Insall'd soft's\Forex\Alpari NZ MT4\experts\Base150.mq4 (146, 19)
'signal' - incompatible types   E:\Insall'd soft's\Forex\Alpari NZ MT4\experts\Base150.mq4 (149, 19)
2 ошибок, 0 предупреждений      

No entiendo qué es lo que no le gusta. El array en el init ya está declarado, el tipo de int... Es correcto... ¿Qué tiene de malo?

 
hoz:

En Inite lo tengo así:

Esta es la función:

Aparece un error durante la compilación:

No entiendo qué es lo que no le gusta. El array en el init ya está declarado, el tipo de int... Es correcto... ¿Qué tiene de malo?


int signal[] = {1, 2, 3, 4};

int init(){

}

Considerar la visibilidad de las variables y las matrices