Ayuda, el indicador iMA me devuelve 10 en todos los gráficos

 

Hola, soy nuevo en esto del mql5 y me apasiona mucho.

Tengo el siguiente problema, he escrito este muy simple codigo y me devuelve el valor de 10 en todos los gráficos. ¿Qué he hecho mal?

//+------------------------------------------------------------------+
//|                                                CruceDeMedias.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

int MMA;

int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  { MMA = iMA(NULL,0,3,1,0,0);
    Comment (MMA);
    ChartIndicatorAdd (0,0,MMA);
   

  }
//+------------------------------------------------------------------+

saludos a todos desde Chile

Trading automático y simulación de estrategias comerciales
Trading automático y simulación de estrategias comerciales
  • www.mql5.com
MQL5 es un lenguaje built-in de estrategias comerciales para el terminal MetaTrader 5. Este lenguaje permite escribir sus propios sistemas automáticos de trading, indicadores técnicos, scripts y bibliotecas de funciones.
 
GonzaloV:

Hola, soy nuevo en esto del mql5 y me apasiona mucho.

Tengo el siguiente problema, he escrito este muy simple codigo y me devuelve el valor de 10 en todos los gráficos. ¿Qué he hecho mal?

//+------------------------------------------------------------------+
//|                                                CruceDeMedias.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

int MMA;

int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  { MMA = iMA(NULL,0,3,1,0,0);
    Comment (MMA);
    ChartIndicatorAdd (0,0,MMA);
   

  }
//+------------------------------------------------------------------+

saludos a todos desde Chile

El puntero a indicador se debe cargar en OnInit(), al inicio, una sola vez; en OnTick() lo cargas en cada paso del bucle, cada vez que se recibe una cotización.

punteroIndic= iMA(NULL, PERIOD_CURRENT, periodoMA, 0, MODE_SMA, PRICE_CLOSE);