//+------------------------------------------------------------------+
//|                                           Cam_Daily_4_Digger.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

#property copyright "Maks aka ug"
#property link      ""
#property strict

#property indicator_chart_window

extern bool                  D_PP_Show = true;              //Show Main Pivot
extern bool                  D_SR_Show = true;              //Show S/R
extern bool                 D_Mid_Show = false;              //Show Mid Pivots
extern bool             LineBackground = true;              //Hide side labels
extern int                    FontSize = 10;                 //Font size
extern color            D_PP_LineColor = White;       //Main pivot
extern ENUM_LINE_STYLE  D_PP_LineStyle = 2;                 //Line style
extern int              D_PP_LineWidth = 1;                 //Line width
extern color             D_R_LineColor = White;         //Resistance
extern color             D_S_LineColor = White;         //Support
extern ENUM_LINE_STYLE  D_SR_LineStyle = 2;                 //Line style
extern int              D_SR_LineWidth = 1;                 //Line width

double DHighPrice = iHigh(Symbol(), PERIOD_D1,1);        //High price
double DLowPrice = iLow(Symbol(), PERIOD_D1,1);         //Low price
double DOpenPrice = iOpen(Symbol(), PERIOD_D1,0);        //Open price
double DClosePrice = iClose(Symbol(), PERIOD_D1,1);   // Close Price


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
     {
      ObjectDelete("Daily Pivot");
      ObjectDelete("Daily Level R1");
      ObjectDelete("Daily Level S1");
      ObjectDelete("Daily Level R2");
      ObjectDelete("Daily Level S2");
      ObjectDelete("Daily Level R3");
      ObjectDelete("Daily Level S3");
      ObjectDelete("Daily Open Level");
      
      ObjectDelete("Daily_Pivot");
      ObjectDelete("Daily_Level_R1");
      ObjectDelete("Daily_Level_S1");
      ObjectDelete("Daily_Level_R2");
      ObjectDelete("Daily_Level_S2");
      ObjectDelete("Daily_Level_R3");
      ObjectDelete("Daily_Level_S3");
      ObjectDelete("Daily_Open_Level");
      
      



     }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double DPP,DR1,DS1,DR2,DS2,DR3,DS3,DMR1,DMR2;

   DPP = (DHighPrice+DLowPrice+DClosePrice)/3;        // Daily Pivot
   DR1 = DClosePrice + (DHighPrice-DLowPrice)*0.275;  // H3
   DS1 = DClosePrice - (DHighPrice-DLowPrice)*0.275;  // L3
   DR2 = DClosePrice + (DHighPrice-DLowPrice)*0.55;  // H4
   DS2 = DClosePrice - (DHighPrice-DLowPrice)*0.55;  // L4
   DR3 = DHighPrice;   // Yesterday High
   DS3 = DLowPrice;   // Yesterday Low
   DMR1 = DOpenPrice; // Daily Open Price
   DMR2 = DClosePrice; // Daily Close Price


