Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 593

 

Como estoy por debajo de los dummies en el uso de dlls, me aventuraré a preguntar aquí: ¿Podríais decirme cómo formatear correctamente WinExec("shutdown /r", 0) en las builds actuales?

No necesariamente apagado, hasta ahora no consigo que se ejecute nada.

Gracias.

 
Muy bien, lo encontré.
 

Como opción, gracias. Aunque sigo sin entender por qué ocurre esto dada la normalización.

Otra posible solución -si alguien la necesita- es convertir el doble en int. Ya que tengo la precisión requerida conocida de antemano.

 

Hola. La línea de la declaración if en el EA no se ejecuta

Alert("sell_stop_open= ", sell_stop_open, " Middle= ", Middle);

if (sell_stop_open != Middle)

{

Alerta ("sell_stop_open= Medio");

L=L2;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

Cuando aparece el mensaje de alerta antes si veo los valores sell_stop_open=1.3080, Middle =1.3080, pero si no se ejecuta.

¿Pueden decirme qué puede causar ese error?

 
Garik27p:

Hola. La línea de la declaración if en el EA no se ejecuta

Alert("sell_stop_open= ", sell_stop_open, " Middle= ", Middle);

if (sell_stop_open != Middle)

{

Alerta ("sell_stop_open= Medio");

L=L2;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

Cuando aparece el mensaje de alerta antes si veo los valores sell_stop_open=1.3080, Middle =1.3080, pero si no se ejecuta.

¿Pueden decirme qué puede causar ese error?


Por lo demás.
if (sell_stop_open == Middle)
 
r772ra:

Por lo demás.
Yo también lo he probado así. Pero cuando funciona en el probador, a veces lo hace y a veces no.
 
Desead:

Como opción, gracias. Aunque sigo sin entender por qué ocurre esto dada la normalización.

Otra posible solución -si alguien la necesita- es convertir el doble en int. Ya que tengo la precisión requerida conocida de antemano.

Los números dobles tienen sus propias peculiaridades, por lo que al convertirlos en un valor de texto se utiliza DoubleToString (una función del nuevo lenguaje MQL4) o DoubleToStr (una función del antiguo lenguaje). Estas funciones convierten un valor numérico en una cadena de texto que contiene la representación de caracteres del número en el formato de precisión especificado.

Te recomiendo que leas "Peculiaridades del trabajo con números de tipo doble en MQL4". Bueno y en un foro es posible buscar información más detallada.

P./S.: No creo, que variante de traducción doble en int, cuando es necesario ver doble - es la decisión adecuada.

 
Garik27p:
Yo también lo he probado así. Pero cuando funciona en el probador, a veces lo hace y a veces no.

Aquí, la respuesta.
 
r772ra:
Justo ahí, la respuesta.


¡¡¡Gracias!!!
 
Desead:
P./S.: Por si acaso, mencionaré que también hay una respuesta parcial a tu pregunta en la "Nota" de la ayuda de NormalizeDouble.

Yo mismo solía olvidar entrar en DoubleToS... ...y luego se preguntaba por los muchos números que había después del punto. :)