grid yens4





//+------------------------------------------------------------------+
//|        KlPivot_Weekly_yen.mq4              by Habeeb             |
//|                                                                  |
//+------------------------------------------------------------------+

#property indicator_chart_window

   extern bool Daily   = False;
   extern bool Weekly  = True;
   extern bool Monthly = False;

   double YesterdayHigh;
   double YesterdayLow;
   double YesterdayClose;
   double Day_Price[][6];
   double Pivot,S1,S2,S3,R1,R2,R3;
   
   double WeekOpen;
   double WeekLow;
   double WeekClose;
   double Weekly_Price[][6];
   double WeekPivot,WS31,WS32,WS33,WS34,WS35,WS36,WS37,WS38,WR31,WR32,WR33,WR34,WR35,WR36,WR37,WR38;
   
   double MonthHigh;
   double MonthLow;
   double MonthClose;
   double Month_Price[][6];
   double MonthPivot,MS1,MS2,MS3,MR1,MR2,MR3;

int init()
  {
   return(0);
  }
  
//-------------------------------------------------------- 
  
int deinit()
  {
ObjectDelete("PivotLine");

ObjectDelete("R1_Line");
ObjectDelete("R2_Line");
ObjectDelete("R3_Line");

ObjectDelete("S1_Line");
ObjectDelete("S2_Line");
ObjectDelete("S3_Line");  

//--------------------------------

ObjectDelete("PivotLabel");

ObjectDelete("R1_Label");
ObjectDelete("R2_Label");
ObjectDelete("R3_Label");

ObjectDelete("S1_Label");
ObjectDelete("S2_Label");
ObjectDelete("S3_Label"); 

//--------------------------------------------------------

ObjectDelete("WR31_Line");
ObjectDelete("WR32_Line");
ObjectDelete("WR33_Line");
ObjectDelete("WR34_Line");
ObjectDelete("WR35_Line");
ObjectDelete("WR36_Line");
ObjectDelete("WR37_Line");
ObjectDelete("WR38_Line");

ObjectDelete("WS31_Line");
ObjectDelete("WS32_Line");
ObjectDelete("WS33_Line");
ObjectDelete("WS34_Line");
ObjectDelete("WS35_Line");
ObjectDelete("WS36_Line");
ObjectDelete("WS37_Line");
ObjectDelete("WS38_Line"); 

//--------------------------------

ObjectDelete("WR31_Label");
ObjectDelete("WR32_Label");
ObjectDelete("WR33_Label");
ObjectDelete("WR34_Label");
ObjectDelete("WR35_Label");
ObjectDelete("WR36_Label");
ObjectDelete("WR37_Label");
ObjectDelete("WR38_Label");


ObjectDelete("WS31_Label");
ObjectDelete("WS32_Label");
ObjectDelete("WS23_Label");
ObjectDelete("WS34_Label");
ObjectDelete("WS35_Label");
ObjectDelete("WS36_Label");
ObjectDelete("WS37_Label");
ObjectDelete("WS38_Label");

 

//--------------------------------------------------------

ObjectDelete("MonthPivotLine");

ObjectDelete("MR1_Line");
ObjectDelete("MR2_Line");
ObjectDelete("MR3_Line");

ObjectDelete("MS1_Line");
ObjectDelete("MS2_Line");
ObjectDelete("MS3_Line");  

//--------------------------------

ObjectDelete("MonthPivotLabel");

ObjectDelete("MR1_Label");
ObjectDelete("MR2_Label");
ObjectDelete("MR3_Label");

ObjectDelete("MS1_Label");
ObjectDelete("MS2_Label");
ObjectDelete("MS3_Label");

return(0);
}
//--------------------------------------------------------- 

