Help needed please coding pivot point days into my EA

 

Hi

I have this code for working out my pivots:

double Pivot(string up_dn){int time = StrToTime("22:00")-(Period()*60),shift;
   if(TimeCurrent()<=time){
      shift = iBarShift(Symbol(),Period(),iTime(Symbol(),1440,1)+(22*3600)-(Period()*60),false);
   }else{
      shift = iBarShift(Symbol(),Period(),iTime(Symbol(),1440,0)+(22*3600)-(Period()*60),false);
   }
   int    count    = 1440/Period();
   double PDayHigh = iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,count,shift));
   double PDayLow  = iLow (Symbol(),Period(),iLowest (Symbol(),Period(),MODE_LOW ,count,shift));
   double Pivot    = (PDayHigh + PDayLow + iClose(Symbol(),Period(),shift)) / 3;    // Pivot point
   double Range = PDayHigh - PDayLow;
   pivot[0] = (PDayHigh + PDayLow + iClose(Symbol(),Period(),shift)) / 3;
   pivot[1] = PDayHigh - PDayLow;
   pivot[2] = 2 * pivot[0] - PDayLow;                     // R1
   pivot[3] = pivot[0] + Range;                           // R2
   pivot[4] = pivot[2] + Range;                           // R3
   pivot[5] = 2 * pivot[0] - PDayHigh;                    // S1
   pivot[6] = pivot[0] - Range;                           // S2
   pivot[7] = pivot[5] - Range;                           // S3

   if(DrawPivots){
      SetArrow(4,Red,       pivot[2]," R1 ");
      SetArrow(4,Blue,      pivot[5]," S1 ");
      SetArrow(4,Red,       pivot[3]," R2 ");
      SetArrow(4,Blue,      pivot[6]," S2 ");
      SetArrow(4,Red,       pivot[4]," R3 ");
      SetArrow(4,Blue,      pivot[7]," S3 ");            
      SetArrow(4,Gray  ,    pivot[0]," Pivot ");
   }
   if(up_dn == "lo"){
      return(Pivot - Range);
   }   
   if(up_dn == "hi"){
      return(Pivot + Range);
   }
   return(Pivot); 
}

I was hoping to code it so that it thinks a sunday evening open from 2200 gmt is the same day as monday but I am in need of some help doing this:

int PDay = TimeDayOfWeek();

      if( PDay == 0 ) PDay = 1;      // Count Sunday as Monday
      if( PDay == 6 ) PDay = 5;      // Count Saturday as Friday
      
      return( PDay );
      
double Pivot(string up_dn){int time = StrToTime("22:00")-(Period()*60),shift;
   if(TimeCurrent()<=time){
      shift = iBarShift(Symbol(),Period(),iTime(Symbol(),1440,1)+(22*3600)-(Period()*60),false);
   }else{
      shift = iBarShift(Symbol(),Period(),iTime(Symbol(),1440,0)+(22*3600)-(Period()*60),false);
   }
   int    count    = 1440/Period();
   double PDayHigh = iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,count,shift));
   double PDayLow  = iLow (Symbol(),Period(),iLowest (Symbol(),Period(),MODE_LOW ,count,shift));
   double Pivot    = (PDayHigh + PDayLow + iClose(Symbol(),Period(),shift)) / 3;    // Pivot point
   double Range = PDayHigh - PDayLow;
   pivot[0] = (PDayHigh + PDayLow + iClose(Symbol(),Period(),shift)) / 3;
   pivot[1] = PDayHigh - PDayLow;
   pivot[2] = 2 * pivot[0] - PDayLow;                     // R1
   pivot[3] = pivot[0] + Range;                           // R2
   pivot[4] = pivot[2] + Range;                           // R3
   pivot[5] = 2 * pivot[0] - PDayHigh;                    // S1
   pivot[6] = pivot[0] - Range;                           // S2
   pivot[7] = pivot[5] - Range;                           // S3

   if(DrawPivots){
      SetArrow(4,Red,       pivot[2]," R1 ");
      SetArrow(4,Blue,      pivot[5]," S1 ");
      SetArrow(4,Red,       pivot[3]," R2 ");
      SetArrow(4,Blue,      pivot[6]," S2 ");
      SetArrow(4,Red,       pivot[4]," R3 ");
      SetArrow(4,Blue,      pivot[7]," S3 ");            
      SetArrow(4,Gray  ,    pivot[0]," Pivot ");
   }
   if(up_dn == "lo"){
      return(Pivot - Range);
   }   
   if(up_dn == "hi"){
      return(Pivot + Range);
   }
   return(Pivot); 
}

Please help with this one

Thanks

Antony

Reason: