Alligator Indicador tutorial EA MT5 - MQL5

preview_player
Показать описание
Tutorial para aprender a crear el indicador técnico Alligator en lenguaje MQL5 Expert Advisor Meta Trader 5 - metaquotes language.

Bienvenidos soy Xavier Andreu y hoy vamos a crear un robot basado en un indicador técnico denominado Alligator. Esta es una famosa herramienta de análisis técnico sobre gráfico que consta de 3 promedios móviles suavizados establecidos en 13, 8 y 5 períodos y desplazados hacia adelante 8, 5 y 3 barras respectivamente, lo que indica una ausencia, formación y dirección de tendencia. Por tanto manipularemos 3 buffer. Así que empezamos: Creamos una función OnInit que se caracteriza por ser llamada una única vez, siempre al inicio del programa.

Creamos el indicador Alligator. Al ser un indicador que estará disponible desde el inicio, debemos instanciarlo como global, debido a que podremos llamarlo desde cualquier otro punto del programa. Para eso fuera de esta función creamos una variable del tipo int, la llamamos Alligator y le asignamos el valor 0. Ahora igualamos Alligator a su propio indicador. Para crear el indicador personalizado lo instanciamos como iCustom. El primer parámetro será el símbolo actual del gráfico. Escribimos _symbol, el segundo parámetro es la temporalidad, para este ejemplo usaremos la actual mediante PERIOD_CURRENT (Si apretamos F1 encima de las funciones que vienen por defecto en MT5, nos dirigirán a la ayuda, en este caso podéis probar con iCustom para ver que hace cada parámetro)

Al ser un indicador personalizado, no viene por defecto en la librería de mt5, por lo que debemos indicar donde localizar el archivo. Para hacerlo más fácil ponemos este indicador dentro de la carpeta donde se encuentra el robot que va a realizar la llamada. Ahora a por los parámetros específicos del indicador. En el caso de Alligator dispone de bastantes parámetros. Si lo ejecutamos en MetaTrader podremos identificarlos. En total son 8. Los 2 últimos se tratan de identificadores. Si regresamos a la ayuda, vemos los distintos identificadores a elegir. En este robot colocaremos los que vienen por defecto en mt5, precio medio y que sea suavizado. Sigamos. Ahora creamos la función OnTick, que será el cuerpo del robot, y será desde donde llamaremos a la función IndicadorAlligator cada vez que necesitemos su información. Pero antes de completarla, vamos a centrarnos en la función del indicador. A esta le llamaremos IndicadorAlligator y será del tipo double ya que la información que nos devolverá contendrá decimales.

Al tener 3 buffers, pondremos por defecto que nos entregue siempre los datos del Alligator en la posición 0, es decir la vela actual. Lo primero será crear un array donde almacenar los datos del Alligator y le llamamos AlligatorArray, este también debe ser del tipo double. Ahora reordenamos el array para facilitar la búsqueda de las posiciones, ya que en mql5 cada vez que añades un dato a un array este corre todos los datos 1 posición. Dando como resultado que el primer dato acaba siendo el último. Para eso usamos la función ArraySetAsSeries, el primer parámetro que le indicaremos será el array. El segundo es para indicar que queremos el orden inverso de indexación es decir, al revés de como viene por defecto. Lo dejamos TRUE.

Ahora rellenamos el array que habíamos creado con los datos del Alligator. Para eso usaremos la función CopyBuffer. El primer parámetro será donde obtener los datos para ir rellenando el array. Aquí es donde colocamos el indicador Alligator, lo hemos creado al inicio del robot. El siguiente es el número de buffer, se trata del parámetro que enviamos a la función IndicadorAlligator. Esta es la posición de escritura dentro del array. Como queremos empezar en la posición 0, dejamos el valor 0. Aquí va el número de posiciones que queremos grabar en el array, en nuestro caso pondré 10 posiciones. El último parámetro es el array donde grabar los datos, escribimos AlligatorArray

Ya solo queda devolver el valor que se pide a IndicadorAlligator, y dentro de ella llamar a la función NormalizeDouble, esta sirve para redondear el número que le indiquemos a una cierta cantidad de dígitos, si no el número seria demasiado grande y no necesitamos tanta precisión. A esta función le indicamos la posición del array que queremos obtener y el número de dígitos. En este caso es el número de decimales del valor del activo del gráfico donde ejecutaremos el robot, y esto lo escribiremos mediante _Digits

Como vemos, devolvemos la posición 0 de array, esta es la posición que podéis modificar para obtener el valor de posiciones anteriores (Si queréis obtener una posición superior a la segunda, debemos aumentar también el número de datos grabados en el array). Es hora de realizar la llamada de la función IndicadorAlligator desde la función OnTick… Para ver que valor nos devuelve, usamos la función comment. A esta le indicamos que tiene que mostrar en pantalla el valor de cada buffer del indicador.

Bien, ya hemos acabado el robot.
Рекомендации по теме
Комментарии
Автор

Доброго времени суток Andreu . От души желаю новых побед, чтобы все решения были правильными и приносили добро ни только тебе но и обществу . 🙏

kuaRUSASCUR
Автор

Eterno agradecimiento por tu nuevo aporte.

RomeuSescomes
Автор

En este canal se encuentran los mejores tutoriales de programación 💯💯

DankoGame
Автор

Otro indicador que sumo a mi operativa.

sceloan
Автор

Este tipo de tutoriales son los que valen la pena

albertdevic
Автор

Hola amigo excelente vídeo gran tendencia gracias por compartir saludos feliz día 👍🏻😍

VictoriaEncocina
Автор

🌻Obrigada por compartilhar este conhecimento sobre Tutorial para aprender a criar o indicador técnico Alligator na linguagem MQL5 Expert Advisor Meta Trader 5 💛💛

equilibrioalmamenteecorpo
Автор

Привет, очень нравиться твои видео, поднимают настроение и можно посмотреть хороший контент. Продолжай в том же духе, так держать!👍

InsidetheGame
Автор

De tu mano, sigo expandiendo mi conocimiento!... Mil gracias!

nikalej
Автор

Boa tarde meu amigo nada melhor que aprender com que sabe sempre na integra 100% big likeee 60😮😊

canalunoplay
Автор

Me gusta mucho, aprecio esta gran información que nos compartes, un saludo!!

mixrelax
Автор

Lo estuve probando, gracias por el aporte!

maribelsilvestri
Автор

Este indicador me vendrá bien para mi estrategia

carlaa
Автор

Oh this was a really interesting tutorial. Thanks for sharing.

LilithaStar
Автор

Hola Xavier
Primero que todo gracias por tu labor.
Me preguntaba cómo se puede hacer un indicador que solo mandé la alerta cuando el precio este encima o debajo de esta. 😢😢

jassontarazona
Автор

Alguien que no sea vende humo y ya tenga su bot ?

MANOLOREYES-reno