int start()
{

ArrayInitialize(Day_Price,0);
ArrayCopyRates(Day_Price,(Symbol()), 1440);


YesterdayHigh  = Day_Price[1][3];
YesterdayLow   = Day_Price[1][2];
YesterdayClose = Day_Price[1][4];

Pivot = ((YesterdayHigh + YesterdayLow + YesterdayClose)/3);

   R1 = (2*Pivot)-YesterdayLow;
   S1 = (2*Pivot)-YesterdayHigh;

   R2 = Pivot+(R1-S1);
   S2 = Pivot-(R1-S1);

   S3 = (YesterdayLow - (2*(YesterdayHigh-Pivot)));
   R3 = (YesterdayHigh + (2*(Pivot-YesterdayLow)));

//--------------------------------------------------------
//--------------------------------------------------------

ArrayInitialize(Weekly_Price, 0);
ArrayCopyRates(Weekly_Price, Symbol(), 10080);

WeekOpen  = Weekly_Price[0][1];
//WeekLow   = Weekly_Price[1][2];
//WeekClose = Weekly_Price[1][4];

WeekPivot = WeekOpen;

      WR31 = WeekPivot + 12.5;
      WS31 = WeekPivot - 12.5;

      WR32 = WeekPivot + 13.0;
      WS32 = WeekPivot - 13.0;

      WS33 = WeekPivot - 13.5;
      WR33 = WeekPivot + 13.5;
      
      WS34 = WeekPivot - 14.0;
      WR34 = WeekPivot + 14.0;
      
      WS35 = WeekPivot - 14.50;
      WR35 = WeekPivot + 14.5;
      
      WS36 = WeekPivot - 15.0;
      WR36 = WeekPivot + 15.0;
      
      WS37 = WeekPivot - 15.50;
      WR37 = WeekPivot + 15.50;
      
      WS38 = WeekPivot - 16.00;
      WR38 = WeekPivot + 16.00;          

//--------------------------------------------------------
//--------------------------------------------------------

ArrayInitialize(Month_Price, 0);
ArrayCopyRates(Month_Price, Symbol(), 43200);

MonthHigh  = Month_Price[1][3];
MonthLow   = Month_Price[1][2];
MonthClose = Month_Price[1][4];

MonthPivot = ((MonthHigh + MonthLow + MonthClose)/3);

      MR1 = (2*MonthPivot)-MonthLow;
      MS1 = (2*MonthPivot)-MonthHigh;

      MR2 = MonthPivot+(MR1-MS1);
      MS2 = MonthPivot-(MR1-MS1);

      MS3 = (MonthLow - (2*(MonthHigh-MonthPivot)));
      MR3 = (MonthHigh + (2*(MonthPivot-MonthLow)));

//--------------------------------------------------------

if (Daily==true)
{

ObjectCreate("PivotLine", OBJ_HLINE,0, CurTime(),Pivot);
ObjectSet("PivotLine", OBJPROP_COLOR, Magenta);
ObjectSet("PivotLine", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("PivotLabel") != 0)
{
ObjectCreate("PivotLabel", OBJ_TEXT, 0, Time[20], Pivot);
ObjectSetText("PivotLabel", "Daily Pivot", 8, "Arial", Magenta);
}
else
{
ObjectMove("PivotLabel", 0, Time[20], Pivot);
}

//--------------------------------------------------------

ObjectCreate("R1_Line", OBJ_HLINE,0, CurTime(),R1);
ObjectSet("R1_Line", OBJPROP_COLOR, Maroon);
ObjectSet("R1_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("R1_Label") != 0)
{
ObjectCreate("R1_Label", OBJ_TEXT, 0, Time[20], R1);
ObjectSetText("R1_Label", "Daily R1", 8, "Arial", Red);
}
else
{
ObjectMove("R1_Label", 0, Time[20], R1);
}

//--------------------------------------------------------

ObjectCreate("R2_Line", OBJ_HLINE,0, CurTime(),R2);
ObjectSet("R2_Line", OBJPROP_COLOR, Red);
ObjectSet("R2_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("R2_Label") != 0)
{
ObjectCreate("R2_Label", OBJ_TEXT, 0, Time[20], R2);
ObjectSetText("R2_Label", "Daily R2", 8, "Arial", Red);
}
else
{
ObjectMove("R2_Label", 0, Time[20], R2);
}

//---------------------------------------------------------

ObjectCreate("R3_Line", OBJ_HLINE,0, CurTime(),R3);
ObjectSet("R3_Line", OBJPROP_COLOR, Red);
ObjectSet("R3_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("R3_Label") != 0)
{
ObjectCreate("R3_Label", OBJ_TEXT, 0, Time[20], R3);
ObjectSetText("R3_Label", "Daily R3", 8, "Arial", Red);
}
else
{
ObjectMove("R3_Label", 0, Time[20], R3);
}

//---------------------------------------------------------

ObjectCreate("S1_Line", OBJ_HLINE,0, CurTime(),S1);
ObjectSet("S1_Line", OBJPROP_COLOR, LimeGreen);
ObjectSet("S1_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("S1_Label") != 0)
{
ObjectCreate("S1_Label", OBJ_TEXT, 0, Time[20], S1);
ObjectSetText("S1_Label", "Daily S1", 8, "Arial", LimeGreen);
}
else
{
ObjectMove("S1_Label", 0, Time[20], S1);
}

//---------------------------------------------------------

ObjectCreate("S2_Line", OBJ_HLINE,0, CurTime(),S2);
ObjectSet("S2_Line", OBJPROP_COLOR, LimeGreen);
ObjectSet("S2_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("S2_Label") != 0)
{
ObjectCreate("S2_Label", OBJ_TEXT, 0, Time[20], S2);
ObjectSetText("S2_Label", "Daily S2", 8, "Arial", LimeGreen);
}
else
{
ObjectMove("S2_Label", 0, Time[20], S2);
}
//---------------------------------------------------------

ObjectCreate("S3_Line", OBJ_HLINE,0, CurTime(),S3);
ObjectSet("S3_Line", OBJPROP_COLOR, LimeGreen);
ObjectSet("S3_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("S3_Label") != 0)
{
ObjectCreate("S3_Label", OBJ_TEXT, 0, Time[20], S3);
ObjectSetText("S3_Label", "Daily S3", 8, "Arial", LimeGreen);
}
else
{
ObjectMove("S3_Label", 0, Time[20], S3);
}
}
ObjectsRedraw();

//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------



//--------------------------------------------------------

ObjectCreate("WR32_Line", OBJ_HLINE,0, CurTime(),WR32);
ObjectSet("WR32_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR32_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR32_Label") != 0)
{
ObjectCreate("WR32_Label", OBJ_TEXT, 0, Time[30], WR32);
ObjectSetText("WR32_Label", " +1250", 8, "Arial", White);
}
else
{
ObjectMove("WR32_Label", 0, Time[30], WR32);
}

//---------------------------------------------------------

ObjectCreate("WR33_Line", OBJ_HLINE,0, CurTime(),WR33);
ObjectSet("WR33_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR33_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR33_Line") != 0)
{
ObjectCreate("WR33_Line", OBJ_TEXT, 0, Time[30], WR33);
ObjectSetText("WR33_Line", " +1300", 8, "Arial", White);
}
else
{
ObjectMove("WR33_Line", 0, Time[30], WR33);
}

//---------------------------------------------------------

ObjectCreate("WR34_Line", OBJ_HLINE,0, CurTime(),WR34);
ObjectSet("WR34_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR34_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR34_Label") != 0)
{
ObjectCreate("WR34_Label", OBJ_TEXT, 0, Time[30], WR34);
ObjectSetText("WR34_Label", " +1350", 8, "Arial", White);
}
else
{
ObjectMove("WR34_Label", 0, Time[30], WR34);
}
//---------------------------------------------------------

ObjectCreate("WR35_Line", OBJ_HLINE,0, CurTime(),WR35);
ObjectSet("WR35_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR35_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR35_Label") != 0)
{
ObjectCreate("WR35_Label", OBJ_TEXT, 0, Time[30], WR35);
ObjectSetText("WR25_Label", " +1400", 8, "Arial", White);
}
else
{
ObjectMove("WR35_Label", 0, Time[30], WR35);
}

//---------------------------------------------------------

ObjectCreate("WR36_Line", OBJ_HLINE,0, CurTime(),WR36);
ObjectSet("WR36_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR36_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR36_Label") != 0)
{
ObjectCreate("WR36_Label", OBJ_TEXT, 0, Time[30], WR36);
ObjectSetText("WR36_Label", " +1450", 8, "Arial", White);
}
else
{
ObjectMove("WR36_Label", 0, Time[30], WR36);
}

//---------------------------------------------------------

ObjectCreate("WR37_Line", OBJ_HLINE,0, CurTime(),WR37);
ObjectSet("WR37_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR37_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR37_Label") != 0)
{
ObjectCreate("WR37_Label", OBJ_TEXT, 0, Time[30], WR37);
ObjectSetText("WR37_Label", " +1500", 8, "Arial", White);
}
else
{
ObjectMove("WR37_Label", 0, Time[30], WR37);
}


//---------------------------------------------------------

ObjectCreate("WR38_Line", OBJ_HLINE,0, CurTime(),WR38);
ObjectSet("WR38_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WR38_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WR38_Label") != 0)
{
ObjectCreate("WR38_Label", OBJ_TEXT, 0, Time[30], WR38);
ObjectSetText("W328_Label", " ", +1550, "Arial", White);
}
else
{
ObjectMove("W328_Label", 0, Time[30], WR38);
}


