nav-left cat-right
cat-right

Utilizar indicadores en un EA con iCustom

indicadorcustom

La función iCustom de MetaTrader devuelve el valor de cualquier indicador que tengamos compilado. Esta función se puede parametrizar para hacer que devuelva el valor del indicador en cualquier símbolo, timeframe, barra de tiempo y por supuesto con los valores de entrada del indicador que estimemos.

A modo de ejemplo vamos a crear otro indicador que imprima mensajes de alerta con el valor del indicador Momentum cada vez que se abra una barra nueva.

El indicador Momentum tiene únicamente dos parámetros el Periodo y el precio al que lo aplicamos.

Al cargar nuestro indicador deberíamos pedir dos datos de entrada: el nombre del indicador para obtener datos y el número de periodos sobre los que hacemos el cálculo. Ésto lo conseguimos con dos variables externas a principio del programa:

extern string NombreIndicador = "Momentum";
extern int PeriodoIndicador = 14;

Con esto ya podemos utilizar la función iCustom de la siguiente forma:

double valor = iCustom(NULL,0,NombreIndicador,PeriodoIndicador,0,0);

Los parámetros corresponden a:

  1. NULL: Utiliza el símbolo del gráfico sobre el que está cargado.
  2. 0: Equivale al timeframe actual.
  3. NombreIndicador: un dato de tipo string, previamente declarado,con el nombre del indicador, en este caso “Momentum”.
  4. PeriodoIndicador: un dato de tipo entero con el número de periodos a considerar para el cálculo.
  5. 0: Tomar la linea gráfica 0 como valor (la única que tiene este indicador).
  6. 0: Desplazamiento, tomamos el valor en la barra 0, es decir, la barra actual.

Se observa que del par de entradas del indicador solamente hemos especificado la primera, el periodo. No nos importa mucho, de momento, el precio aplicado.

Con esto ya tenemos el valor del indicador almacenado en una variable de tipo double. Podríamos mostrarla a cada nueva barra utilizando la función Alert:

   Alert("El indicador ",NombreIndicador," vale: ",valor);

Finalmente el código completo quedaría así:

#property copyright "Programando Forex"
#property link      "http://www.programandoforex.com"
 
#property indicator_chart_window
extern string NombreIndicador = "Momentum";
extern int PeriodoIndicador = 14;
 
int start()
  {
   static datetime MarcaTiempo = 0;
 
   // Cada apertura
   if(MarcaTiempo != Time[0])
   {
   // Tomar datos del indicador
   double valor = iCustom(NULL,0,NombreIndicador,PeriodoIndicador,0,0);
   Alert("El indicador ",NombreIndicador," vale: ",valor);
 
   MarcaTiempo = Time[0];
   }
 
   return(0);
  }

Artículos Relacionados

  1. Un EA basado en RSI y MACD
  2. El primer indicador
  3. Indicador de horarios de operación
  4. Mostrar el Profit o Beneficio total en Pips

468 ad

No Responses to “Utilizar indicadores en un EA con iCustom”

  1. [...] los EA utilizan indicadores personalizados para operar, es por eso que cuando adquirimos un nuevo programa normalmente vienen varios ficheros [...]

Leave a Reply

You must be logged in to post a comment.