Primero que nada, un Descargo de responsabilidad:
Toda la información, el código o el software disponible o presentado en este curso se proporciona únicamente con fines de información general y no constituye ninguna recomendación.
Si toma decisiones comerciales o de inversión basándose en el material disponible como parte del curso, acepta hacerlo bajo su propio riesgo y no responsabilizará a nadie por las pérdidas que pueda sufrir. No debe tomar ninguna decisión de inversión sin antes realizar su propia investigación independiente. Usted es el único y exclusivo responsable de determinar si cualquier inversión, estrategia o cualquier otro producto o servicio es apropiado o adecuado para usted en función de sus objetivos de inversión y circunstancias financieras personales.
Operar en cualquier mercado financiero es arriesgado. Tenga en cuenta los riesgos leyendo la documentación de divulgación proporcionada por el proveedor del producto y evite operar con dinero que no pueda permitirse perder. Debe ser consciente de los riesgos y estar dispuesto a aceptarlos para invertir en los mercados financieros. Este curso no es una solicitud ni una oferta para comprar/vender ningún producto financiero. Es posible perder más que su inversión inicial o depósito en cuenta
El rendimiento pasado de cualquier sistema o metodología de negociación no es necesariamente indicativo de resultados futuros.
{tocify} $title={ CONTENIDO }
¿Por qué Trading Algorítmico?
Porque de inicio tiene muchas más ventajas que el trading discrecional, y no es únicamente en referencia al trading sistemático, si no, a un trading automatizado, con Expert Advisors.
En este caso, todo el contenido visto aquí, está hecho únicamente con fines ilustrativos, hecho en cuentas demo, no es recomendación de inversión ni asesoramiento financiero
Veremos algunas ventajas:
1. Backtesting y Optimizacion Ultrarapidos: Cuando creas un Bot con una estrategia especifica, puedes testearlo y optimizarlo de forma rápida con datos históricos, lo que llamamos Backtesting, lo cual sirve para saber cómo funciona la estrategia durante el período seleccionado para el backtest, a comparación del trading manual, en el que un backtest puede llevar meses, pero hacer un Backtest a un algoritmo es cuestión de segundos.
2. Trading Cuantitativo: va a estar basado en los datos y estadística que se obtienen a partir del Backtest.
3. El Trading se vuelve escalable: puedes operar múltiples estrategias en múltiples gráficos y activos, al mismo tiempo.
4. Puedes negociar 24/7, los bots funcionan por si solos, lo único que debes hacer es asegurar que no te vas a quedar sin internet, para esto puedes usar un VPS y de esta forma no tendrás que tener encendido el PC todo el día y noche, pero de esta forma puedes operar cualquier sesión, cualquier momento y sin descanso, algo que sería imposible para un trader manual.
5. Una operativa automatizada está libre de emociones, nunca vas a saltarte las reglas del sistema por miedo o codicia y será raro que un bot cometa errores, más bien los programadores y trader son los que cometen errores.
6. La sexta ventaja y la más importante, te libera tiempo, el trading es una profesión complicada y si puedes dedicar más tiempo a la investigación o el estudio de las estrategias en lugar de la operativa, que mejor.
Estas ventajas te permiten mejorar tu toma de decisiones en base a datos y no a creencias o suposiciones, lo cual es importante si quieres aumentar tus posibilidades de éxito en los mercados.
Crea tu Robot, mejora tu trading, libera tu tiempo.
Expectativas correctas
Hasta ahora no hemos hablado de ganancias aun, y no lo haremos en un rato, necesitamos expectativas realistas, ya que el mercado está lleno de vendedores de robots que prometen rentabilidades irreales, o robots que asumen riesgos extremos con tal de ganar siempre, también debes entender que el trading al ser una actividad de renta variable, no tiene rentabilidades aseguradas, perder es parte de la operativa, también debes tener cuidado con el apalancamiento que usas o que se usa en los robots, apalancamientos altos y una mala racha pueden llevarte a quemar la cuenta.
Aquí no te prometo ganancias ni un robot rentable, nadie regala ni vende barato un robot o un sistema que sea rentable y eso se debe a que, si todos operamos con el mismo sistema, el sistema pierde ventaja, una ventaja que el mismo mercado comienza a ajustar poco a poco, hasta que la ventaja de ese sistema desaparezca.
Aquí no hay atajos, lo programas y lo ajustas tú mismo, o no lo lograras.
Aprenderás a programar tus propios robots, hacer un backtesting para encontrar estrategias rentables, y desplegarlos para operar de forma automatizada.
Herramientas que usaremos
Metatrader 5: Como ya te puedes imaginar, la herramienta principal sera Metatrader 5, la cual es una plataforma de trading, y una version mejorada de MT4, tiene capacidades muy potentes para desarrollar y probar tus robots de trading, incluido un probador de estrategias mejorado a comparacion del de MT4, Timeframes adicionales y la oportunidad de operar con una variedad más amplia de activos.
Metaquotes Language 5: También conocido como MQL5, el cual es el lenguaje de programación que viene integrado con MT5 que se utiliza para programar estrategias de trading, indicadores, scripts en MT5, esta desarrollado específicamente para la creación de sistemas de trading y está completamente integrado con MT5, no hace falta agregar nada, haciendo de MQL5 uno de los lenguajes más completos y sencillos para desarrollar robots de trading.
Metaeditor: Es el entorno de desarrollo, el cual ya viene incluido con MT5, cuando instalas MT5, también instalas Metaeditor.
Todo esto esta desarrollado por Metaquotes, la empresa detrás de todas estas plataformas y el lenguaje MQL5.
Como es Metatrader 5
Si nunca has usado MT5, no te puedes perder esta sección, veremos las funcionalidades de la plataforma, pero enfocadas en el trading algorítmico.
Para este caso estaremos usando la plataforma MT5 con el Broker Pepperstone, es una cuenta Demo, obviamente.
Vista principal y detalles:
1. Barra de Accesos Rápidos: Puedes encontrar algunas herramientas útiles como dibujos, pero también accesos rápidos para agregar más gráficos e instrumentos, cambiar el tipo de gráfico, abrir una nueva orden, cambiar la temporalidad del gráfico, etc.
2. Ventana de Datos: En esta ventana de datos puedes ver detalles de las velas, como precio de apertura, cierre, máximo, fecha, pero también podrás ver detalles de los indicadores que tengas agregados.
3. Observación de mercado: Aquí tienes la lista de los activos que hayas seleccionado para observar, puedes ver su precio Bis y Ask y el cambio que han tenido durante el día.
4. Navegador: Aquí puedes encontrar detalles de tu cuenta y gestionarlas, es decir agregar otra cuenta a tu plataforma, eliminarlas o cambiar de cuenta, aquí están listados los indicadores, scripts, EA´s, etc.
5. Pestañas de Gráficos: Con estas pestañas puedes seleccionar el grafico sobre el que quieres trabajar.
6. Caja de Herramientas: Incluye varias pestañas donde puedes revisar las operaciones que tengas abiertas, historial de operaciones que se hayan realizado en tu cuenta, etc.
7. Área de Gráficos: Es el área donde están las ventanas de gráficos de todos los activos que tengas abiertos.
Date el tiempo de explorar la plataforma y navegar por ella para familiarizarte porque la vamos a utilizar mucho, también tienes la documentación de la plataforma en la página de Metaquotes, o tutoriales en YouTube.
Pero si ya estás aquí, estoy suponiendo que ya sabes usar MT5, aunque sea de forma básica.
Sistemas de registro de posición
En MT5 existen 2 tipos de sistemas para el registro de las posiciones, Compensacion (Netting) y Cobertura (Hedge).
El sistema de compensación es el con el que se lanzó MT5 al mercado, lo que lo caracteriza es que solo puedes tener una posición por símbolo, esto significa que si lanzamos nuevas transacciones al mercado en la misma dirección lo que ocurrirá es que se incrementara el volumen de la posición que ya tenemos abierta, es decir en el mismo ticket, pero si lanzamos nuevas operaciones en dirección opuesta están disminuyen, revierten o cierran la posición que ya tenemos abierta.
El sistema de cobertura, lo que se llama hedging, este es con el que se lazo MT4 originalmente, permite múltiples posiciones de compra o venta en un símbolo al mismo tiempo, cada posición es gestionada de forma independiente con el número de ticket, si necesitamos modificar una posición tenemos que referirnos a ese ticket en específico, si abrimos nuevas operaciones, lo que sucede es que se añaden nuevas posiciones, con un ticket diferente cada una, es uno de los sistemas más usados por traders de Forex, y también se implementó en MT5 un tiempo después del lanzamiento.
Aplicaciones en MQL5
Existen 2 tipos de aplicaciones en MQL5, los programas y los archivos, dentro de los programas tenemos asesores expertos, indicadores, scripts y servicios.
Asesor experto es el nombre que reciben los robots de trading en MQL5, se trata de programas que pueden operar en los mercados financieros siguiendo reglas preestablecidas en su código, los EA, pueden abrir, cerrar y modificar posiciones por sí mismo sin la intervención del trader, esto es lo que vamos a aprender a programar aquí.
Un indicador (EA) es un programa que permite presentar datos en un gráfico o en una ventana separada utilizando diferentes objetos gráficos, los indicadores sirven al propósito del análisis técnico.
Los scripts es un programa que se ejecuta una sola vez, la principal diferencia entre EA y scripts es que cuando adjuntamos un EA a un gráfico este permanecerá en el grafico esperando a que ciertos eventos ocurran, y cuando ocurra uno de los eventos que el EA está esperando se ejecutara un bloque de código, por ejemplo, cuando la terminal genere un nuevo tick o cuando pase cierto tiempo.
Por otro lado, los scripts solo se ejecutan cuando se adjuntan al gráfico, se ejecutan una única vez.
Servicios, son similares a los scripts, pero no necesitan estar adjuntos a ningún grafico para funcionar.
Por otro lado, los archivos, que son librerías y archivos de inclusión, que sirven básicamente para guardar código que podremos utilizar desde los programas.
Metaeditor
Ya vimos que MT5 es la plataforma que usaremos para operar en el mercado, pero si queremos desarrollar robots de trading u otros programas o archivos en MQL5, debemos utilizar Metaeditor, que es el entorno de desarrollo.
En esta sesión vamos a hacer una rápida introducción de la plataforma Meta Editor.
Aquí a la izquierda tenemos el navegador, que es básicamente una extensión de la carpeta de datos de nuestra instalación de MetaTrader 5. Aquí podemos seleccionar las diferentes pestañas, MQL5 es la carpeta de datos: [Imagen Navegador MQL5]
Y luego también tenemos "proyecto" que un proyecto es un conjunto de programas y archivos que hacemos con una finalidad concreta. Es decir, si tenemos diferentes carpetas para expertos y archivos en colección, indicadores y etcétera, en proyecto tendríamos una única carpeta para cada proyecto y dentro de esta carpeta podríamos tener diferentes programas y archivos, aunque sean de diferente tipo: [Imagen de Pestaña Proyectos]
Luego aquí abajo tenemos la caja de herramientas y aquí en errores es donde veremos los diferentes errores que tengamos cuando estemos trabajando en nuestro código, tenemos otras pestañas, en la pestaña Buscar podremos buscar palabras clave e información en nuestro código y artículos y código base. Aquí podremos encontrar información o proyectos públicos y luego un diario para registrar eventos: [Imagen caja de herramientas.]
Para crear un programa en meta editor, podemos hacerlo desde archivo o yendo aquí a "nuevo", aquí podemos seleccionar que tipo de programa queremos crear.
Para empezar, vamos a hacer un script, Seleccionamos el script, le damos al siguiente y aquí hemos de poner el nombre para el script y este es el directorio en el que estará ubicado este script.
Aunque luego tenéis libertad total para cambiarlo, este script se va a llamar script de pruebas, puedes poner un enlace a una web sí tienes un enlace a tu web, le damos a finalizar, y este es nuestro script de pruebas.
Ahora quitemos estos comentarios.
Estas líneas son de comentarios, no nos sirven de mucho.
Esto que hemos creado.
Este script no es directamente ejecutable en nuestra terminal MetaTrader cinco todavía, porque esto
es el archivo MQ cinco, es decir, es el código fuente.
Para poder ejecutar este script en la terminal necesitamos un archivo ejecutable y ese lo conseguimos
compilando el código.
Si le damos aquí a compilar.
Entonces Mehta editor va a buscar a ver si se puede compilar este código.
Si hay errores y todo es correcto y si no hay errores, pues lo compilar correctamente.
Como hemos visto aquí, ya está compilado.
Ahora junto al archivo N cinco, que es el código fuente, tendremos el archivo ejecutable.
Vamos a revisar esto en la carpeta de datos.
Para acceder a la carpeta de datos puedes hacerlo desde archivo aquí arriba o simplemente clicando Control
Shift de.
Y esto es el acceso directo.
Ahora, aquí vamos a mi escuela cinco.
Y esto es un script.
Así que vamos a scripts.
Y aquí tenemos nuestro script de pruebas.
Este es el en el código fuente.
Ese es el archivo de Max.
Y este es el archivo ejecutable.
Este es el archivo que necesitamos poner en un gráfico para ejecutar este script.
Otro aspecto muy importante que es necesario que conozcáis es donde tenéis que ir.
Cuando tengáis una pregunta sobre mi escuela.
Cinco Bien, podéis ir a ayuda y a quién ayuda en M?
Cuáles cinco Community Tenéis diferentes enlaces de especial relevancia son El blog de mi escuela cinco.
Aquí hay muchos usuarios de ME cinco que han puesto sus preguntas y que han sido respondidas.
Y lo más probable es que la pregunta que vosotros tengáis ya haya sido respondida previamente.
Así que el blog de mi Escuela cinco es una opción excelente y aparte del blog que me cuelga cinco,
incluso más importante es la documentación de mi escuela.
Cinco.
La documentación de mi cole cinco.
Es la guía del lenguaje Escuela cinco.
Que ha sido desarrollada por meta quotes y explica absolutamente todo sobre el lenguaje.
Así que cualquier duda que tengáis sobre cómo hacer una función, como enviar una orden, muchísimas
cosas, está ya documentado aquí en la documentación.
Para acceder a la documentación de escuela.
Cinco.
Podemos hacerlo desde aquí.
Podemos hacerlo también haciendo una búsqueda en Google y nos llevará hasta aquí.
Y también podemos hacerlo desde una de las palabras que tengamos aquí en el código, simplemente dándole
al F1.
Y lo que hará Meta editor es buscar esa palabra directamente en la biblioteca.
Por ejemplo, si selecciono aquí OnStar, si pongo el ratón encima y le con ella y le doy al F1, me
sale esto.
Y aquí en el caso de OnStar tenemos dos referencias, ya me cuelga cinco.
Vamos a clicar en la primera y mostrar.
Y nos muestra esto aquí.
Como veis, esto es una sección de la documentación de Hércules cinco donde nos explica que es OnStar,
que es una función manejador de evento y como se utiliza y todo acerca de esta función.
Bien.
Ya finalizando esta rápida introducción de la plataforma, quería enseñaros un par de funcionalidades
que tiene la plataforma incluidas para hacer el desarrollo de programas más fácil.
Si empezamos a escribir, por ejemplo, vamos a escribir símbolos.
Aquí podemos ver que hay múltiples sugerencias.
Muchas sugerencias, de hecho, por parte de mi editor, de qué es lo que queremos encontrar.
Y esto es lo que se conoce como otras sugerencias y al final lo que está haciendo a editores ayudarnos
a desarrollar.
Si seguimos escribiendo, podemos acortar esta búsqueda.
Por ejemplo, vamos a llamar a una de estas funciones symbol, info double y podemos ver cómo esto se
va acotando.
Symbol info.
Pues ya simplemente tenemos estas dos variantes de la función y ahora si le damos al intro en una de
ellas, la llamada a esa función se va a autocompletar.
Aquí está.
Así podemos llamar a esta función.