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

 
kosolapov:
¿Puede decirme cómo comparar el precio actual de la barra actual con el precio máximo de la barra anterior?

Oferta - precio actual de la barra actual,

High[1] - precio máximo de la barra anterior

 

Amigos, ¿cómo puede ser esto? Un fenómeno incomprensible de la naturaleza queda plasmado en la captura de pantalla.


 
artmedia70:

Quizá sepas por qué en la visualización el código devuelve la variable angle_line (devuelve el ángulo normalmente), pero en la prueba y ejecución no lo hace (devuelve el ángulo 0). Gracias.

//+------------------------------------------------------------------+
int inicio()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2];
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2];
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0];
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]);

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE);

Print(" ángulo_línea ",ángulo_línea);

return(0);
}
//+------------------------------------------------------------------+

 
kosolapov:
¿Puede decirme cómo comparar el precio actual de la barra actual con el precio máximo de la barra anterior?
if (Close[0] < High[1]) {

   ...

}
 
¿Hay alguna manera de seguir todas las acciones del EA, es decir, crear variables, asignarles valores, comparar condiciones, etc.?
 
001:

Quizá sepas por qué en la visualización el código devuelve la variable angle_line (devuelve el ángulo normalmente), pero en la prueba y ejecución no lo hace (devuelve el ángulo 0). Gracias.

//+------------------------------------------------------------------+
int inicio()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2];
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2];
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0];
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]);

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE);

Print(" ángulo_línea ",ángulo_línea);

return(0);
}
//+------------------------------------------------------------------+


No se construyen objetos durante las pruebas y la optimización
 
Vinin:

Los objetos no se construyen durante las pruebas y la optimización

¿Cómo puedo averiguar el ángulo de una recta en un EA en estos casos?
 
001:

¿Cómo se averigua el ángulo de una recta en estos casos, en el EA?

Cuenta. Todo el mundo ha estudiado aritmética
 
Buenas noches! El error 4051 se está escribiendo después de una larga ejecución normal, y de repente, a unas 200 veces, la orden pendiente no se coloca. El error 4051 es
Valor no válido de un parámetro de la función

También escribe lote de discapacitados algo. Calculo el volumen del lote*A, donde extern double volume=0,1; A=NormalizeDouble(A,0);

Aquí, por orden, está toda la orden

 tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point,Point * 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( ));  }M=0;
   if (GetLastError( )!=0){Alert ("tiket",tiket," volume*A ",volume*A," Price +otstup*Point ",Price +otstup*Point," Price+takeprofit*Point+otstup*Point ",Price+takeprofit*Point+otstup*Point);}

Y A toma valores entre uno y dieciséis...

 
¡¡¡Estoy perdido!!! ¿Qué le falta? Sí, y la última alerta no funciona... Y esto también.
if (GetLastError( )!=ERR_NO_ERROR){Alert ("t