Saturday, 4 November 2017

Crear Un Sistema De Comercio Mecánico Parte 3 Obtener Cotizaciones En Tiempo Real Utilizando Dde


Crear un sistema de comercio mecánico Parte 3: Obtener cotizaciones en tiempo real utilizando DDE Introducción Este es el tercer artículo de la serie: Crear un sistema de comercio mecánico Parte 3: Obtener cotizaciones en tiempo real utilizando DDE El primer artículo de esta serie presentó un proyecto para codificar robots mecánicos de sistemas comerciales para la plataforma utilizando el lenguaje C #. El segundo artículo introdujo cómo codificar un sistema comercial que observará la acción del precio y tomará decisiones de compra o de venta. En este artículo se muestra cómo obtener cotizaciones de divisas en tiempo real para varios pares de divisas utilizando el protocolo DDE y el terminal de comercio Metatrader 4. Es el objetivo de este proyecto escribir un programa que no depende de ninguna plataforma subyacente para ejecutar, sino que más bien recibe datos de precios directamente de un corredor y coloca pedidos a través de una API. El código proporcionado aquí es parte de un proyecto más grande para crear una plataforma de backtesting y un robot automatizado FOREX. El código fuente para este proyecto está disponible en 4xlab / Fondo DDE (Dynamic Data Exchange) es un sistema de comunicación entre procesos que permite a dos aplicaciones compartir los mismos datos. Este mecanismo es obsoleto en favor de otras alternativas como OLE o COM. En aplicaciones financieras, es popular y las aplicaciones habilitadas por DDE todavía se están construyendo. La interacción entre un proveedor de cotizaciones y un cliente suele estar limitada a recibir cotizaciones en tiempo real. DDE no se utiliza para obtener datos históricos o para entrar en operaciones. Para que se produzca un diálogo DDE, deben ejecutarse dos aplicaciones, el servidor o el proveedor de datos y el cliente o consumidor. Si la aplicación de servidor no se está ejecutando, los intentos de conexión de cliente fallarán. En este ejemplo, el servidor será Metatrader Terminal 4.0 y los clientes serán Microsoft Excel y el cliente 4D DDE. Conectando a Metatrader 4 usando Excel: La instalación predeterminada de Metatrader no habilita el servidor DDE. Debe activarse manualmente una vez. Para ello, haga clic en Herramientas - & gt; Opciones en la pestaña Servidor (seleccionada de forma predeterminada), asegúrese de que la opción 'Habilitar servidor DDE' esté activada, haga clic en Aceptar para guardar las opciones. Una vez que Metatrader esté en ejecución, conectado a un servidor y su servidor DDE haya sido habilitado, inicie Excel. Para probar la conexión, escriba una celda = MT4 | ASK! EURUSD. Este comando obtiene la cotización ASK para el par EUR USD utilizando el servidor MT4 DDE. El contenido de la celda debe mostrar el último precio de solicitud para el par y actualizar automáticamente este valor en tiempo real si todo funciona correctamente. Si Metatrader no se está ejecutando o si el servidor DDE no está habilitado, Excel intentará iniciarlo utilizando el nombre de archivo MT4.exe no existente, que fallará y #VALUE! O #REF! Se mostrará en las celdas utilizando datos en vivo. Excel implementa un cliente DDE con una sintaxis que es extremadamente fácil de usar y ayuda en la depuración. Para comunicarse, el cliente necesita conocer el nombre de la aplicación DDE, el tema DDE y el elemento DDE. Para realizar una solicitud, la sintaxis es la siguiente: = DDEAppName | DDETopic! DDEItem Para comunicarse con Metatrader 4, el DDEAppName es MT4, el DDETopic es uno de los comandos enumerados a continuación y el DDEItem es el par de divisas que le interesa. MT4 DDE Temas Artículo: Par de monedas Ejemplo: = MT4 | BID! USDCHF Salida de la muestra: 1.2472 Devuelve el BID o precio de venta del par Artículo: Par de monedas Ejemplo: = MT4 | ASK! GBPUSD Salida de muestra: 1.8656

No comments:

Post a Comment