Pivot Lines1

Author: Copyright � 2004, MetaQuotes Software Corp.
Pivot Lines1

This script is an automated technical analysis tool designed to identify and visualize key price levels on a trading chart. It calculates three distinct types of support and resistance levels—Pivots, Camarilla, and Midpoint Pivots—based on historical price data from the previous trading day.

Core Functionality

The script operates by pulling data from the daily timeframe to determine the "High," "Low," and "Close" prices of yesterday's trading session. It then uses these figures to project several horizontal lines onto your current chart, helping traders identify areas where price might encounter significant resistance (ceiling) or support (floor).

Key Features Explained

1. Standard Pivot Points The script calculates a central "Pivot" point based on the average of yesterday's high, low, and closing prices. From this central point, it generates:

  • Resistance Levels (R1–R4): These represent potential upper boundaries where price may struggle to break through.
  • Support Levels (S1–S4): These represent potential lower boundaries where price may find a "floor" to bounce off of.

2. Camarilla Breakout Levels This section provides additional specialized levels (H3, H4, H5 and L3, L4, L5). Traders often use these specific calculations to identify potential breakout zones or reversal points, providing a deeper layer of technical context beyond the standard pivot points.

3. Midpoint Pivots To offer even more granularity, the script calculates "halfway" points between the major resistance and support levels (e.g., MR1.5, MS0.5). These are displayed as additional blue lines on the chart, allowing for a more precise view of price movement within a trading range.

User Experience & Display

  • Dynamic Visuals: The script automatically draws horizontal lines and text labels directly on your chart. It uses specific colors to differentiate between types: Lime Green for Resistance, Red for Support, Magenta for the Main Pivot, and Yellow/Blue for the specialized levels.
  • Customizable Visibility: Through the settings menu, users can toggle any of the three systems (Pivots, Camarilla, or Midpoints) on or off depending on their preferred trading style.
  • Automatic Updates: The script is designed to refresh these levels automatically as new daily data becomes available, ensuring your chart remains current with the latest market movements.
  • Safety Check: The tool includes a built-in check to ensure it only functions correctly on charts of 1 day or less, preventing calculation errors on longer timeframes.
12 Views
0 Downloads
0 Favorites
Pivot Lines1
//+------------------------------------------------------------------+
//|                                                        Pivot.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window

extern bool pivots = true;
extern bool camarilla = true;
extern bool midpivots = true;
extern int pivots_offset = 20;
extern int camarilla_offset = 35;
extern int midpivots_offset = 20;

double day_high=0;
double day_low=0;
double yesterday_high=0;
double yesterday_open=0;
double yesterday_low=0;
double yesterday_close=0;
double today_open=0;
double today_high=0;
double today_low=0;
double P=0;
double Q=0;
double Range=0;
double R1,R2,R3,R4;
double MS3_5,MS2_5,MS1_5,MS0_5,MR0_5,MR1_5,MR2_5,MR3_5;
double S1,S2,S3,S4;
double H5,H4,H3,L5,L4,L3;
double nQ=0;
double nD=0;
double D=0;
double rates_d1[2][6];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
 R1=0; R2=0; R3=0; R4=0;
 MR0_5=0; MR1_5=0; MR2_5=0; MR3_5=0;
 MS0_5=0; MS1_5=0; MS2_5=0; MS3_5=0;
 S1=0; S2=0; S3=0; S4=0;
 H5=0; H4=0; H3=0; L5=0; L4=0; L3=0;

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
ObjectDelete("R1 Label"); 
ObjectDelete("R1 Line");
ObjectDelete("R2 Label");
ObjectDelete("R2 Line");
ObjectDelete("R3 Label");
ObjectDelete("R3 Line");
ObjectDelete("R4 Label");
ObjectDelete("R4 Line");
ObjectDelete("S1 Label");
ObjectDelete("S1 Line");
ObjectDelete("S2 Label");
ObjectDelete("S2 Line");
ObjectDelete("S3 Label");
ObjectDelete("S3 Line");
ObjectDelete("S4 Label");
ObjectDelete("S4 Line");
ObjectDelete("P Label");
ObjectDelete("P Line");
ObjectDelete("H5 Label");
ObjectDelete("H5 Line");
ObjectDelete("H4 Label");
ObjectDelete("H4 Line");
ObjectDelete("H3 Label");
ObjectDelete("H3 Line");
ObjectDelete("L3 Label");
ObjectDelete("L3 Line");
ObjectDelete("L4 Label");
ObjectDelete("L4 Line");
ObjectDelete("L5 Label");
ObjectDelete("L5 Line");
ObjectDelete("MR3_5 Label");
ObjectDelete("MR3_5 Line");
ObjectDelete("MR2_5 Label");
ObjectDelete("MR2_5 Line");
ObjectDelete("MR1_5 Label");
ObjectDelete("MR1_5 Line");
ObjectDelete("MR0_5 Label");
ObjectDelete("MR0_5 Line");
ObjectDelete("MS0_5 Label");
ObjectDelete("MS0_5 Line");
ObjectDelete("MS1_5 Label");
ObjectDelete("MS1_5 Line");
ObjectDelete("MS2_5 Label");
ObjectDelete("MS2_5 Line");
ObjectDelete("MS3_5 Label");
ObjectDelete("MS3_5 Line");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//---- TODO: add your code here

