Discusión sobre el artículo "Optimización móvil continua (Parte 1): Mecanismo de trabajo con los informes de optimización" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El artículo es interesante. Todo está claramente descrito. Estoy aprendiendo a programar en C#. ¿Es posible escribir un robot en C #? ¿Y cómo hacerlo para que pueda operar en termenal? ¡Muchas gracias!
Todo es posible, pero es mucho mejor escribirlo en MQL5. Sin embargo, ya sea con fines educativos o para otras necesidades, puedes intentarlo. Hay varias opciones, la más simple y óptima de ellas es escribir toda la lógica en C# en la dll del proyecto (librería dinámica). A continuación, declarar una clase pública con un número de métodos estáticos públicos en ella (que serán exportados como funciones C en MQL5). Aproximadamente, la clase debe contener un método que inicializa el robot, destruye el robot y se llama en cada tick (similar a OnInit, OnDeinit, OnTick). A continuación se crea el robot en MQL5 donde se exportan las funciones estáticas mencionadas de la dll creada y tras la compilación se obtendrá el siguiente acoplamiento:
1. MQL5 llama al método de inicialización de la dll en OnInit. La dll inicializa la clase robot en una variable estática.
2. MQL5 OnTick llama al método OnTick de la dll, y en respuesta recibe una señal para vender / comprar / no hacer nada. Si es necesario entrar en un acuerdo, entramos usando el código escrito en MQL5.
3. MQL5 OnDeinit borra el robot, llamamos al método OnDeinit de la dll y hacemos algo. En C# no es necesario borrar clases, Garbige Collector lo hace, todo con la memoria está prácticamente automatizado allí.
Es decir, los cálculos están en el lado de C#, y el comercio está en el lado de MQL5.
También hay algunas API similares para el terminal, donde el código de C# interactúa directamente con MQL5 a través de tuberías u otras conexiones. Incluso me encontré con un proyecto de este tipo en github, pero en mi opinión es más fácil escribir todo a través de una dll.
En la última serie de artículos sobre la gestión de la optimización, mostré cómo utilizar una dll para conectar WPF GUI con C#. Usted puede utilizar el mismo método para transferir el robot a C #. Antes de mi artículo también escribieron sobre la GUI, pero sólo WinForms y MQL5, he adoptado parte de este mecanismo, no recuerdo el enlace a ese artículo, pero también es bastante útil. Creo que me referí a él en alguna parte de este artículo.
Tambien, en el 3er articulo de esta serie de articulos, se describe como exportar una serie de funciones estaticas a MQL5 desde dll.
Antes de poder utilizar este programa, ¿tendré que convertirlo utilizando Visual Studio?
Hola!
Antes de poder usar este programa, ¿tendré que convertirlo usando Visual Studio?
Hola. Este es el primer artículo de 5 partes que ya están publicados. En la parte 4rth - hay programa completo. Y sí, usted tiene que compilar algún código que Visual Studio. Si hablar de código que donde ateched al artículo actual - así que sí, debe ser compilado en Visual Studio.