jueves, marzo 23, 2023
Técnicas de Trading
Concurso del broker RoboForex
  • Educación
    • Educación Forex
  • Estrategias
    • Nuevas Estrategias
  • Brokers
  • Criptomonedas
  • Herramientas
  • Opciones Binarias
Sin resultados
Ver Todos Los Resultados
Técnicas de Trading
Sin resultados
Ver Todos Los Resultados
Tecnicas de trading
Bono del broker RoboForex Bono del broker RoboForex
Home Plataforma de Operaciones Metatrader 4 Indicadores Personalizados

Programación de Indicadores Personalizados en Metatrader 4

por Raul Canessa C.
en Indicadores Personalizados, Indicadores Técnicos, Metatrader 4
Tiempo de lectura: 8 minutos de lectura
1
0
COMPARTIDO
0
Visitas
Crear indicadores en Metatrader 4
Una de las mayores ventajas de la plataforma Metatrader 4, es la posibilidad de crear indicadores técnicos personalizados mediante su lenguaje de programación Metaquotes. De esta manera, el trader puede diseñar indicadores que se adapten mejor a su estilo para operar en el mercado, yendo más allá de lo que ofrecen los indicadores estándar. En este aspecto, las posibilidades de Metatrader 4 son casi infinitas, ya que las características del indicador personalizado están limitadas por la imaginación del programador.

Parte 1

¿Qué son los indicadores?

Los indicadores pueden definirse como distintas representaciones de los datos de precios que remueven el ruido y ayudan al trader a tomar mejores decisiones. En este caso, cuando hablamos de datos nos referimos a los precios de apertura, cierre, al máximo y al mínimo y al volumen, en caso de que esté disponible. Un ejemplo de un indicator bastante común, es la media móvil, que constituye solo otra manera de ver los datos. Por lo tanto, siempre debemos estar seguros de entender cuáles datos tenemos disponibles y como podemos usarlos. Seguidamente, vamos a mostrar paso a paso como desarrollar un indicador personalizado para Metatrader 4, la plataforma de trading más empleada en el sector del mercado de divisas.

Metatrader 4 emplea su propio lenguaje de programación conocido como Metaquotes, por lo que el procedimiento descrito a continuación no es aplicable a otras plataformas similares.

Primera parte

  •  Abra el MetaEditor y haga click en File | New.
  • Seleccione indicador en la venta en la ventana que aparece y posteriormente haga click en Next.
  • En la parte de nombre logicamente se coloca el nombre que le queremos dar a nuestro indicador. Para este ejemplo agregamos: PRO3120-BI1.
  • Seguidamente incluimos la información del Copyright y nuestro sitio web si es que deseamos hacerlo y hacemos click en Finish.
  • Ahora aparece una plantilla en blanco en la que escribiremos nuestro indicador. El encabezado debería lucir de la siguiente forma:

//+————–+

//| PRO1030 – BI1.mq4|

//| Copyright © 2007, Patrick Nouvion|

//| www.patricknouvion.com |

//+—————+

Estas líneas están precedidas por // por lo tanto son comentarios y pueden ser removidos en caso de que así lo deseemos. Así mismo podemos actualizar la información a voluntad y si queremos añadir algún tipo de declaración de copyright/licencia una sugerencia es colocar ahí mismo también de la siguiente forma:

Contenido que te puede interesar

Automatización de Expert Advisor

¿Como Desarrollar su Propio Robot de Trading para Forex y otros Mercados?

junio 25, 2022
Gráfico del AUD/USD con canales de Donchian

Indicador de Canales de Donchian para Metatrader 4

noviembre 15, 2022
Indicador Ozymandias para Metatrader 4

Indicador Forex Ozymandias para Metatrader 4

mayo 12, 2021
Indicador Trix para MT4

Indicador TRIX para Metatrader 4

febrero 19, 2020
# Property – The next items you should see are:

#property copyright «Copyright © 2007, Patrick Nouvion» #property link

www.patricknouvion.com

Los siguientes son códigos generados por el asistente del Metaeditor cuando creamos el nuevo indicador y pueden ser modificados de acuerdo a la necesidad del usuario. Los items precedidos por #property son controles para las opciones/propiedades estándar de los indicadores. A continuación se muestra una lista de las más comunes configuraciones de propiedades disponibles:

 

#property indicator_chart_window
#property indicator_separate_window
#property indicator_color1 to #property indicator_color8
#property indicator_level1 to #property indicator_level8
#property indicator_style1 to #property indicator_style8
#property indicator_levelcolor
#property indicator_levelstyle
#property indicator_levelwidth
#property indicator_maximum
#property indicator_minimum
#property indicator_buffers

