Cómo encontrar OP_BUY con el máximo OrderOpenPrice y determinar su OrderProfit. No puedo juntarlos, todo funciona por el culo... Si puede darme un ejemplo de inmediato) Gracias)
Cómo encontrar OP_BUY con el máximo OrderOpenPrice y determinar su OrderProfit. No puedo juntarlos, todo funciona por el culo... Si puede darme un ejemplo de inmediato) Gracias)
previous_value=0;
if (OrderOpenPrice()>previous_value)
{
previous_value=OrderOpenPrice();
profit_order=OrderProfit();
}
Cómo trabajar con un archivo en el programa mql5 sin escribir el archivo en el disco, sino trabajar sólo en la RAM, para acelerar. Quiero transferir datos de un programa mql5 a un programa de mi ordenador. ¿Es posible hacerlo sin funciones de red? No tiene por qué ser un archivo, una matriz o una variable; es incluso mejor. Sólo conozco dos formas, el módulo de integración de python y el web socket, ¿hay alguna otra forma?
Elimino todos los objetos en OnDeInit() mediante un bucle (las flechas que indican las barras de señal y un botón):
constint obj_total=ObjectsTotal();
Print("ObjectsTotal ",obj_total);
for(int i=0 ; i < obj_total ; i++){
Print("ObjectName ",ObjectName(i),", i = ",i);
ObjectDelete(ObjectName(i));
}
Estoy al tanto de ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad aquí está el trabajo del bucle y no entiendo por qué sucede así:
2021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 202021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 192021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 182021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 172021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 162021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 152021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 142021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 132021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 122021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName , i = 112021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName button1, i = 102021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowUp0008, i = 92021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowUp0006, i = 82021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowUp0004, i = 72021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowUp0002, i = 62021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowUp0000, i = 52021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowDown0008, i = 42021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowDown0006, i = 32021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowDown0004, i = 22021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowDown0002, i = 12021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectName ArrowDown0000, i = 02021.09.3004:47:30.4622021.01.0403:56:45 test EURUSD,M1: ObjectsTotal21
Elimino todos los objetos en OnDeInit() mediante un bucle (las flechas que indican las barras de señal y un botón):
Soy consciente de que existe ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad, así es como funciona el bucle y no entiendo por qué ocurre así:
El bucle al borrar debe ser invertido:
for(int i=obj_total-1; i>=0; i--)
y esto se aplica no sólo a la eliminación de objetos gráficos, sino en general a la eliminación de cualquier objeto de las listas del terminal.
Elimino todos los objetos en OnDeInit() por bucle (flechas que indican las barras de señal y un botón):
Estoy al tanto de ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad, así es como funciona el bucle y no entiendo por qué ocurre:
pero si lo intentas de esta manera - sólo tienes que poner todos los nombres
Escribe un ejemplo, porque ya estoy un poco confundido. Si no es mucho problema. Gracias
En el bucle de búsqueda de pedidos:
if (OrderOpenPrice()<previous_value) { previous_value=OrderOpenPrice(); nearest_order=OrderTicket(); }Antes del bucle, inicializar previous_value=DBL_MAX a nearest_order=0
en el bucle de pedido:
inicializar previous_value=DBL_MAX a nearest_order=0 antes del bucle
Exactamente. Gracias. Obras
en el bucle de pedido:
inicializar previous_value=DBL_MAX a nearest_order=0 antes del bucle
DBL_MAX es categórico).
Lo principal funciona)
Cómo encontrar OP_BUY con el máximo OrderOpenPrice y determinar su OrderProfit.
No puedo juntarlos, todo funciona por el culo... Si puede darme un ejemplo de inmediato) Gracias)
Lo principal funciona)
Cómo encontrar OP_BUY con el máximo OrderOpenPrice y determinar su OrderProfit.
No puedo juntarlos, todo funciona por el culo... Si puede darme un ejemplo de inmediato) Gracias)
Sólo quería decir que ya he terminado.
Pero usted lo ha hecho más compacto. Me quedo con tu sugerencia).
Gracias
Elimino todos los objetos en OnDeInit() mediante un bucle (las flechas que indican las barras de señal y un botón):
Estoy al tanto de ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad aquí está el trabajo del bucle y no entiendo por qué sucede así:
Elimino todos los objetos en OnDeInit() mediante un bucle (las flechas que indican las barras de señal y un botón):
Soy consciente de que existe ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad, así es como funciona el bucle y no entiendo por qué ocurre así:
El bucle al borrar debe ser invertido:
y esto se aplica no sólo a la eliminación de objetos gráficos, sino en general a la eliminación de cualquier objeto de las listas del terminal.
Elimino todos los objetos en OnDeInit() por bucle (flechas que indican las barras de señal y un botón):
Estoy al tanto de ObjectsDeleteAll(), pero aún así si lo hago a través de un bucle, sólo se borran la mitad de los objetos en uno. En realidad, así es como funciona el bucle y no entiendo por qué ocurre:
pero si lo intentas de esta manera - sólo tienes que poner todos los nombres