//+------------------------------------------------------------------+
//|                                   Digger Ensign Weekly Pivot.mq4 |
//|                        Copyright 2022, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+


extern double WHighPrice = 2031.56; 
extern double WLowPrice = 1984.14; 
extern double WClosePrice = 2013.10;

extern bool             LineBackground = true;              //Hide side labels
extern int                    FontSize = 10;                 //Font size

extern bool                  WHi_Show = true;              //Show Q Pivot
extern color            WHi_LineColor = Lime;       //Q pivot
extern ENUM_LINE_STYLE  WHi_LineStyle = 2;                 //Line style
extern int              WHi_LineWidth = 1;                 //Line width

extern bool                  WR1_Show = true;              //Show QH3
extern color             WR1_LineColor = Orange;         //Resistance
extern ENUM_LINE_STYLE  WR1_LineStyle = 2;                 //Line style
extern int              WR1_LineWidth = 1;                 //Line width

extern bool                  WS1_Show = true;              //Show QL3
extern color             WS1_LineColor = Yellow;         //Support
extern ENUM_LINE_STYLE  WS1_LineStyle = 2;                 //Line style
extern int              WS1_LineWidth = 1;                 //Line width

extern bool                  WR2_Show = true;              //Show QH3
extern color             WR2_LineColor = Crimson;         //Resistance
extern ENUM_LINE_STYLE  WR2_LineStyle = 2;                 //Line style
extern int              WR2_LineWidth = 1;                 //Line width

extern bool                  WS2_Show = true;              //Show QL3
extern color             WS2_LineColor = Crimson;         //Support
extern ENUM_LINE_STYLE  WS2_LineStyle = 2;                 //Line style
extern int              WS2_LineWidth = 1;                 //Line width

extern bool                  WR3_Show = true;              //Show QH3
extern color             WR3_LineColor = Orange;         //Resistance
extern ENUM_LINE_STYLE  WR3_LineStyle = 2;                 //Line style
extern int              WR3_LineWidth = 1;                 //Line width

extern bool                  WS3_Show = true;              //Show QL3
extern color             WS3_LineColor = Orange;         //Support
extern ENUM_LINE_STYLE  WS3_LineStyle = 2;                 //Line style
extern int              WS3_LineWidth = 1;                 //Line width

extern bool                  WLo_Show = true;              //Show QH3
extern color             WLo_LineColor = Crimson;         //Resistance
extern ENUM_LINE_STYLE  WLo_LineStyle = 2;                 //Line style
extern int              WLo_LineWidth = 1;                 //Line width

extern bool                  WRovr_Show = true;              //Show QL3
extern color             WRovr_LineColor = Yellow;         //Support
extern ENUM_LINE_STYLE  WRovr_LineStyle = 2;                 //Line style
extern int              WRovr_LineWidth = 1;                 //Line width


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
     {

      ObjectDelete("Weekly WHi");
      ObjectDelete("Weekly WR1");
      ObjectDelete("Weekly WS1");
      ObjectDelete("Weekly WR2");
      ObjectDelete("Weekly WS2");     
      ObjectDelete("Weekly WR3");
      ObjectDelete("Weekly WS3");
      ObjectDelete("Weekly WLo");
      ObjectDelete("Weekly WRovr"); 
           
      ObjectDelete("Weekly_WHi");
      ObjectDelete("Weekly_WR1");
      ObjectDelete("Weekly_WS1");
      ObjectDelete("Weekly_WR2");
      ObjectDelete("Weekly_WS2");
      ObjectDelete("Weekly_WR3");
      ObjectDelete("Weekly_WS3");
      ObjectDelete("Weekly_WLo");
      ObjectDelete("Weekly_WRovr");

     }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
      double WP,WHi,WR1,WS1,WR2,WS2,WR3,WS3,WLo,WRovr;
 
   WP = (WHighPrice + WLowPrice + WClosePrice)/3;   // QP
   WHi = WHighPrice; // Lw High 
   WR1 = (2*WP)- WLowPrice;  //WR1
   WS1 = (2*WP)- WHighPrice;  //WS1
   WR2 = WP + (WHighPrice - WLowPrice) ;  //WR2 
   WS2 = WP - (WHighPrice - WLowPrice);  //WS2
   WR3 = (2*WP) + (WHighPrice -(2* WLowPrice));    //WR3
   WS3 = (2*WP) - ((2* WHighPrice) - WLowPrice);   //WS3 
   WLo = WLowPrice;    //LW Low
   WRovr = WClosePrice;   //Last WEEk Cloise 

   
   /*double DPP,DH3,DL3,DH4,DL4,YH,YL,DH5,DL5,DO,ROVR,DMid;

      double wpP =  (wpPreviousHigh + wpPreviousLow + wpPreviousClose)/3;
      double wpR1 = (2*wpP) - wpPreviousLow;  //WR1
      double wpS1 = (2*wpP) - wpPreviousHigh;  //WS1
      double wpR2 = wpP +(wpPreviousHigh-wpPreviousLow);  //WR2
      double wpS2 = wpP -(wpPreviousHigh-wpPreviousLow);  //WS2
      double wpR3 =(2*wpP) +(wpPreviousHigh-(2*wpPreviousLow));    //WR3
      double wpS3 = (2*wpP) -((2*wpPreviousHigh)-wpPreviousLow);   //WS3
      double wpRovr = wpPreviousClose; // W RollOver  */


