Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 74
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
hay una variable
int Nivel = 0;
Mientras el programa está en marcha, cambia constantemente. Ayúdeme a escribir una condición: si el Nivel NO ha cambiado, entonces no haga nada. Si el Nivel ha cambiado (no importa si ha cambiado hacia arriba o hacia abajo), entonces haga alguna acción { operador }
introducir otra variable
int Nivel1 = 0;
int Nivel = 0;
si (Nivel !=Nivel1)
{};
y luego Nivel1 =Nivel
pero realmente no entiendo por qué tenemos que sacar un array en cada tick si podemos hacerlo después de cualquier operación
introducir otra variable
int Nivel1 = 0;
int Nivel = 0;
si (Nivel !=Nivel1)
{};
y luego Nivel1 =Nivel
No entiendo muy bien por qué tengo que sacar un array en cada tick, si puedo hacerlo después de cualquier operación
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
Además, necesito que ocurra cuando SELL_Lvl aumenta:
Pero, como la condiciónSELL_Lvl>0 se cumple, la línea se vuelve a trazar, pero por un nuevo valor deSELL_NoLossLevel. ¿Existe una forma más fácil y obvia de redibujar la línea, en función deSELL_Lvl?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
Entonces necesito hacer que la línea se redibuje cuando SELL_Lvl aumente:
Pero como la condiciónSELL_L_Lvl>0 se cumple, la línea debe volver a dibujarse, pero con un nuevo valor deSELL_NoLossLevel. ¿Existe una forma más fácil y obvia de redibujar la línea, en función del valor deSELL_Lvl?
Transfiere el objeto al nuevo valor sin borrarlo ni recrearlo:
Transfiere el objeto al nuevo valor sin borrarlo ni recrearlo:
Esto es ciertamente una opción, pero me gustaría que la línea se redibujara por el valor deSELL_NoLossLevel dependiendo de siSELL_Lvlha cambiado
así if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
La línea se redibuja en cada tick mientras que necesito que se redibuje sólo siSELL_Lvl cambia
Por supuesto es una variante, pero me gustaría que la línea se redibujara porSELL_NoLossLevel dependiendo de siSELL_Lvl ha cambiado
así if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
La línea se redibuja en cada tick, mientras que yo necesito que se redibuje sólo siSELL_Lvl cambia
Explicar claramente la condición de redistribución de líneas, con valores de precios reales.
Para la línea resaltada: ¿cuánto ha cambiado? ¿Qué indica que SELL_Lvl ha cambiado?
quiero saber que función usar para cerrar una orden pendiente en mcl5.
Es mejor hacer un bucle, determinar el correcto y por documentación
Borrar orden pendiente
Orden comercial para eliminar una orden pendiente. Requiere que se especifiquen 2 campos:
Mejor pasar por el ciclo, identificar el correcto y seguir la documentación
Escriba claramente la condición para el rediseño de la línea, con valores de precios reales, y entonces entenderá lo que tiene que hacer.
En los destacados: ¿en cuánto ha cambiado? ¿Qué indica que SELL_Lvl ha cambiado?
Les agradecería que me dijeran cómo encontrar el precio de un pedido mínimo.
Hay un ejemplo en la documentación.
Probablemente sería mejor recorrer las órdenes en el bucle y, siempre que la siguiente orden sea inferior a la anterior, seleccionarla para seguir trabajando con ella. Así, cuando salgamos del bucle, se seleccionará la orden a eliminar.
O puede guardar primero su posición en la lista de pedidos en el bucle y después de la salida del bucle seleccionarlo por el índice guardado.