//--------------------------------------------------------

ObjectCreate("WS31_Line", OBJ_HLINE,0, CurTime(),WS31);
ObjectSet("WS31_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS31_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS31_Label") != 0)
{
ObjectCreate("WS31_Label", OBJ_TEXT, 0, Time[30], WS31);
ObjectSetText("WS31_Label", "-1250", 8, "Arial", White);
}
else
{
ObjectMove("WS31_Label", 0, Time[30], WS31);
}

//---------------------------------------------------------

ObjectCreate("WS32_Line", OBJ_HLINE,0, CurTime(),WS32);
ObjectSet("WS32_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS32_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS32_Label") != 0)
{
ObjectCreate("WS32_Label", OBJ_TEXT, 0, Time[30], WS32);
ObjectSetText("WS32_Label", " -1300", 8, "Arial", White);
}
else
{
ObjectMove("WS32_Label", 0, Time[30], WS32);
}

//---------------------------------------------------------

ObjectCreate("WS33_Line", OBJ_HLINE,0, CurTime(),WS33);
ObjectSet("WS33_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS33_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS33_Label") != 0)
{
ObjectCreate("WS33_Label", OBJ_TEXT, 0, Time[30], WS33);
ObjectSetText("WS33_Label", "-1350", 8, "Arial", White);
}
else
{
ObjectMove("WS33_Label", 0, Time[30], WS33);
}