//---- exit if period is greater than daily charts
if(Period() > 1440)
{
Print("Error - Chart period is greater than 1 day.");
return(-1); // then exit
}

//---- Get new daily prices

ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1);

yesterday_close = rates_d1[1][4];
yesterday_open = rates_d1[1][1];
today_open = rates_d1[0][1];
yesterday_high = rates_d1[1][3];
yesterday_low = rates_d1[1][2];
day_high = rates_d1[0][3];
day_low = rates_d1[0][2];


//---- Calculate Pivots

D = (day_high - day_low);
Q = (yesterday_high - yesterday_low);
Range = Q;
P = (yesterday_high + yesterday_low + yesterday_close) / 3;
/*
R1 = (2*P)-yesterday_low;
S1 = (2*P)-yesterday_high;
R2 = P+Range;
S2 = P-Range;
R3 = (2*P)+(yesterday_high-(2*yesterday_low));
S3 = (2*P)-((2* yesterday_high)-yesterday_low);
R4 = (2*P)+(yesterday_high-(3*yesterday_low));
S4 = (2*P)-((3* yesterday_high)-yesterday_low);
*/
R1 = (2*P)-yesterday_low;
S1 = (2*P)-yesterday_high;
R2 = P+Range;
S2 = P-Range;
R3 = P+Range*2;
S3 = P-Range*2;
R4 = P+Range*3;
S4 = P-Range*3;

MR0_5 = (P+R1)/2;
MS0_5 = (P+S1)/2;
MR1_5 = (R1+R2)/2;
MS1_5 = (S1+S2)/2;
MR2_5 = (R2+R3)/2;
MS2_5 = (S2+S3)/2;
MR3_5 = (R3+R4)/2;
MS3_5 = (S3+S4)/2;

H5 = (yesterday_high/yesterday_low)*yesterday_close;
H4 = (Q*0.55)+yesterday_close;
H3 = (Q*0.27)+yesterday_close;	
L3 = yesterday_close-(Q*0.27);	
L4 = yesterday_close-(Q*0.55);
L5 = yesterday_close-((yesterday_high/yesterday_low)*yesterday_close-yesterday_close);		
	
if (Q > 5) 
{
	nQ = Q;
}
else
{
	nQ = Q*10000;
}

if (D > 5)
{
	nD = D;
}
else
{
	nD = D*10000;
}


Comment("High= ",yesterday_high,"    Previous Days Range= ",nQ,"\nLow= ",yesterday_low,"    Current Days Range= ",nD,"\nClose= ",yesterday_close);

//---- Set line labels on chart window

