Iniciar Kick Via BatchVBScript

 

Publi

Resultados 1 al 7 de 7

Tema: Iniciar Kick Via BatchVBScript

  1. #1
    ¿Es factible comenzar una operación a través de una secuencia de comandos vbs o heap? Tengo una aplicación que no tiene puerto con MetaTrader, pero me encantaría automatizar un sistema de comercio basado en que tiene señales.

    FYI: Este no es un sistema basado en la web al que tenga acceso de ninguna manera (es decir, no puedo construir una aplicación dll o componente para comunicarme con esto).

  2. #2
    Debería ser posible, si los dos programas (MT4 sistema externo) se encuentran en la misma PC exacta. Su sistema externo debe colocar un documento de la carpeta MT4expertsfiles. Usted crea un EA en MT4 que está buscando este documento. Lea el documento, si lo encuentra y procese los pedidos. El EA escanea cada momento más o menos para otro archivo y borra el documento una vez hecho. gl,

  3. #3
    Eso suena como un plan. Supongo que sería más fácil que mi plataforma externa produzca un archivo de evaluación de 0 bytes llamado trade.txt y cuando el EA vea ese documento, comenzará una operación. ¿Hay algún artículo o documentación que muestre cómo asignar una variable en un archivo externo como ese?

  4. #4
    Estoy echando un vistazo a los documentos que son kernel32. ¿Es esta una declaración válida: string ReadFile (ruta de la cadena) {int handle = _lopen (ruta, OF_READ); if (handlelt; 0) factor = 0/0 para no comercializar else factor = 1/1 para el comercio

  5. #5
    Por lo tanto, he completado un script que hará lo que estoy buscando para hacer cambios. Para que este script funcione, ¿cómo agrego el elemento de tiempo? Además, no quiero que se opere cuando actualmente hay una operación en progreso. Código insertado #include lt; stdlib.mqhgt; #include lt; WinUser32.mqhgt; int filetrade;/lopen #define OF_READ 0 #define OF_WRITE 1 #define OF_READWRITE 2 #define OF_SHARE_COMPAT 3 #define OF_SHARE_DENY_NONE 4 #define OF_SHARE_DENY_READ 5 #define OF_SHARE_DENY_WRITE 6 #define OF_SHARE_EXCLUSIVE 7 #import kernel32.dll int _lopen (cadena de ruta, int de); int _lcreat (ruta de cadena, int attrib); int _llseek (int handle, int offset, int fuente); int _lread (int handle, string buffer, int bytes); int _lwrite (int handle, string buffer, int bytes); int _lclose (int handle); #import/ --------------------------------------------- --------------------- /| inicio de programa de script operar |/ ----------------------------------------------- ------------------- inicio de cadena (ruta de cadena)/- int handle = _lopen (C: trade.txt, OF_READ); if (handlegt; 0) if (MessageBox (¿De verdad quieres COMPRAR 1.00 Symbol () al precio de ASK?, Script, MB_YESNO else Imprimir (Error al abrir el archivo, ruta); return (); int effect = _llseek (handle , 0,0); result = _lclose (handle); return (0);

  6. #6
    Sospecho que si ejecuto esto como EA, verificará continuamente el documento (siempre que no haya operaciones abiertas). ¿Es esta una suposición correcta? Además, por alguna razón, el script no cierra el documento. Esta es mi secuencia de comandos actualizada: Código insertado #include lt; stdlib.mqhgt; #include lt; WinUser32.mqhgt; extern string filetrade = C: \ trade.txt;/lopen #define OF_READ 0 #import kernel32.dll int _lopen (cadena de ruta, int de); int _llseek (int handle, int offset, int fuente); int _lclose (int handle); #import/ --------------------------------------------- --------------------- /| programa de script comienza a operar |/ ----------------------------------------------- ------------------- inicio de cadena (ruta de cadena)/- int handle = _lopen (filetrade, OF_READ); int result = _llseek (manage, 0,0); int total = OrdersTotal (); should (handlegt; 0) if (totallt; 1) MB_ICONQUESTION)! = IDYES) return (1); int ticket = OrderSend (Symbol (), OP_BUY, 1.0, Ask, 3,0,0, comentario del especialista, 255,0, CLR_NONE); should (ticketlt; 1) int error = GetLastError (); Imprimir (Error =, ErrorDescription (error)); regreso; OrderPrint (); resultado = _lclose (manejar); else Imprimir (Error al abrir el archivo, ruta); resultado = _lclose (administrar); regreso (); resultado = _lclose (administrar); return (0);

  7. #7
    Descubrí cómo reparar el script sin cerrar el archivo, aunque entiendo la lógica. En retrospectiva, supongo que esto tiene sentido siempre que se pueda abrir el archivo, el valor de manejar no sería 0. Necesitaba poner la instrucción de cierre directamente después de la instrucción abierta: Inserted Code int complete = OrdersTotal (); int handle = _lopen (filetrade, OF_READ); int fclose = _lclose (administrar); cuando (handlegt; 0) ...

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.