//---------------------------------------------------------
ObjectCreate("WS34_Line", OBJ_HLINE,0, CurTime(),WS34);
ObjectSet("WS34_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS34_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS34_Label") != 0)
{
ObjectCreate("WS34_Label", OBJ_TEXT, 0, Time[30], WS34);
ObjectSetText("WS34_Label", "-1400", 8, "Arial", White);
}
else
{
ObjectMove("WS34_Label", 0, Time[30], WS34);
}


//---------------------------------------------------------
//---------------------------------------------------------
ObjectCreate("WS35_Line", OBJ_HLINE,0, CurTime(),WS35);
ObjectSet("WS35_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS35_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS35_Label") != 0)
{
ObjectCreate("WS35_Label", OBJ_TEXT, 0, Time[30], WS35);
ObjectSetText("WS35_Label", "-1450", 8, "Arial", White);
}
else
{
ObjectMove("WS35_Label", 0, Time[30], WS35);
}
//---------------------------------------------------------
ObjectCreate("WS36_Line", OBJ_HLINE,0, CurTime(),WS36);
ObjectSet("WS36_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS36_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS36_Label") != 0)
{
ObjectCreate("WS36_Label", OBJ_TEXT, 0, Time[30], WS36);
ObjectSetText("WS36_Label", "-1500", 8, "Arial", White);
}
else
{
ObjectMove("WS36_Label", 0, Time[30], WS36);
}
//---------------------------------------------------------
ObjectCreate("WS37_Line", OBJ_HLINE,0, CurTime(),WS37);
ObjectSet("WS37_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS37_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS37_Label") != 0)
{
ObjectCreate("WS27_Label", OBJ_TEXT, 0, Time[30], WS37);
ObjectSetText("WS27_Label", " -1550", 8, "Arial", White);
}
else
{
ObjectMove("WS37_Label", 0, Time[30], WS37);
}
//---------------------------------------------------------
ObjectCreate("WS28_Line", OBJ_HLINE,0, CurTime(),WS38);
ObjectSet("WS38_Line", OBJPROP_COLOR, MediumBlue);
ObjectSet("WS38_Line", OBJPROP_STYLE, STYLE_SOLID);

if(ObjectFind("WS38_Label") != 0)
{
ObjectCreate("WS38_Label", OBJ_TEXT, 0, Time[30], WS38);
ObjectSetText("WS38_Label", " -1600", 8, "Arial", White);
}
else
{
ObjectMove("WS38_Label", 0, Time[30], WS38);

}
}

//---------------------------------------------------------






Sample





Analysis



Market Information Used:

Series array that contains open time of each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: