[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 414

 
OlegArH:

¡Buenas tardes, amigos!

Estoy trasteando con mi primer robot. Mi idea es abrir una orden pendiente con un tiempo de expiración establecido.

No tengo suficientes conocimientos para ponerlo en práctica.

Si no te importa, podrías describir el ejemplo de EA que, si lo compilo, solo abre uno por uno, por ejemplo BuyStop para 100 min a 50 puntos del precio actual SL=50, TP=100 para eur/usd en cualquier timeframe.

Gracias de antemano.

otro ejemplo
Archivos adjuntos:
temp_3.mq4  4 kb
 
No está funcionando, sólo está colgado ahí.
 
emotraid:
No funciona, sólo se queda ahí.

)

optimizarlo.

;)

 
costy_:

Pensé que estaba bastante claro.


¡Gracias!
 
costy_:
otro ejemplo
¡¡¡Muchas gracias!!!
 

Por favor, explique el operador return(-1); llamado en el cuerpo de la función start() - ¿qué da?

¿Es return(0); lo mismo o no? Parece que el resultado no se pasa a ninguna parte.

¿Por qué lo escriben así en este caso?

int start()
  {
  if(a == b)return(-1);
  
  return(0);
  }
 
fore-x:

Por favor, explique el operador return(-1); llamado en el cuerpo de la función start() - ¿qué da?

¿Es return(0); lo mismo o no? El resultado no parece pasar por ningún lado.

¿Por qué lo escriben así?

Escribir void start()

y el retorno es innecesario ))

¡No sé por qué!

 
costy_:
Tengo la sensación de que no lo descubrirás por ti mismo.

¿Cómo consigo que todas las condiciones se comprueben en orden: primero la condición_1, luego la condición_2, y sólo después la condición_3, y no así (que coincidan las condiciones, que no se cumplan en orden)? Y cuando se cumplan todas las condiciones en orden, entonces abre una orden de mercado para vender. ¿Será correcto?

bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false)
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
 
fore-x:

Por favor, explique el operador return(-1); llamado en el cuerpo de la función start() - ¿qué da?

¿Es return(0); lo mismo o no? Parece que el resultado no se pasa a ninguna parte.

¿Por qué lo escriben así?

Un procedimiento es una función cuyo valor de retorno no se utiliza.

return se escribe a menudo por diversión y se puede desechar con seguridad.

En el ejemplo anterior, se puede utilizar el valor de retorno : Alert(init());

 
kolyango:

¿Cómo consigo que todas las condiciones se comprueben en orden: primero la condición_1, luego la condición_2, y sólo después la condición_3, y no así (que coincidan las condiciones, que no se cumplan en orden)? Y cuando se cumplan todas las condiciones en orden, entonces abre una orden de mercado para vender. ¿Es correcto?

Sí.
Razón de la queja: