Hola. ¿Pueden decirme cómo organizar un retraso en la ejecución? Para que después de una nueva vela, transcurran 10 segundos antes de que se realice la actualización.
#define WM_COMMAND 0x0111#property indicator_chart_window#import "user32.dll"int RegisterWindowMessageA(string lpstring);
int PostMessageA(int hWnd,int Msg,int wParam,string lParam);
int New_Bar;
datetime Time_0;
#import
int start()
{
New_Bar=0; // Для начала обнулимсяif (Time_0 != Time[0]) // Если уже другое время начала бара
{
New_Bar= 1; // А вот и новый бар
Time_0 = Time[0]; // Запомним время начала нового бара
PostMessageA (WindowHandle (Symbol(), Period()), WM_COMMAND, 33324, 0);
PostMessageA (WindowHandle (Symbol(), 0), RegisterWindowMessageA ("MetaTrader4_Internal_Message"), 2, 1);
}
return(0);
}
Dmitry Ivkin: Hola, te pido que escribas un código con la condición de que si eliminas un objeto del gráfico, el resto (según lo que elijas) se elimine
Tengo otros objetos unidos a un objeto, y cuando elimino este objeto, el resto se queda colgado en el gráfico
Al crear objetos, utilizo prefijos, es decir, nombres que comienzan. Por ejemplo: ObjectCreate("777_a" ... ObjectCreate("777_z" y luego eliminar el grupo ObjectsDelete(0, "777_")
Hola. ¿Pueden decirme cómo organizar un retraso en la ejecución? Quiero esperar 10 segundos después de una nueva vela antes de ejecutar la actualización.
La forma más fácil es añadir Sleep(10000); después de Time_0 = Time[0]; y creo que la directiva #import inferior debería subir 2 líneas
La forma más fácil es insertar Sleep(10000); después de Time_0 = Time[0]; y creo que la directiva #import inferior debe ser elevada 2 líneas más arriba
Sí, eso sería un Asesor Experto... No se puede en el indicador de sueño, por desgracia.
STARIJ: En la creación de objetos utilizo un prefijo, es decir, el comienzo de un nombre. Por ejemplo: ObjectCreate("777_a" ... ObjectCreate("777_z" y luego borro el grupo ObjectsDelete(0, "777_")
Gracias por responder, no no entiendes, tengo otros objetos adjuntos al objeto, y si borras el indicador entonces todo es normal, pero si haces click derecho y borras entonces borras exactamente 1 objeto y necesitas todos los adjuntos, espero que entiendas)
Gracias por responder, no, no entiendes, tengo otros objetos adjuntos al objeto y si borras el indicador entonces todo está bien, pero si haces clic derecho y borras entonces se borrará 1 objeto y necesito todos los adjuntos, espero que entiendas)
Comprobar periódicamente(¿cada tick?) la presencia del objeto principal y eliminar los objetos hijos por el prefijo si está ausente
Hace mucho tiempo que no escribo en MQL4, ahora necesito reescribir mi EA desde MQL5. El código que debe abrir 1 operación en el símbolo donde se encuentra el EA, ¿es correcto?
Me encontré con otro matiz en el que no había pensado antes
1) Tenemos muchos Asesores Expertos instalados en los pares
2) Al abrir una orden por cualquier Asesor Experto con su propia configuración (algún EA abre 0.1 o 0.5, por ejemplo), este registro aparecerá en la línea de EAs
3) Se lee la línea "Expertos" y otros robots se borrarán si hay posiciones abiertas por más de x lotes.
La cuestión es cómo leerlo y procesarlo... no está incluido en los archivos de registro.
Hola. ¿Pueden decirme cómo organizar un retraso en la ejecución? Para que después de una nueva vela, transcurran 10 segundos antes de que se realice la actualización.
Tengo otros objetos unidos a 1 objeto, y cuando se elimina este objeto, el resto se queda colgado en el gráfico
Hola, te pido que escribas un código con la condición de que si eliminas un objeto del gráfico, el resto (según lo que elijas) se elimine
Tengo otros objetos unidos a un objeto, y cuando elimino este objeto, el resto se queda colgado en el gráfico
Hola. ¿Pueden decirme cómo organizar un retraso en la ejecución? Quiero esperar 10 segundos después de una nueva vela antes de ejecutar la actualización.
La forma más fácil es añadir Sleep(10000); después de Time_0 = Time[0]; y creo que la directiva #import inferior debería subir 2 líneas
La forma más fácil es insertar Sleep(10000); después de Time_0 = Time[0]; y creo que la directiva #import inferior debe ser elevada 2 líneas más arriba
En la creación de objetos utilizo un prefijo, es decir, el comienzo de un nombre. Por ejemplo: ObjectCreate("777_a" ... ObjectCreate("777_z" y luego borro el grupo ObjectsDelete(0, "777_")
Gracias por responder, no no entiendes, tengo otros objetos adjuntos al objeto, y si borras el indicador entonces todo es normal, pero si haces click derecho y borras entonces borras exactamente 1 objeto y necesitas todos los adjuntos, espero que entiendas)
Gracias por responder, no, no entiendes, tengo otros objetos adjuntos al objeto y si borras el indicador entonces todo está bien, pero si haces clic derecho y borras entonces se borrará 1 objeto y necesito todos los adjuntos, espero que entiendas)
Hace mucho tiempo que no escribo en MQL4, ahora necesito reescribir mi EA desde MQL5. El código que debe abrir 1 operación en el símbolo donde se encuentra el EA, ¿es correcto?
En el Probador de Estrategias se abren 2 operaciones por alguna razón
Me encontré con otro matiz en el que no había pensado antes
1) Tenemos muchos Asesores Expertos instalados en los pares
2) Al abrir una orden por cualquier Asesor Experto con su propia configuración (algún EA abre 0.1 o 0.5, por ejemplo), este registro aparecerá en la línea de EAs
3) Se lee la línea "Expertos" y otros robots se borrarán si hay posiciones abiertas por más de x lotes.
La cuestión es cómo leerlo y procesarlo... no está incluido en los archivos de registro.