//+------------------------------------------------------------------+
//|                                                         USDX.mq4 |
//|                                             Copyright © 2007, AK |
//|                                              UD Dollar Index     |
//| NEED USDSEK PAIR TO WORK                                         |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, AK"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

double USDXBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator line
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,USDXBuffer);
   SetIndexLabel(0,NULL);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i,limit,counted_bars=IndicatorCounted();
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
  
  for(i=0;i<=limit;i++)
      {
      USDXBuffer[i] = 50.14348112 * MathPow( iClose("EURUSD",0,i), -0.576)* MathPow( iClose("USDJPY",0,i),0.136) * MathPow( iClose("GBPUSD",0,i),-0.119) 
      * MathPow( iClose("USDCAD",0,i),0.091) * MathPow( iClose("USDSEK",0,i),0.042) * MathPow( iClose("USDCHF",0,i),0.036);
      }
   string short_name="USDX : "+DoubleToStr(USDXBuffer[0],3);
   IndicatorShortName(short_name);
   return(0);
  }