//------------------------Main Pivots-------------------------//
//Weekly Main Pivot      
   if(WHi_Show==true)
     {
      ObjectCreate("Weekly WHi",OBJ_HLINE,0,0,WHi);
      ObjectSet("Weekly WHi",OBJPROP_COLOR,WHi_LineColor);
      ObjectSet("Weekly WHi",OBJPROP_STYLE,WHi_LineStyle);
      ObjectSet("Weekly WHi",OBJPROP_WIDTH,WHi_LineWidth);
      ObjectSet("Weekly WHi",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WHi",OBJ_TEXT,0,Time[0],WHi);
      ObjectSet("Weekly_WHi",OBJPROP_COLOR,WHi_LineColor);
      ObjectSetText("Weekly_WHi","LW High:  "+DoubleToStr(WHi,Digits),FontSize);
      ObjectMove("Weekly_WHi", 0, Time[0]+(_Period*60*40), WHi);
      
     }
//Weekly S/R
   if(WR1_Show==true )
     {
      ObjectCreate("Weekly WR1",OBJ_HLINE,0,0,WR1);
      ObjectSet("Weekly WR1",OBJPROP_COLOR,WR1_LineColor);
      ObjectSet("Weekly WR1",OBJPROP_STYLE,WR1_LineStyle);
      ObjectSet("Weekly WR1",OBJPROP_WIDTH,WR1_LineWidth);
      ObjectSet("Weekly WR1",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WR1",OBJ_TEXT,0,Time[0],WR1);
      ObjectSet("Weekly_WR1",OBJPROP_COLOR,WR1_LineColor);
      ObjectSetText("Weekly_WR1","WR1:  "+DoubleToStr(WR1,Digits),FontSize);
      ObjectMove("Weekly_WR1", 0, Time[0]+(_Period*60*30), WR1);
     }  
   if(WS2_Show==true )
     {      
      ObjectCreate("Weekly WS1",OBJ_HLINE,0,0,WS1);
      ObjectSet("Weekly WS1",OBJPROP_COLOR,WS1_LineColor);
      ObjectSet("Weekly WS1",OBJPROP_STYLE,WS1_LineStyle);
      ObjectSet("Weekly WS1",OBJPROP_WIDTH,WS1_LineWidth);
      ObjectSet("Weekly WS1",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WS1",OBJ_TEXT,0,Time[0],WS1);
      ObjectSet("Weekly_WS1",OBJPROP_COLOR,WS1_LineColor);
      ObjectSetText("Weekly_WS1","WS1:  "+DoubleToStr(WS1,Digits),FontSize);
      ObjectMove("Weekly_WS1", 0, Time[0]+(_Period*60*30), WS1);
     }  
   if(WR2_Show==true )
     {            
      ObjectCreate("Weekly WR2",OBJ_HLINE,0,0,WR2);
      ObjectSet("Weekly WR2",OBJPROP_COLOR,WR2_LineColor);
      ObjectSet("Weekly WR2",OBJPROP_STYLE,WR2_LineStyle);
      ObjectSet("Weekly WR2",OBJPROP_WIDTH,WR2_LineWidth);
      ObjectSet("Weekly WR2",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WR2",OBJ_TEXT,0,Time[0],WR2);
      ObjectSet("Weekly_WR2",OBJPROP_COLOR,WR2_LineColor);
      ObjectSetText("Weekly_WR2","WR2:  "+DoubleToStr(WR2,Digits),FontSize);
      ObjectMove("Weekly_WR2", 0, Time[0]+(_Period*60*30), WR2);
     }  
   if(WS2_Show==true )
     {      
      ObjectCreate("Weekly WS2",OBJ_HLINE,0,0,WS2);
      ObjectSet("Weekly WS2",OBJPROP_COLOR,WS2_LineColor);
      ObjectSet("Weekly WS2",OBJPROP_STYLE,WS2_LineStyle);
      ObjectSet("Weekly WS2",OBJPROP_WIDTH,WS2_LineWidth);
      ObjectSet("Weekly WS2",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WS2",OBJ_TEXT,0,Time[0],WS2);
      ObjectSet("Weekly_WS2",OBJPROP_COLOR,WS2_LineColor);
      ObjectSetText("Weekly_WS2","WS2:  "+DoubleToStr(WS2,Digits),FontSize);
      ObjectMove("Weekly_WS2", 0, Time[0]+(_Period*60*30), WS2);

     }  
   if(WR3_Show==true )
     { 
      ObjectCreate("Weekly WR3",OBJ_HLINE,0,0,WR3);
      ObjectSet("Weekly WR3",OBJPROP_COLOR,WR3_LineColor);
      ObjectSet("Weekly WR3",OBJPROP_STYLE,WR3_LineStyle);
      ObjectSet("Weekly WR3",OBJPROP_WIDTH,WR3_LineWidth);
      ObjectSet("Weekly WR3",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WR3",OBJ_TEXT,0,Time[0],WR3);
      ObjectSet("Weekly_WR3",OBJPROP_COLOR,WR3_LineColor);
      ObjectSetText("Weekly_WR3","WR3:  "+DoubleToStr(WR3,Digits),FontSize);
      ObjectMove("Weekly_WR3", 0, Time[0]+(_Period*60*30), WR3);    
     }  
   if(WS3_Show==true )
     { 
      ObjectCreate("Weekly WS3",OBJ_HLINE,0,0,WS3);
      ObjectSet("Weekly WS3",OBJPROP_COLOR,WS3_LineColor);
      ObjectSet("Weekly WS3",OBJPROP_STYLE,WS3_LineStyle);
      ObjectSet("Weekly WS3",OBJPROP_WIDTH,WS3_LineWidth);
      ObjectSet("Weekly WS3",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WS3",OBJ_TEXT,0,Time[0],WS3);
      ObjectSet("Weekly_WS3",OBJPROP_COLOR,WS3_LineColor);
      ObjectSetText("Weekly_WS3","WS3:  "+DoubleToStr(WS3,Digits),FontSize);
      ObjectMove("Weekly_WS3", 0, Time[0]+(_Period*60*30), WS3);
 
          }  
   if(WLo_Show==true )
     {
      ObjectCreate("Weekly WLo",OBJ_HLINE,0,0,WLo);
      ObjectSet("Weekly WLo",OBJPROP_COLOR,WLo_LineColor);
      ObjectSet("Weekly WLo",OBJPROP_STYLE,WLo_LineStyle);
      ObjectSet("Weekly WLo",OBJPROP_WIDTH,WLo_LineWidth);
      ObjectSet("Weekly WLo",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WLo",OBJ_TEXT,0,Time[0],WLo);
      ObjectSet("Weekly_WLo",OBJPROP_COLOR,WLo_LineColor);
      ObjectSetText("Weekly_WLo","LW Low:  "+DoubleToStr(WLo,Digits),FontSize);
      ObjectMove("Weekly_WLo", 0, Time[0]+(_Period*60*40), WLo);       
     }  
   if(WRovr_Show==true )
     { 
      ObjectCreate("Weekly WRovr",OBJ_HLINE,0,0,WRovr);
      ObjectSet("Weekly WRovr",OBJPROP_COLOR,WRovr_LineColor);
      ObjectSet("Weekly WRovr",OBJPROP_STYLE,WRovr_LineStyle);
      ObjectSet("Weekly WRovr",OBJPROP_WIDTH,WRovr_LineWidth);
      ObjectSet("Weekly WRovr",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Weekly_WRovr",OBJ_TEXT,0,Time[0],WRovr);
      ObjectSet("Weekly_WRovr",OBJPROP_COLOR,WRovr_LineColor);
      ObjectSetText("Weekly_WRovr","WRovr:  "+DoubleToStr(WRovr,Digits),FontSize);
      ObjectMove("Weekly_WRovr", 0, Time[0]+(_Period*60*40), WRovr);
                                                       
     }
//------------------------Mid Pivots-------------------------//
 
     {

     }
   return(0);
  }
//+------------------------------------------------------------------+