#property indicator_chart_window or #property indicator_separate_window : Este código es bastante simple,lo que 
significa es ¿Si queremos que nuestro indicador sea desplegado en la misma ventana del gráfico de precios o en una
ventana separada? 
 
Para nuestro ejemplo, emplearemos la misma ventana, por lo cual al inicio nuestro código debería lucir de la siguiente
forma: 


//+------------------------------------------------------------------+
//| PRO1030 - BI1.mq4 |
//| Copyright © 2011, RCC | //| www.tecnicasdetrading.com | 
//+------------------------------------------------------------------+ 
#property copyright "Copyright © 2010, RCC"
#property link "www.tecnicasdetrading.com"
#property indicator_chart_window

 

 

El color, nivel, propiedades de estilo son usadas para definir el «estilo» del indicador y/o los niveles. Sin embargo, si establecemos estos como propiedades, el usuario no será capaz de de modificar ninguna de estas configuraciones lo que por lo general no es una buena idea. Por ejemplo, supongamos que escribimos lo siguiente:

#property indicator_color1 Red 

En este caso nuestro indicador será únicamente de color rojo y no podremos cambiarlo a otro color a pesar de que la plataforma nos permita seleccionar una amplia variedad de colores. Lo mismo puede decirse del grosor, estilo, niveles, etc. Por lo tanto, solo en raras ocasiones vamos a emplear el #property, si bien ya sabemos para que sirve y porque en la mayoría de los casos no lo vamos a emplear. Un punto a tomar en cuenta es que estamos limitados a 8, un tema sobre el que volveremos más adelante.

#property indicator_maximum y  #property indicator_minimum son utilizados cuando deseamos crear un indicador en una ventana separada y queremos controlar la escala de esa ventana. Por ejemplo, en el caso de un oscilador probablemente queramos fijar el rango de 0 a 100 lo cual añadimos las siguientes líneas:

#property indicator_maximum 100.0

#property indicator_minimum 0.0

Aquí si se fijan bien escribimos 100.0 y no 100. En realidad no existe ninguna diferencia y pueden utilizarse ambas notaciones de acuerdo al gusto del usuario, sin embargo es una buena práctica escribir valores dobles como dobles precisamente porque estos pueden ser reconocidos con facilidad . Comunmente los usuarios definen y declaran variables como variables de tipo entero pero las utilizan como variables dobles. Escribir un valor en su forma correcta nos ayuda a detectar este tipo de errores con rapidez.

Finalmente el #property indicator_buffers, el cual sirve para indicar la cantidad de «líneas» que nuestro indicador va a mostrar, si bien estamos limitados a 8 líneas. Internamente podemos emplear tantos «buffers» como queramos pero solo podemos desplegar 8 de ellos. ¿Y qué es un buffer? Bueno por el momento veamoslo como una variable.

Siguiendo con el ejemplo de nuestro indicador escribimos la siguiente línea:

#property indicator_buffers 1

 

Sin embargo, consideremos otro ejemplo para ilustrar mejor el uso de este control. Supongamos que deseamos crear un indicador con el MACD tradicional con 2 medias móviles y 1 histograma para lo cual vamos a escribir:

 

#property indicator_buffers 3

Si no establezco el valor de los buffers en 3, no existe forma en que pueda desplegar 3 items en mi indicador. En este punto, el código de nuestro indicador se ve de la siguiente forma:

//+——————————————————————+

//| PRO1030 – BI1.mq4 |

//| Copyright © 2011, RCC |

//| www.tecnicasdetrading.com |

//+——————————————————————+

#property copyright «Copyright © 2011, RCC»

#property link «www.tecnicasdetrading.com»

#property indicator_chart_window

#property indicator_buffers 1

 

El siguiente paso es definir los buffers. Para hacer esto escribimos lo siguiente:

double OutPut[];

Al igual que con una variable, debemos definir el tipo, en este caso doble. Seguidamente seleccionamos un nombre, que en esta oportunidad es Output. El  [] sirve para definirlo como un arreglo o formación. Un arreglo es una «lista» que puede ser de valores para una variable, es decir podemos hablar de una variable multidimensional. Un ejemplo básico es cuando una persona trata de que sus hijos obtengan mejores notas en la escuela dandoles premios. En este caso el padre puede decir, si sacas un A, te daré $10, si sacas un B te daré $5, si sacas un C te daré $3, etc… Esto podríamos representarlo con la siguiente tabla:

ABCDE
$10$5$3$0.25$0

 