//---- Pivot Lines
   if (pivots==true)
   {
      if(ObjectFind("R1 label") != 0)
      {
      ObjectCreate("R1 label", OBJ_TEXT, 0, Time[pivots_offset], R1);
      ObjectSetText("R1 label", " R1", 8, "Arial", White);
      }
      else
      {
      ObjectMove("R1 label", 0, Time[pivots_offset], R1);
      }

      if(ObjectFind("R2 label") != 0)
      {
      ObjectCreate("R2 label", OBJ_TEXT, 0, Time[pivots_offset], R2);
      ObjectSetText("R2 label", " R2", 8, "Arial", White);
      }
      else
      {
      ObjectMove("R2 label", 0, Time[pivots_offset], R2);
      }

      if(ObjectFind("R3 label") != 0)
      {
      ObjectCreate("R3 label", OBJ_TEXT, 0, Time[pivots_offset], R3);
      ObjectSetText("R3 label", " R3", 8, "Arial", White);
      }
      else
      {
      ObjectMove("R3 label", 0, Time[pivots_offset], R3);
      }
      
      if(ObjectFind("R4 label") != 0)
      {
      ObjectCreate("R4 label", OBJ_TEXT, 0, Time[pivots_offset], R4);
      ObjectSetText("R4 label", " R4", 8, "Arial", White);
      }
      else
      {
      ObjectMove("R4 label", 0, Time[pivots_offset], R4);
      }

      if(ObjectFind("P label") != 0)
      {
      ObjectCreate("P label", OBJ_TEXT, 0, Time[pivots_offset], P);
      ObjectSetText("P label", "Pivot", 8, "Arial", White);
      }
      else
      {
      ObjectMove("P label", 0, Time[pivots_offset], P);
      }

      if(ObjectFind("S1 label") != 0)
      {
      ObjectCreate("S1 label", OBJ_TEXT, 0, Time[pivots_offset], S1);
      ObjectSetText("S1 label", "S1", 8, "Arial", White);
      }
      else
      {
      ObjectMove("S1 label", 0, Time[pivots_offset], S1);
      }

      if(ObjectFind("S2 label") != 0)
      {
      ObjectCreate("S2 label", OBJ_TEXT, 0, Time[pivots_offset], S2);
      ObjectSetText("S2 label", "S2", 8, "Arial", White);
      }
      else
      {
      ObjectMove("S2 label", 0, Time[pivots_offset], S2);
      }

      if(ObjectFind("S3 label") != 0)
      {
      ObjectCreate("S3 label", OBJ_TEXT, 0, Time[pivots_offset], S3);
      ObjectSetText("S3 label", "S3", 8, "Arial", White);
      }
      else
      {
      ObjectMove("S3 label", 0, Time[pivots_offset], S3);
      }
      
      if(ObjectFind("S4 label") != 0)
      {
      ObjectCreate("S4 label", OBJ_TEXT, 0, Time[pivots_offset], S4);
      ObjectSetText("S4 label", "S4", 8, "Arial", White);
      }
      else
      {
      ObjectMove("S4 label", 0, Time[pivots_offset], S4);
      }

//---  Draw  Pivot lines on chart
      if(ObjectFind("S1 line") != 0)
      {
      ObjectCreate("S1 line", OBJ_HLINE, 0, Time[40], S1);
      ObjectSet("S1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S1 line", OBJPROP_COLOR, Red);
      }
      else
      {
      ObjectMove("S1 line", 0, Time[40], S1);
      }

      if(ObjectFind("S2 line") != 0)
      {
      ObjectCreate("S2 line", OBJ_HLINE, 0, Time[40], S2);
      ObjectSet("S2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S2 line", OBJPROP_COLOR, Red);
      }
      else
      {
      ObjectMove("S2 line", 0, Time[40], S2);
      }

      if(ObjectFind("S3 line") != 0)
      {
      ObjectCreate("S3 line", OBJ_HLINE, 0, Time[40], S3);
      ObjectSet("S3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S3 line", OBJPROP_COLOR, Red);
      }
      else
      {
      ObjectMove("S3 line", 0, Time[40], S3);
      }
      
      if(ObjectFind("S4 line") != 0)
      {
      ObjectCreate("S4 line", OBJ_HLINE, 0, Time[40], S4);
      ObjectSet("S4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S4 line", OBJPROP_COLOR, Red);
      }
      else
      {
      ObjectMove("S4 line", 0, Time[40], S4);
      }

      if(ObjectFind("P line") != 0)
      {
      ObjectCreate("P line", OBJ_HLINE, 0, Time[40], P);
      ObjectSet("P line", OBJPROP_STYLE, STYLE_DOT);
      ObjectSet("P line", OBJPROP_COLOR, Magenta);
      }
      else
      {
      ObjectMove("P line", 0, Time[40], P);
      }

      if(ObjectFind("R1 line") != 0)
      {
      ObjectCreate("R1 line", OBJ_HLINE, 0, Time[40], R1);
      ObjectSet("R1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R1 line", OBJPROP_COLOR, LimeGreen);
      }
      else
      {
      ObjectMove("R1 line", 0, Time[40], R1);
      }

      if(ObjectFind("R2 line") != 0)
      {
      ObjectCreate("R2 line", OBJ_HLINE, 0, Time[40], R2);
      ObjectSet("R2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R2 line", OBJPROP_COLOR, LimeGreen);
      }
      else
      {
      ObjectMove("R2 line", 0, Time[40], R2);
      }

      if(ObjectFind("R3 line") != 0)
      {
      ObjectCreate("R3 line", OBJ_HLINE, 0, Time[40], R3);
      ObjectSet("R3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R3 line", OBJPROP_COLOR, LimeGreen);
      }
      else
      {
      ObjectMove("R3 line", 0, Time[40], R3);
      }
      
      if(ObjectFind("R4 line") != 0)
      {
      ObjectCreate("R4 line", OBJ_HLINE, 0, Time[40], R4);
      ObjectSet("R4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R4 line", OBJPROP_COLOR, LimeGreen);
      }
      else
      {
      ObjectMove("R4 line", 0, Time[40], R4);
      }
   }