//------------------------Main Pivots-------------------------//
//Weekly Main Pivot      
   if(D_PP_Show==true)
     {
      ObjectCreate("Daily Pivot",OBJ_HLINE,0,0,DPP);
      ObjectSet("Daily Pivot",OBJPROP_COLOR,D_PP_LineColor);
      ObjectSet("Daily Pivot",OBJPROP_STYLE,D_PP_LineStyle);
      ObjectSet("Daily Pivot",OBJPROP_WIDTH,D_PP_LineWidth);
      ObjectSet("Daily Pivot",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Pivot",OBJ_TEXT,0,Time[0],DPP);
      ObjectSet("Daily_Pivot",OBJPROP_COLOR,D_PP_LineColor);
      ObjectSetText("Daily_Pivot","Daily Pivot:  "+DoubleToStr(DPP,Digits),FontSize);
      ObjectMove("Daily_Pivot", 0, Time[0]+(_Period*60*25), DPP);
      
     }
//Quarterly S/R
   if(D_SR_Show==true && D_PP_Show==true)
     {
      ObjectCreate("Daily Level R1",OBJ_HLINE,0,0,DR1);
      ObjectSet("Daily Level R1",OBJPROP_COLOR,D_R_LineColor);
      ObjectSet("Daily Level R1",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level R1",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level R1",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_R1",OBJ_TEXT,0,Time[0],DR1);
      ObjectSet("Daily_Level_R1",OBJPROP_COLOR,D_R_LineColor);
      ObjectSetText("Daily_Level_R1","Daily H3:  "+DoubleToStr(DR1,Digits),FontSize);
      ObjectMove("Daily_Level_R1", 0, Time[0]+(_Period*60*25), DR1);
      

      ObjectCreate("Daily Level S1",OBJ_HLINE,0,0,DS1);
      ObjectSet("Daily Level S1",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Level S1",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level S1",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level S1",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_S1",OBJ_TEXT,0,Time[0],DS1);
      ObjectSet("Daily_Level_S1",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Level_S1","Daily L3:  "+DoubleToStr(DS1,Digits),FontSize);
      ObjectMove("Daily_Level_S1", 0, Time[0]+(_Period*60*25), DS1);

      ObjectCreate("Daily Level R2",OBJ_HLINE,0,0,DR2);
      ObjectSet("Daily Level R2",OBJPROP_COLOR,D_R_LineColor);
      ObjectSet("Daily Level R2",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level R2",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level R2",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_R2",OBJ_TEXT,0,Time[0],DR2);
      ObjectSet("Daily_Level_R2",OBJPROP_COLOR,D_R_LineColor);
      ObjectSetText("Daily_Level_R2","H4:  "+DoubleToStr(DR2,Digits),FontSize);
      ObjectMove("Daily_Level_R2", 0, Time[0]+(_Period*60*25),DR2);

      ObjectCreate("Daily Level S2",OBJ_HLINE,0,0,DS2);
      ObjectSet("Daily Level S2",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Level S2",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level S2",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level S2",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_S2",OBJ_TEXT,0,Time[0],DS2);
      ObjectSet("Daily_Level_S2",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Level_S2","L4:  "+DoubleToStr(DS2,Digits),FontSize);
      ObjectMove("Daily_Level_S2", 0, Time[0]+(_Period*60*25), DS2);

      ObjectCreate("Daily Level R3",OBJ_HLINE,0,0,DR3);
      ObjectSet("Daily Level R3",OBJPROP_COLOR,D_R_LineColor);
      ObjectSet("Daily Level R3",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level R3",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level R3",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_R3",OBJ_TEXT,0,Time[0],DR3);
      ObjectSet("Daily_Level_R3",OBJPROP_COLOR,D_R_LineColor);
      ObjectSetText("Daily_Level_R3","Daily High:  "+DoubleToStr(DR3,Digits),FontSize);
      ObjectMove("Daily_Level_R3", 0, Time[0]+(_Period*60*25), DR3);

      ObjectCreate("Daily Level S3",OBJ_HLINE,0,0,DS3);
      ObjectSet("Daily Level S3",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Level S3",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Level S3",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Level S3",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Level_S3",OBJ_TEXT,0,Time[0],DS3);
      ObjectSet("Daily_Level_S3",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Level_S3","Daily Low :  "+DoubleToStr(DS3,Digits),FontSize);
      ObjectMove("Daily_Level_S3", 0, Time[0]+(_Period*60*25), DS3);

// Daily Open
      ObjectCreate("Daily Open Level",OBJ_HLINE,0,0,DMR1);
      ObjectSet("Daily Open Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Open Level",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Open Level",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Open Level",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Open_Level",OBJ_TEXT,0,Time[0],DMR1);
      ObjectSet("Daily_Open_Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Open_Level","Daily Open:  "+DoubleToStr(DMR1,Digits),FontSize);
      ObjectMove("Daily_Open_Level", 0, Time[0]+(_Period*60*25), DMR1);

// Daily Roll Over (ROVR)
      ObjectCreate("Daily RollOver",OBJ_HLINE,0,0,DMR2);
      ObjectSet("Daily RollOver",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily RollOver",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily RollOver",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily RollOver",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_RollOver",OBJ_TEXT,0,Time[0],DMR2);
      ObjectSet("Daily_RollOver",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_RollOver","Daily Open:  "+DoubleToStr(DMR2,Digits),FontSize);
      ObjectMove("Daily_RollOver", 0, Time[0]+(_Period*60*25), DMR2);      
 /*
 // Yesterday Mid Point    
      ObjectCreate("Daily Open Level",OBJ_HLINE,0,0,DMR1);
      ObjectSet("Daily Open Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Open Level",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Open Level",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Open Level",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Open_Level",OBJ_TEXT,0,Time[0],DMR1);
      ObjectSet("Daily_Open_Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Open_Level","Daily Open:  "+DoubleToStr(DMR1,Digits),FontSize);
      ObjectMove("Daily_Open_Level", 0, Time[0]+(_Period*60*25), DMR1);      

// Daily H3            
      ObjectCreate("Daily Open Level",OBJ_HLINE,0,0,DMR1);
      ObjectSet("Daily Open Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Open Level",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Open Level",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Open Level",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Open_Level",OBJ_TEXT,0,Time[0],DMR1);
      ObjectSet("Daily_Open_Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Open_Level","Daily Open:  "+DoubleToStr(DMR1,Digits),FontSize);
      ObjectMove("Daily_Open_Level", 0, Time[0]+(_Period*60*25), DMR1);      

 // Daily L5 
      ObjectCreate("Daily Open Level",OBJ_HLINE,0,0,DMR1);
      ObjectSet("Daily Open Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSet("Daily Open Level",OBJPROP_STYLE,D_SR_LineStyle);
      ObjectSet("Daily Open Level",OBJPROP_WIDTH,D_SR_LineWidth);
      ObjectSet("Daily Open Level",OBJPROP_BACK,LineBackground);
      
      ObjectCreate("Daily_Open_Level",OBJ_TEXT,0,Time[0],DMR1);
      ObjectSet("Daily_Open_Level",OBJPROP_COLOR,D_S_LineColor);
      ObjectSetText("Daily_Open_Level","Daily Open:  "+DoubleToStr(DMR1,Digits),FontSize);
      ObjectMove("Daily_Open_Level", 0, Time[0]+(_Period*60*25), DMR1); */     
                  
     }
//------------------------Mid Pivots-------------------------//
 
     {

     }
   return(0);
  }
//+------------------------------------------------------------------+