De esta manera, empleando la tabla anterior podriamos escribir lo siguiente:

OutPut[A] = 10.0;

OutPut[B] = 5.0;

OutPut[C] = 3.0;

OutPut[D] = 0.25;

OutPut[E] = 0.0;

Ahora, pueden preguntarse ¿Para que necesitamos un arreglo? La respuesta es que para cada barra en nuestro gráfico necesitamos una salida o output para el valor de nuestro indicador por lo que nuestra tabla sería de la siguiente forma:

Bar0Bar1Bar2Bar3Bar4
Indicatorvalue0Indicatorvalue1Indicatorvalue2Indicatorvalue3Indicatorvalue4

Posteriormente entraremos en más detalles.

 

Entradas

En este lenguaje es bastante sencillo crear entradas para el usuario final. Simplemente se necesita añadir extern antes de nuestra declaración de variables. Como el indicador que estamos programando es una media móvil, se necesita que el usuario final conozca el número de periodos. Como la variable periodos es entera vamos a escribir lo siguiente:

In this language it is very easy to create inputs for the end user. You simply need to add extern before you variable declaration. Let’s decide now to write a basic moving average indicator ( not using the built-in iMA function ) so we need from the end user to know the number of periods. Periods are integer so I will write:

extern int Periods = 10;

Solo para confirmar podríamos escribir:

extern bool IsItTrue = true;

extern double Value = 0.0;

extern string UserName = “RCC”;

El lenguaje de Metatrader también tiene tipos específicos de variables tales como el color por lo que podemos añadir la siguiente línea:

extern color VarColor = Red;

Asegurense de usar solo las entradas que son necesarias y si tienen demasiadas es una buena idea separarlas mediante variables «tontas». Seguidamente se incluye la sección de entrada de un Expert Advisor que puede servirnos como ejemplo:

extern bool CLOSE_ALL_ORDERS = false;

//extern bool AUTO_RENEW = false;

extern string INITIAL_ORDERS = «Initial Orders»;

extern double EURUSD_LONG = 0.0; extern double GBPUSD_LONG = 0.0; extern double USDCHF_LONG = 0.0; extern double USDJPY_LONG = 0.0;

extern string PENDING_ORDERS = «Pending Orders»;

extern double EURUSD_LOTS_TO_TRADE = 0.0; extern double __EURUSD_BUY_RATE = 0.0; extern double __EURUSD_SELL_RATE = 0.0; extern double GBPUSD_LOTS_TO_TRADE = 0.0;

extern double __GBPUSD_BUY_RATE = 0.0; extern double __GBPUSD_SELL_RATE = 0.0; extern double USDCHF_LOTS_TO_TRADE = 0.0; extern double __USDCHF_BUY_RATE = 0.0;

extern double __USDCHF_SELL_RATE = 0.0; extern double USDJPY_LOTS_TO_TRADE = 0.0;extern double __USDJPY_BUY_RATE = 0.0; extern double __USDJPY_SELL_RATE = 0.0;

extern string OPTIONS = «Options»;

extern double PROFIT_TARGET = 0; extern double TRAIL_START = 0; extern double TRAIL = 0; extern bool EMAIL_ALERTS = false;

Aquí podemos ver las cadenas de variables que ayudan a separar todas las entradas distintas y que no serán usadas en ninguna otra parte más del código. En cualquier caso, hasta ahora nuestro código se ve de la siguiente manera:

//+——————————————————————+

//| PRO1030 – BI1.mq4 |

//| Copyright © 2007, RCC |

//| www.tecnicasdetrading.com |

//+——————————————————————+

#property copyright «Copyright © 2010, RCC»

#property link «www.tecnicasdetrading.com»

#property indicator_chart_window

#property indicator_buffers 1

double OutPut[];

extern int Periods = 10;

 

Por ahora damos por finalizada la primera parte del artículo para crear un indicador técnico personalizado en Metatrader 4, el cual será debidamente finalizado en el transcurso de los siguientes días.

Pueden encontrar un ejemplo del desarrollo de un indicador personalizado que traza una media móvil exponencial en el gráfico de precios en el siguiente tutorial: ¿Cómo crear un Indicador personalizado en MT4? – Ejemplo con la EMA

 

Volver al índice general
ib6

Etiquetas: crear indicadorindicador personalizadoMetatrader 4
CompartirPin
Plugin Install : Subscribe Push Notification need OneSignal plugin to be installed.
Raul Canessa C.

Raul Canessa C.

Contenido Relacionado

Media Móvil Adaptativa de Kauffman (KAMA)

Media Móvil Adaptativa de Kauffman (KAMA)

