//+------------------------------------------------------------------+
//|                                              equidad-grafica.mq4 |
//|                                                        fabgonber |
//|                                             http://www.ignora.cl |
//+------------------------------------------------------------------+
#property copyright "fabgonber"
#property link      "http://www.ignora.cl"

int casilla;

double mejoraEquidad[]; // la que se va a graficas
double mejoraBalance[]; // la que se va a graficas
double equidadbalance[]; // la que se va a graficas

double equidadInicial; // el valor al iniciarse el indicador
double balanceInicial; // el valor al iniciarse el indicador


#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1  Red
#property indicator_color2  Blue
#property indicator_color3  Green

extern double equidad_al_inicio = 0;
extern double balance_al_inicio = 0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

   ArraySetAsSeries(mejoraEquidad,true);
   ArraySetAsSeries(mejoraBalance,true);
   ArraySetAsSeries(equidadbalance,true);
   

   SetIndexStyle(0,DRAW_LINE,0);
   SetIndexBuffer(0,mejoraEquidad);

   SetIndexStyle(1,DRAW_LINE,0);
   SetIndexBuffer(1,mejoraBalance);
   
   SetIndexStyle(2,DRAW_LINE,0);
   SetIndexBuffer(2,equidadbalance);

   if (equidad_al_inicio==0) {
      equidadInicial = AccountEquity();
   } else {
      equidadInicial = equidad_al_inicio;
   }   
   
   if (balance_al_inicio==0) {
      balanceInicial = AccountBalance();
   }else {
      balanceInicial = balance_al_inicio;
   }

   IndicatorShortName("Red: mejoraEquidad, Blu: mejoraBalance, Gre: equidad/balance");

   SetLevelValue (0, 1); 

   casilla = 0;
   start();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   int    counted_bars=IndicatorCounted();
   int i,j,  anterior;

   for (i=casilla;i>0;i--) {

      j = i-1;   
      mejoraEquidad[i]=  mejoraEquidad[i-1];
      mejoraBalance[i]=  mejoraBalance[i-1];
      equidadbalance[i] = equidadbalance[i-1];

   }   

   mejoraEquidad[0]=  AccountEquity()/equidadInicial; 
   mejoraBalance[0]=  AccountBalance()/balanceInicial; 
   equidadbalance[0] = AccountEquity()/AccountBalance();

   casilla = casilla+1;

   return(0);

}
//+------------------------------------------------------------------+