//+------------------------------------------------------------------+
//|                                                       zscore.mq4 |
//|                                                        modulatum |
//+------------------------------------------------------------------+
#property copyright "Mod"

#property indicator_separate_window
//#property indicator_minimum    -2
//#property indicator_maximum    2
#property indicator_buffers 2
#property indicator_color1 DeepSkyBlue
#property indicator_color2 Red
//#property indicator_color3 White
//#property indicator_color4 HotPink
//#property indicator_color5 Lime
//#property indicator_color6 DeepSkyBlue

#property indicator_level1 0
//---- input parameters
extern int       barsToCount = 5;

//extern double DowOpen = 17668;
//extern double NasOpen = 4336.50;
//extern double SPOpen =2032.50;
int       MaLen = 288;
//---- buffers
double zscore[];
double zscore1[];
double zscore2[];
double zscore3[];
double zscore4[];
double zscore5[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,zscore);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,zscore1);
//   SetIndexStyle(2,DRAW_LINE);
//   SetIndexBuffer(2,zscore2);
//   SetIndexStyle(3,DRAW_LINE);
//   SetIndexBuffer(3,zscore3);
//   SetIndexStyle(4,DRAW_LINE);
//   SetIndexBuffer(4,zscore4);
//   SetIndexStyle(5,DRAW_LINE);
//   SetIndexBuffer(5,zscore5);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit = barsToCount;
   
//----
   
   for(int i = 0 ;i <= limit-5 ;i++)
   {  
//      if (iCustom("DM_M16", 0, "Daily open line", 0,0, i) !=0 && iCustom("NQ_M16", 0, "Daily open line", 0,0, i) !=0)
//      if (iStdDev(NULL,0,MaLen,0,0,0,i)!=0)
      {
      zscore[0] = (((((MarketInfo("GBPUSD", MODE_ASK)-iCustom("GBPUSD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("GBPUSD", MODE_POINT))) * MarketInfo("GBPUSD", MODE_TICKVALUE) )+
                  ((((MarketInfo("NZDCAD", MODE_ASK)-iCustom("NZDCAD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("NZDCAD", MODE_POINT))) * MarketInfo("NZDCAD", MODE_TICKVALUE) )+
                  ((((MarketInfo("AUDNZD", MODE_ASK)-iCustom("AUDNZD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("AUDNZD", MODE_POINT))) * MarketInfo("AUDNZD", MODE_TICKVALUE) )+
                  (-1*((((MarketInfo("GBPCAD", MODE_BID)-iCustom("GBPCAD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("GBPCAD", MODE_POINT))) * MarketInfo("GBPCAD", MODE_TICKVALUE) ))+
                  (-1*((((MarketInfo("AUDUSD", MODE_BID)-iCustom("AUDUSD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("AUDUSD", MODE_POINT))) * MarketInfo("AUDUSD", MODE_TICKVALUE) )));
      
      zscore1[0] = (((((MarketInfo("GBPUSD", MODE_BID)-iCustom("GBPUSD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("GBPUSD", MODE_POINT))) * MarketInfo("GBPUSD", MODE_TICKVALUE) )+
                  ((((MarketInfo("NZDCAD", MODE_BID)-iCustom("NZDCAD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("NZDCAD", MODE_POINT))) * MarketInfo("NZDCAD", MODE_TICKVALUE) )+
                  ((((MarketInfo("AUDNZD", MODE_BID)-iCustom("AUDNZD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("AUDNZD", MODE_POINT))) * MarketInfo("AUDNZD", MODE_TICKVALUE) )+
                  (-1*((((MarketInfo("GBPCAD", MODE_ASK)-iCustom("GBPCAD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("GBPCAD", MODE_POINT))) * MarketInfo("GBPCAD", MODE_TICKVALUE) ))+
                  (-1*((((MarketInfo("AUDUSD", MODE_ASK)-iCustom("AUDUSD", 0, "DayOpenDayLevel", 0,0, 0))/MarketInfo("AUDUSD", MODE_POINT))) * MarketInfo("AUDUSD", MODE_TICKVALUE) )));
                  
//      zscore1[i] = (((((iClose("EURAUD+",0,i)-iCustom("EURAUD+", 0, "Daily open line", 0,0, i))/MarketInfo("EURAUD+", MODE_POINT))) * MarketInfo("EURAUD+", MODE_TICKVALUE) )+
                  
                  
//      zscore2[i] = (((((iClose("GBPAUD+",0,i)-iCustom("GBPAUD+", 0, "Daily open line", 0,0, i))/MarketInfo("GBPAUD+", MODE_POINT))) * MarketInfo("GBPAUD+", MODE_TICKVALUE) )+
                  
                  
//      zscore3[i] = ((-1) * (((((iClose("AUDJPY+",0,i)-iCustom("AUDJPY+", 0, "Daily open line", 0,0, i))/MarketInfo("AUDJPY+", MODE_POINT))) * MarketInfo("AUDJPY+", MODE_TICKVALUE) )+
                  
                  
      }
//      zscore[i] = (iClose(NULL,0,i)-iMA(NULL,0,MaLen,0,0,0,i))/iStdDev(NULL,0,MaLen,0,0,0,i);
//     else      
//     {zscore[i]=0; 
//      zscore1[i]=0;
//      zscore2[i]=0;}
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
