¿Actualizar EA cada milisegundo y no cada tick?
4 respuestas
JS17
hace 6 años #202369
Hola a todos,
¿Cómo consigo que un EA se ejecute cada milisegundo y no sólo cuando el EA recibe un tick?
Saludos
John
Karish
hace 6 años #202381
1st option is: http://www.forexmt4.com/Windows%20programs/MSFX-MT4TickSender-Setup.exe
La segunda opción es:
crear un archivo de secuencia de comandos poner el siguiente código en el interior y compilar
envía sa tick falso cada 100 ms a la carta y todos sus indicadores y EA hasta que esta secuencia de comandos ser eliminado..
#importar "user32.dll"
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
int RegistrarMensajeVentanaA(cadena lpString);
1TP11Importaciónint inicio(){
int hwnd=WindowHandle(Símbolo(), Periodo());
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
while(!IsStopped()){
PostMensajeA(hwnd, msg, 2, 1);
Sleep(100); //1000=1seg..
}
}
Suerte
JS17
hace 6 años #202404
Karish
Gracias por la respuesta
¿No es posible hacerlo dentro del Asistente de EA utilizando algún tipo de función de temporizador?
Saludos
John
Karish
hace 6 años #202412
La mejor opción para usted es hacer una MT4 separada y hacer un TEMPLATE por defecto con ese script ya dentro,
para que no tenga que arrastrar y soltar siempre este script en el gráfico después de soltar el EA dentro de ese gráfico.
simplemente abra un gráfico al azar > Plantillas > Guardar Plantilla > guárdela como Predeterminada > Reemplace esa nueva Plantilla por la Plantilla "Predeterminada" más antigua.
Es mejor no tocar el código fuente de Wiz para esto..., no vale la pena.
Usted querrá modificar el script ya existente con este código para ver que el script ya está adjunto en el gráfico cuando planee hacer una plantilla por defecto con él,
#importar "user32.dll"
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
int RegistrarMensajeVentanaA(cadena lpString);
1TP11Importaciónint inicio(){
Text("#Fake Ticker Script is attached.", "fake_tick_obj",7, "Arial Bold",2,3,2,White);
int hwnd=WindowHandle(Símbolo(), Periodo());
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
while(!IsStopped()){
PostMensajeA(hwnd, msg, 2, 1);
Sleep(100); //1000=1seg..
}
}void Texto(cadena texto,cadena identidad,int tamaño texto,cadena fuente texto,int x,int y,int z,color c)
{
ObjectDelete(identidad);
ObjectCreate(identidad,OBJ_LABEL,0,0,0);
ObjectSet(identidad,OBJPROP_XDISTANCE,x);
ObjectSet(identidad,OBJPROP_YDISTANCE,y);
ObjectSet(identidad,OBJPROP_CORNER,z);
ObjectSetText(identity,text,textsize,textfont,c);
}int deinit() {
ObjectDelete("fake_tick_obj");
return(0);
}
esto le mostrará un msg en la esquina inferior izquierda del gráfico que el script se está ejecutando, para que usted sepa..,
buena suerte con lo que intentas hacer 🙂 .
JS17
hace 6 años #202464
Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)