//---- End of Pivot Line Draw 


//----- Camarilla Lines

   if (camarilla==true)
   {
      if(ObjectFind("H5 label") != 0)
      {
      ObjectCreate("H5 label", OBJ_TEXT, 0, Time[camarilla_offset], H5);
      ObjectSetText("H5 label", " H5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("H5 label", 0, Time[camarilla_offset], H5);
      }
      
      if(ObjectFind("H4 label") != 0)
      {
      ObjectCreate("H4 label", OBJ_TEXT, 0, Time[camarilla_offset], H4);
      ObjectSetText("H4 label", " H4", 8, "Arial", White);
      }
      else
      {
      ObjectMove("H4 label", 0, Time[camarilla_offset], H4);
      }

      if(ObjectFind("H3 label") != 0)
      {
      ObjectCreate("H3 label", OBJ_TEXT, 0, Time[camarilla_offset], H3);
      ObjectSetText("H3 label", " H3", 8, "Arial", White);
      }
      else
      {
      ObjectMove("H3 label", 0, Time[camarilla_offset], H3);
      }

      if(ObjectFind("L3 label") != 0)
      {
      ObjectCreate("L3 label", OBJ_TEXT, 0, Time[camarilla_offset], L3);
      ObjectSetText("L3 label", " L3", 8, "Arial", White);
      }
      else
      {
      ObjectMove("L3 label", 0, Time[camarilla_offset], L3);
      }

      if(ObjectFind("L4 label") != 0)
      {
      ObjectCreate("L4 label", OBJ_TEXT, 0, Time[camarilla_offset], L4);
      ObjectSetText("L4 label", " L4", 8, "Arial", White);
      }
      else
      {
      ObjectMove("L4 label", 0, Time[camarilla_offset], L4);
      }
      
      if(ObjectFind("L5 label") != 0)
      {
      ObjectCreate("L5 label", OBJ_TEXT, 0, Time[camarilla_offset], L5);
      ObjectSetText("L5 label", " L5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("L5 label", 0, Time[camarilla_offset], L5);
      }

//---- Draw Camarilla lines on Chart
      if(ObjectFind("H5 line") != 0)
      {
      ObjectCreate("H5 line", OBJ_HLINE, 0, Time[40], H5);
      ObjectSet("H5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("H5 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("H5 line", 0, Time[40], H5);
      }

      if(ObjectFind("H4 line") != 0)
      {
      ObjectCreate("H4 line", OBJ_HLINE, 0, Time[40], H4);
      ObjectSet("H4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("H4 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("H4 line", 0, Time[40], H4);
      }

      if(ObjectFind("H3 line") != 0)
      {
      ObjectCreate("H3 line", OBJ_HLINE, 0, Time[40], H3);
      ObjectSet("H3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("H3 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("H3 line", 0, Time[40], H3);
      }

      if(ObjectFind("L3 line") != 0)
      {
      ObjectCreate("L3 line", OBJ_HLINE, 0, Time[40], L3);
      ObjectSet("L3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("L3 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("L3 line", 0, Time[40], L3);
      }

      if(ObjectFind("L4 line") != 0)
      {
      ObjectCreate("L4 line", OBJ_HLINE, 0, Time[40], L4);
      ObjectSet("L4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("L4 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("L4 line", 0, Time[40], L4);
      }
      
      if(ObjectFind("L5 line") != 0)
      {
      ObjectCreate("L5 line", OBJ_HLINE, 0, Time[40], L5);
      ObjectSet("L5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("L5 line", OBJPROP_COLOR, Yellow);
      }
      else
      {
      ObjectMove("L5 line", 0, Time[40], L5);
      }
   }
//-------End of Draw Camarilla Lines

//------ Midpoints Pivots 

   if (midpivots==true)
   {

      if(ObjectFind("MR3_5 label") != 0)
      {
      ObjectCreate("MR3_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MR3_5);
      ObjectSetText("MR3_5 label", " MR3.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MR3_5 label", 0, Time[midpivots_offset], MR3_5);
      }

      if(ObjectFind("MR2_5 label") != 0)
      {
      ObjectCreate("MR2_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MR2_5);
      ObjectSetText("MR2_5 label", " MR2.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MR2_5 label", 0, Time[midpivots_offset], MR2_5);
      }

      if(ObjectFind("MR1_5 label") != 0)
      {
      ObjectCreate("MR1_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MR1_5);
      ObjectSetText("MR1_5 label", " MR1.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MR1_5 label", 0, Time[midpivots_offset], MR1_5);
      }

      if(ObjectFind("MR0_5 label") != 0)
      {
      ObjectCreate("MR0_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MR0_5);
      ObjectSetText("MR0_5 label", " MR0.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MR0_5 label", 0, Time[midpivots_offset], MR0_5);
      }

      if(ObjectFind("MS0_5 label") != 0)
      {
      ObjectCreate("MS0_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MS0_5);
      ObjectSetText("MS0_5 label", " MS0.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MS0_5 label", 0, Time[midpivots_offset], MS0_5);
      }

      if(ObjectFind("MS1_5 label") != 0)
      {
      ObjectCreate("MS1_5 label", OBJ_TEXT, 0, Time[midpivots_offset], MS1_5);
      ObjectSetText("MS1_5 label", " MS1.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MS1_5 label", 0, Time[midpivots_offset], MS1_5);
      }

      if(ObjectFind("MS2_5 label") != 0)
      {
      ObjectCreate("MS2_5 label", OBJ_TEXT, 0, Time[20], MS2_5);
      ObjectSetText("MS2_5 label", " MS2.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MS2_5 label", 0, Time[midpivots_offset], MS2_5);
      }
      
      if(ObjectFind("MS3_5 label") != 0)
      {
      ObjectCreate("MS3_5 label", OBJ_TEXT, 0, Time[20], MS3_5);
      ObjectSetText("MS3_5 label", " MS3.5", 8, "Arial", White);
      }
      else
      {
      ObjectMove("MS3_5 label", 0, Time[midpivots_offset], MS3_5);
      }
      
//---- Draw Midpoint Pivots on Chart
      if(ObjectFind("MR3_5 line") != 0)
      {
      ObjectCreate("MR3_5 line", OBJ_HLINE, 0, Time[40], MR3_5);
      ObjectSet("MR3_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MR3_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MR3_5 line", 0, Time[40], MR3_5);
      }

      if(ObjectFind("MR2_5 line") != 0)
      {
      ObjectCreate("MR2_5 line", OBJ_HLINE, 0, Time[40], MR2_5);
      ObjectSet("MR2_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MR2_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MR2_5 line", 0, Time[40], MR2_5);
      }

      if(ObjectFind("MR1_5 line") != 0)
      {
      ObjectCreate("MR1_5 line", OBJ_HLINE, 0, Time[40], MR1_5);
      ObjectSet("MR1_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MR1_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MR1_5 line", 0, Time[40], MR1_5);
      }

      if(ObjectFind("MR0_5 line") != 0)
      {
      ObjectCreate("MR0_5 line", OBJ_HLINE, 0, Time[40], MR0_5);
      ObjectSet("MR0_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MR0_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MR0_5 line", 0, Time[40], MR0_5);
      }

      if(ObjectFind("MS0_5 line") != 0)
      {
      ObjectCreate("MS0_5 line", OBJ_HLINE, 0, Time[40], MS0_5);
      ObjectSet("MS0_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MS0_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MS0_5 line", 0, Time[40], MS0_5);
      }

      if(ObjectFind("MS1_5 line") != 0)
      {
      ObjectCreate("MS1_5 line", OBJ_HLINE, 0, Time[40], MS1_5);
      ObjectSet("MS1_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MS1_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MS1_5 line", 0, Time[40], MS1_5);
      }

      if(ObjectFind("MS2_5 line") != 0)
      {
      ObjectCreate("MS2_5 line", OBJ_HLINE, 0, Time[40], MS2_5);
      ObjectSet("MS2_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MS2_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MS2_5 line", 0, Time[40], MS2_5);
      }
      
      if(ObjectFind("MS3_5 line") != 0)
      {
      ObjectCreate("MS3_5 line", OBJ_HLINE, 0, Time[40], MS3_5);
      ObjectSet("MS3_5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("MS3_5 line", OBJPROP_COLOR, Blue);
      }
      else
      {
      ObjectMove("MS3_5 line", 0, Time[40], MS3_5);
      }

   }
//----End of Midpoint Pivots Draw
 
//---- End Of Program
   return(0);
  }
//+------------------------------------------------------------------+

Comments