MQL prácticamente. Conceptos Básicos y Pulso del Mercado [Curso de Programación]
en el ciclo MQL prácticamente Le proporcionaremos los conocimientos necesarios para empezar a trabajar con aplicaciones escritas en MQL 4 para la plataforma Meta Trader. El tema de la programación es, por supuesto, muy amplio, pero el propósito de esta serie no es cubrir todos los temas posibles y llenarlo con teorías complicadas. El objetivo de esta serie es mostrarle cómo empezar a trabajar con MQL y proporcionarle conocimientos que le permitirán desarrollarse por su cuenta en este espectro.
Para las tareas que realizaremos juntos, es necesaria una instalación separada de la plataforma MetaTrader 4, en la que sólo está instalada la cuenta demo de cualquier corredor. No queremos hacer un lío con la factura real. Esta puede ser la versión original de la plataforma MT4.
Funciones basicas
Comencemos con lo básico, es decir, cómo se ve la ventana de la plataforma MT4 y qué funciones contiene relacionadas con las aplicaciones escritas en MQL. Echemos un vistazo a la imagen de abajo.
Hay una ventana en el lugar marcado con uno. "Navegador" (Ctrl+N). El panel nos da acceso a todas las herramientas MQL instaladas en una plataforma determinada y se divide en: “Indicadores”, "Estrategias" i "Guiones". Ejecutamos programas arrastrándolos al gráfico seleccionado y configurando los parámetros de una aplicación determinada en la ventana mostrada. En el lugar marcado con un dos vemos una ventana de configuración de ejemplo. Todos los parámetros que se pueden configurar para la aplicación están disponibles aquí, pero centrémonos en los elementos básicos que son comunes a todos los programas. Campo "Habilitar el comercio" Los usuarios a menudo lo pasan por alto, y la marca en este punto determina si el algoritmo podrá concluir transacciones. Esta característica le permite deshabilitar y habilitar la funcionalidad comercial para cada algoritmo individualmente, a diferencia de las funciones. “Comercio automático”, marcado con un tres, que es una opción de desactivación global para todas las herramientas que funcionan en una determinada plataforma Meta Trader para concluir transacciones.
Creo que no es necesario molestarle con funciones adicionales en este momento. La información anterior es suficiente para ejecutar con éxito nuestro primer programa.
Podemos empezar a pensar en la programación. La plataforma MetaTrader tiene un entorno de desarrollo de aplicaciones integrado. El entorno es accesible desde el menú. “Herramientas/Editor de lenguaje MQL4”.
Después de seleccionar la opción en el menú, se abrirá una nueva aplicación: “MetaEditor”. Aquí escribiremos algoritmos para la plataforma MT4. Detengámonos aquí un momento y conozcamos los elementos más importantes del editor.
En el lado izquierdo de la ventana, como en el propio MT4, hay un panel "Navegador". En el lugar marcado con uno en la figura anterior, expandimos el contenido del directorio Expertos, y luego, haciendo doble clic en el nombre del programa, abrimos su código fuente, que apareció en la parte de la ventana marcada con el número dos. . Aquí es donde creamos y editamos algoritmos. Cuando terminemos de escribir la aplicación, debemos transformarla a un formato legible por computadora, es decir, compilar el programa seleccionando la opción "Compilar" (F7), marcado con un tres. El algoritmo compilado se puede encontrar en el panel. "Navegador" plataforma MT4 y ejecútelo arrastrando al gráfico seleccionado. Exactamente como en la parte anterior de este artículo.
Árbol joven “El Navegante” refleja la estructura de los archivos ubicados en el directorio MQL4, es decir, el directorio en el que una plataforma determinada almacena todas las aplicaciones escritas en MQL. Cuando queramos instalar una aplicación, por ejemplo una aplicación disponible como parte de nuestro ciclo, debemos copiar el archivo al directorio MQL4, recordando que "Estrategias" colocamos en el catalogo “MQL4\Expertos”, “Indicadores” en el catalogo “MQL4\Indicadores” y que cada copia de la plataforma Meta Trader 4 instalada en el ordenador tenga su propio directorio MQL4. En la siguiente imagen se muestra cómo encontrar el directorio MQL4 de una plataforma determinada (haga clic derecho en el icono MQL4).
Ya sabemos cómo ejecutar, instalar y escribir aplicaciones para Meta Trader 4. Así que vayamos al grano y comencemos a aprender a programar.
Creamos la primera aplicación.
Para que puedas dar tus primeros pasos como programador, escribiremos juntos una pequeña aplicación que nos informará sobre la actividad actual del mercado. la nombraremos “Puls Rynku”, y lo usaremos mientras navegamos por la prensa, esperando que aparezca la variabilidad deseada, que escucharemos gracias al cambio en la frecuencia de los sonidos generado por nuestro algoritmo.
Como archivo adjunto a este artículo en: ESTE ENLACE Encontrarás un archivo de sonido. “pulse_beep.wav”. Por favor ponlo en el directorio. "Sonidos", que se encuentra en el directorio principal de la plataforma MT4. Catalogar "Sonidos" se puede ubicar abriendo las propiedades del acceso directo del iniciador de terminal, como en la imagen a continuación.
Las imágenes siguientes muestran cómo crear un nuevo archivo de estrategia automático, casi vacío. En la ventana MetaEditor, seleccione una función "Nuevo", luego seleccione “Asesor experto”, seleccione el nombre del programa y haga clic en "Siguiente" hasta que aparezca una nueva plantilla de programa en el editor.
No tomamos el camino fácil y eliminamos todo el contenido del archivo en la ventana marcada con uno en la última imagen. Nosotros mismos escribiremos el código completo de nuestra aplicación. Empecemos.
// Puls Rynku.mq4
// Copyright 2019, Mistrz Programowania
// https://www.mistrz.ty
Al ingresar "//" al principio de la línea, creamos comentarios, es decir, fragmentos que utilizamos nosotros, como programadores, para crear todo tipo de información y notas dentro del código. Los comentarios no afectan el funcionamiento del programa. Usando comentarios, puede crear un encabezado para su aplicación, que proporcionará, por ejemplo, datos sobre el autor, información sobre la aplicación en sí o derechos de autor. Creemos un encabezado (o no) y luego coloquemos el siguiente código en una nueva línea.
#property strict
Los parámetros de tipo “#property” le permiten proporcionar a la plataforma información adicional sobre el programa que se está creando. El parámetro "#property estricto", colocado al principio de la línea, informa a la plataforma que el algoritmo se creó utilizando la última sintaxis de MQL4.
En el siguiente paso, ingrese la siguiente operación en una nueva línea.
input string Plik_dzwiekowy = "pulse_beep.wav";
Palabra "Entrada" informa al programa que estamos creando un parámetro que nos permitirá ingresar las configuraciones necesarias para que el programa se ejecute. Después "Entrada" Siempre especificamos el tipo de datos ingresados, aquí está "Cadena" es decir, texto. Luego creamos un nombre de variable o, en términos simples, el nombre de un fragmento de la memoria de la computadora al que podremos consultar en el futuro para leer los datos ingresados. Llamamos a nuestra variable "Archivo de sonido", es del tipo cadena, lo que significa que nos permitirá ingresar texto en el programa que usaremos como nombre del archivo de sonido que usará nuestro algoritmo.
Después del nombre de la variable vemos un signo igual. Significa que el texto se asignará a nuestra variable. “pulse_beep.wav”. Este valor servirá como valor predeterminado en este caso y se puede cambiar después de arrastrar el programa al gráfico en la ventana de configuración. Ahora hemos definido una operación de asignación de datos. Esta es una operación sencilla y termina con un punto y coma.
Aquí deberías detenerte por un momento y leer sobre los tipos de datos. En la línea anterior utilizamos el tipo de datos "Cadena", pero hay muchos más tipos y son una parte fundamental del lenguaje que no se puede omitir. Incluyo la dirección de un fragmento de la documentación que describe los tipos de datos del lenguaje MQL4.
Seguimos escribiendo.
void OnTick()
{
PlaySound(Plik_dzwiekowy);
}
La notación anterior define una función. “Al marcar()”. Las funciones son elementos del algoritmo encargados de realizar las operaciones que se les asignan. En este caso, vemos una función integral del lenguaje MQL, cuya tarea es realizar una operación cuando cambia el precio del instrumento en el que trabaja nuestro algoritmo. La plataforma llamará a esta función cada vez que aparezca un nuevo tick. Definimos las operaciones a realizar por cada función que escribimos. Aquí tenemos total libertad y prácticamente ninguna restricción. Esta vez, sin embargo, seremos comedidos y sólo reproduciremos el archivo de sonido previamente especificado usando el parámetro "Entrada". Para ello utilizaremos otra función también integrada en el lenguaje MQL 4: “PlaySound(nombre de archivo de cadena)”, cuya tarea es reproducir un archivo de sonido con el nombre que recibe utilizando una variable del tipo de datos "cadena", que espera entre corchetes después del nombre de la función. La operación de llamar a una función. "Reproducir sonido" Terminamos con punto y coma porque, al igual que la operación de asignación de datos, es una operación sencilla.
Como probablemente sepas, llegado a este punto necesitas profundizar en las operaciones disponibles en la sintaxis del lenguaje.
¡Presione compilar!
Mantengo los dedos cruzados para que todo se vea como en la imagen de arriba. Si es así, la compilación fue exitosa. Sin embargo, si el resultado se parece más a la Figura 10, debemos localizar el error siguiendo la información que se muestra en el panel inferior después del intento de compilación. En el lado izquierdo del panel podemos leer de qué se tratan los errores, y en el lado derecho en qué línea se ubican. Al hacer doble clic en la línea con el error nos llevará a la parte correspondiente del código fuente. Insertemos los puntos y comas y corchetes que faltan y presionemos nuevamente "Compilar".
¡Listo! Podemos ir a MT4 y arrastrar nuestro primer algoritmo a cualquier gráfico.
Bip, bip ... 😉
Te veo la proxima semana. Escribiremos un nuevo programa y exploraremos funciones de lenguaje más avanzadas.
Deje una respuesta