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
No entiendo muy bien por qué tengo que sacar un array en cada tick, si puedo hacerlo después de cualquier operación
if(SELL_Lvl>0) { ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel); }
Además, necesito que ocurra cuando SELL_Lvl aumenta:
ObjectDelete( "Sell no loss level");
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?
if(SELL_Lvl>0) { ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel); }
Entonces necesito hacer que la línea se redibuje cuando SELL_Lvl aumente:
ObjectDelete( "Sell no loss level");
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:
ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Mejor pasar por el ciclo, identificar el correcto y seguir la documentación
Necesito un ticket de pedido inferior para cerrarlo, sé cómo encontrar el precio de pedido inferior, agradecería que me dijeran cómo encontrar un ticket de pedido inferior
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?
SELL_Lvl es el número de rodillas (órdenes) de la parrilla de venta.SELL_NoLossLevel es el nivel total (precio) de la orden de compra. Bien, la idea es la siguiente: necesitamos una línea dibujada a nivel de una Línea de Compra y redibujada respectivamente cuando se abren nuevas Líneas. No sé cómo hacerlo.
TYRBO: 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.
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.