marzo 16, 2023
Indicador ZigZag

Indicador ZigZag – Principales Características

marzo 20, 2023
Cuadrado de 9 de Gann

El Cuadrado de 9 de Gann: Cómo utilizarlo para predecir el futuro del mercado

enero 25, 2023
Ejemplo de indicador que repinta

Indicadores que repintan y no repintan en Forex

enero 26, 2023
Indicador Magic MA de múltiples medias móviles

Indicador de Múltiples Medias Móviles Para Metatrader 4 – Magic MA

enero 8, 2023
Tablero de señales del oscilador estocástico

Indicador de Señales del Oscilador Estocástico de Tipo Tablero Para MT4

enero 23, 2023
Siguiente Artículo
RoboForex ofrece 12 criptomonedas nuevas para operar con CFD

Reseña de RoboForex - Broker de Forex y CFD

Comentarios 1

  1. fredy says:
    8 años atrás

    hola que tal

    yo quisiera saber mas sobre este temas, ya que estoy interesado en crear un indicador apartir del MACD que me indique cuando ocurra una divergencias enviandome una alerta

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Boletín del sitio

Suscribete a Nuestro Newsletter

ANUNCIO PUBLICITARIO

Artículos Recientes

Directorio de exchanges de bitcoin

¿Porque es riesgoso dejar sus criptoactivos en un intercambio de criptomonedas?

marzo 20, 2023
Cuentas demo de RoboForex

Cuenta Demo de RoboForex – Tipos y Características

marzo 19, 2023
Indice Cripto de Miedo y Codicia

Índice de Miedo y Avaricia Cripto – Indicador de impulso de Bitcoin

marzo 16, 2023
Media Móvil Adaptativa de Kauffman (KAMA)

Media Móvil Adaptativa de Kauffman (KAMA)

marzo 16, 2023

Publicidad

Promoción del broker HF Markets
Técnicas de Trading

© 2023 Técnicas De Trading

Menú

  • Acerca del Sitio
  • Mapa del Sitio
  • Advertencia de riesgo
  • Política de Cookies

Seguinos

Sin resultados
Ver Todos Los Resultados
  • Acerca del Sitio
  • Advertencia de riesgo
  • Análisis de los Mercados Financieros
  • Automatiza tu Estrategia de Trading con Nosotros
  • Brokers Online – Información Sobre Brokers de Forex y Otros Mercados
  • Concursos de Forex Traders
  • Contenido Reciente
  • Criptomonedas – Todo sobre Bitcoin y Altcoins
  • Desarrollo de Expert Advisors para MT4/MT5
  • Directorios de Brokers Online Para Traders
  • Educación sobre Trading y Los Mercados
  • El Trading Social- ¿En que consiste el Trading Social Forex?
  • Estrategias de Trading Forex Para Traders Novatos y Experimentados
  • Forex Autotrading – Opciones de Trading Automatizado Para Forex
  • Foro – Comunidad de Técnicas de Trading
  • Guía de Estrategias de Trading – Tipos, Ejemplos, Desarrollo y Evaluación
  • Guías y Tutoriales de Brokers de Forex
  • Herramientas Para Traders
  • Ingresa a nuestro Top10 de Telegram y Whatsapp
  • Las Mejores Ofertas de los Brokers de Forex/CFD
  • Libros de Trading Gratuitos
  • Los Mejores Libros de Trading Recomendados
  • Manual de Análisis Fundamental de los Mercados
  • Manual de Opciones Binarias
  • Manual de Trading Social Forex Para Principiantes
  • Manual del Mercado de Divisas Forex
  • Noticias Cripto
  • Noticias y Anuncios de Brokers de Forex
  • Opciones Binarias
  • Política de Cookies
  • Promociones y Bonos de los Brokers de Opciones Binarias 2022
  • Recursos Para Metatrader 4 – Indicadores, EA y Scrits
  • Reseñas de Brokers de Forex 2022 – Análisis de sus Servicios
  • Señales Forex Gratuitas – Ideas de Trading Diarias
  • Sistemas de Trading Ganadores Simples y Avanzados
  • Técnicas De Trading – Opera en los Mercados Financieros
  • Términos de uso de Técnicas de Trading
  • Webinarios y seminarios gratuitos de Forex, opciones binarias y del mercado en general
  • ¿Qué son los Brokers o Corredores? – Funciones del Broker Online
  • ¿Quieres aprender a operar Forex de cero?
  • Contribuye con el sitio
  • Chat sobre Forex – Comparte con otros traders
  • Formulario de contacto

© 2023 Técnicas De Trading