//+------------------------------------------------------------------+
//|                               Jim Sloman's natural market mirror |
//|                                                      ocn nmm.mq4 |
//|                                                           mladen |
//+------------------------------------------------------------------+
#property copyright "mladen"
#property link      "mladenfx@gmail.com"

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1  Red
#property indicator_color2  Orange
#property indicator_color3  OrangeRed
#property indicator_color4  Yellow
#property indicator_color5  Green
#property indicator_color6  DeepSkyBlue
#property indicator_color7  Blue

//
//
//
//
//

extern int    NMMPeriod       = 40;
extern int    NMMPrice        = PRICE_CLOSE;
extern int    TEMAPeriod      = 10;
extern bool   Interpolate     = false;

    bool   alertsOn        = false;
    bool   alertsOnCurrent = false;
    bool   alertsMessage   = false;
    bool   alertsSound     = false;
    bool   alertsEmail     = false;







//
//
//
//
//

double nmmM1[];
double nmmM5[];
double nmmM15[];
double nmmM30[];
double nmmH1[];
double nmmH4[];
double nmmD1[];

//
//
//
//
//

string indicatorFileName;
bool   calculateValue;
bool   returnBars;
int    timeFrame;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//
//
//
//
//

int init()
{
 IndicatorBuffers(7);
   SetIndexBuffer(0,nmmM1); SetIndexLabel(0,"M1");
   SetIndexBuffer(1,nmmM5); SetIndexLabel(1,"M5");
   SetIndexBuffer(2,nmmM15); SetIndexLabel(2,"M15");
   SetIndexBuffer(3,nmmM30); SetIndexLabel(3,"M30");
   SetIndexBuffer(4,nmmH1); SetIndexLabel(4,"H1");
   SetIndexBuffer(5,nmmH4); SetIndexLabel(5,"H4");
   SetIndexBuffer(6,nmmD1); SetIndexLabel(6,"D1");
   SetLevelValue(0,0.0);

   IndicatorShortName("ocn nmm rainbow  ("+NMMPeriod+","+NMMPrice+","+TEMAPeriod+")");
 return(0);
}

//
//
//
//
//
          
int deinit() { return(0); }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//
//
//
//
//

int start()
{
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMax(Bars-counted_bars,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,1)));
   
   //
   //
   //
   //
   //
   
   for(int i=limit; i >= 0; i--)
   {
      nmmM1[i]  = iCustom(NULL,PERIOD_M1 ,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_M1 ,Time[i]));
      nmmM5[i]  = iCustom(NULL,PERIOD_M5 ,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_M5 ,Time[i]));
      nmmM15[i] = iCustom(NULL,PERIOD_M15,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_M15,Time[i]));
      nmmM30[i] = iCustom(NULL,PERIOD_M30,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_M30,Time[i]));
      nmmH1[i]  = iCustom(NULL,PERIOD_H1 ,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_H1 ,Time[i]));
      nmmH4[i]  = iCustom(NULL,PERIOD_H4 ,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_H4 ,Time[i]));
      nmmD1[i]  = iCustom(NULL,PERIOD_D1 ,"ocn nmm mtf","", NMMPeriod,NMMPrice,TEMAPeriod,false,false,1,iBarShift(NULL,PERIOD_D1 ,Time[i]));
   }
   return(0);
}

