Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 520

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 535

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 542

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 578

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/forex/public_html/wp-settings.php on line 18
2008 July :forex decode

Archive for July, 2008

//+------------------------------------------------------------------+
//| 4Hour Vegas Model - 4 Hour Chart MA lines                        |
//|                                                           Spiggy |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Spiggy"
#property link      ""

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Aqua
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Green

//---- input parameters
extern bool      Alerts=true;
extern bool      PrintTags=False;
extern int       MA1=55;
extern int       MA2=8;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_ARROW);
   SetIndexArrow(2,1);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexStyle(3,DRAW_ARROW);
   SetIndexArrow(3,2);
   SetIndexBuffer(3,ExtMapBuffer4);

   return(0);
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
   return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
  int    limit;
  double SMA55;
  double SMA55Prev;
  double SMA8;
  double SMA8Prev;
  string ValueIndex;
  string Direction;
  bool   BuyPrimed;
  bool   SellPrimed;
  bool   Bought1;
  bool   Bought2;
  bool   Bought3;
  bool   Sold1;
  bool   Sold2;
  bool   Sold3;
  double BoughtAt;
  double SoldAt;
  int    TagCount;
  string TagName;
  int    i;
  int    j;
  double RangeLimit;
  bool   InTrade=False;
  int    PandL=0;
  bool   FullTrade;

  // Count all bars every time (bad for performance, but good for testing)
  limit=Bars;

  // Clean up for redraw
  ObjectsDeleteAll(0);
  TagCount=0;

  //---- main loop
  for(i=limit-1; i>=0; i--)
  {
    //---- ma_shift set to 0 because SetIndexShift called abowe
    SMA55=iMA(NULL,0,MA1,0,MODE_SMA,PRICE_MEDIAN,i);
    SMA8 =iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,i);
    SMA55Prev=iMA(NULL,0,MA1,1,MODE_SMA,PRICE_MEDIAN,i);
    SMA8Prev =iMA(NULL,0,MA2,1,MODE_SMA,PRICE_CLOSE,i);

    ExtMapBuffer1[i] = SMA8;
    ExtMapBuffer2[i] = SMA55;
    ExtMapBuffer3[i] = 0;
    ExtMapBuffer4[i] = 0;

    Direction = "----";
    ValueIndex = TimeToStr(Time[i]-(TimeDayOfWeek(Time[i])*86400),TIME_DATE);
    if ( GlobalVariableGet(Symbol() + "-ThisWeekDirection-" + ValueIndex) > 0.0 )
    {
      Direction = "UP  ";
    }

    if ( GlobalVariableGet(Symbol() + "-ThisWeekDirection-" + ValueIndex) < 0.0 )
    {
      Direction = "DOWN";
    }

    if (!InTrade)
    {
      // ------------- TRADE ENTRY --------------
      // Check the MA8/55 Crossovers
      if ( Direction == "DOWN" )
      {
        // Remove any pending prime for a Buy
        BuyPrimed = False;

        // Check the SMA8 SM55 Crossover and prime the Sell signal
        if (( SMA8 > SMA55 ) && (SMA8Prev < SMA55Prev))
        {
          SellPrimed = True;
        }

        // Trigger the sell signal
        if ( SMA8 < SMA8Prev )
        {
          if (SellPrimed)
          {
            // We are opening a primed trade, do full lots
            FullTrade = True;
          }
          else
          {
            // Otherwise do half lots
            FullTrade = False;
          }

          // Find the height of the tag - this should not cover any bars
          RangeLimit = High[i];
          for ( j = i - 7 ; j < i + 7 ; j++)
          {
            if (High[j] > RangeLimit)
            {
              RangeLimit = High[j];
            }
          }

          ExtMapBuffer3[i] = RangeLimit + 25*Point;
          SellPrimed = False;
          Sold1 = True;
          Sold2 = True;
          Sold3 = True;
          SoldAt = Close[i];
          InTrade = True;

          // Put the tag on the chart
          if (PrintTags)
          {
            TagName = "Entry" + TagCount;
            ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit+70*Point);
            ObjectSetText(TagName, "SELL " + TagCount + " (" + DoubleToStr(Close[i],4) + ")", 8, "Arial", White);
          }
        }
      }

      if ( Direction == "UP  " )
      {
        // Remove any pending prime for a SELL
        SellPrimed = False;

        // Check the SMA8 SM55 Crossover and prime the Buy signal
        if (( SMA8 < SMA55 ) && (SMA8Prev > SMA55Prev))
        {
          BuyPrimed = True;
        }

        // Trigger the Buy signal or unprime the trigger
        if ( SMA8 > SMA8Prev )
        {
          if (SellPrimed)
          {
            // We are opening a primed trade, do full lots
            FullTrade = True;
          }
          else
          {
            // Otherwise do half lots
            FullTrade = False;
          }

          // Find the height of the tag - this should not cover any bars
          RangeLimit = Low[i];
          for ( j = i - 7 ; j < i + 7 ; j++)
          {
            if (Low[j] < RangeLimit)
            {
              RangeLimit = Low[j];
            }
          }

          ExtMapBuffer4[i] = RangeLimit - 25*Point;
          BuyPrimed = False;
          Bought1 = True;
          Bought2 = True;
          Bought3 = True;
          BoughtAt = Close[i];
          InTrade = True;

          if (PrintTags)
          {
            // Put the tag on the chart
            TagName = "Entry" + TagCount;
            ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit - 70*Point);
            ObjectSetText(TagName, "BUY " + TagCount + " (" + DoubleToStr(Close[i],4) + ")", 8, "Arial", White);
          }
        }
      }
    }
    else
    {
      // ------------- TRADE EXIT --------------
      if (Sold1 || Sold2 || Sold3)
      {
        // Trade Exit on SMA slope change
        if ( SMA8 > SMA8Prev)
        {
          // Find the height of the tag - this should not cover any bars
          RangeLimit = Low[i];
          for ( j = i - 7 ; j < i + 7 ; j++)
          {
            if (Low[j] < RangeLimit)
            {
              RangeLimit = Low[j];
            }
          }

          if (PrintTags)
          {
            // Put the tag on the chart
            ExtMapBuffer4[i] = RangeLimit - 25*Point;
            TagName = "Exit" + TagCount;
            ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit-70*Point);
            ObjectSetText(TagName, "EXIT " + TagCount + " (" + DoubleToStr((SoldAt-Close[i])/Point,0) + ")", 8, "Arial", White);
          }

          if ( FullTrade )
          {
            PandL = PandL + ((SoldAt-Close[i])/Point)*3;
          }
          else
          {
            PandL = PandL + ((((SoldAt-Close[i])/Point)*3)/2);
          }

          Sold1 = False;
          Sold2 = False;
          Sold3 = False;
          InTrade = False;
          TagCount++;
        }

        // Exit on Fib 1
        if (Sold1)
        {
          if( Low[i] < (SoldAt - 144*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = Low[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (Low[j] < RangeLimit)
              {
                RangeLimit = Low[j];
              }
            }

            ExtMapBuffer4[i] = RangeLimit - 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib1" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit-70*Point);
              ObjectSetText(TagName, "EXIT1 " + TagCount + " (Fib1 144)", 8, "Arial", White);
            }

            Sold1 = False;
            if ( FullTrade )
            {
              PandL = PandL + 144;
            }
            else
            {
              PandL = PandL + (144)/2;
            }
          }
        }

        // Exit on Fib 2
        if (Sold1)
        {
          if ( Low[i] < (SoldAt - 233*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = Low[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (Low[j] < RangeLimit)
              {
                RangeLimit = Low[j];
              }
            }

            ExtMapBuffer4[i] = RangeLimit - 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib2" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit-70*Point);
              ObjectSetText(TagName, "EXIT2 " + TagCount + " (Fib2 233)", 8, "Arial", White);
            }

            Sold2 = False;
            if ( FullTrade )
            {
              PandL = PandL + 233;
            }
            else
            {
              PandL = PandL + (233)/2;
            }
          }
        }

        // Exit on Fib 3
        if (Sold1)
        {
          if ( Low[i] < (SoldAt - 377*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = Low[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (Low[j] < RangeLimit)
              {
                RangeLimit = Low[j];
              }
            }

            ExtMapBuffer4[i] = RangeLimit - 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib3" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit-70*Point);
              ObjectSetText(TagName, "EXIT3 " + TagCount + " (Fib3 377)", 8, "Arial", White);
            }

            // We are now out of the trade
            Sold3 = False;
            InTrade=False;
            if ( FullTrade )
            {
              PandL = PandL + 377;
            }
            else
            {
              PandL = PandL + (377)/2;
            }
          }
        }
      }

      if (Bought1 || Bought2 || Bought3)
      {
        // Trade Exit on SMA slope change
        if ( SMA8 < SMA8Prev)
        {
          // Find the height of the tag - this should not cover any bars
          RangeLimit = High[i];
          for ( j = i - 7 ; j < i + 7 ; j++)
          {
            if (High[j] > RangeLimit)
            {
              RangeLimit = High[j];
            }
          }

          // Put the tag on the chart
          ExtMapBuffer3[i] = RangeLimit + 25*Point;
          if (PrintTags)
          {
            TagName = "Exit" + TagCount;
            ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit+70*Point);
            ObjectSetText(TagName, "EXIT " + TagCount + " (" + DoubleToStr((Close[i]-BoughtAt)/Point,0) + ")", 8, "Arial", White);
          }

          if ( FullTrade )
          {
            PandL = PandL + ((Close[i]-BoughtAt)/Point)*3;
          }
          else
          {
            PandL = PandL + (((Close[i]-BoughtAt)/Point)*3)/2;
          }
          Bought1 = False;
          Bought2 = False;
          Bought3 = False;
          InTrade = False;
          TagCount++;
        }

        // Exit on Fib 1
        if (Bought1)
        {
          if ( High[i] > (BoughtAt + 144*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = High[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (High[j] > RangeLimit)
              {
                RangeLimit = High[j];
              }
            }

            ExtMapBuffer3[i] = RangeLimit + 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib1" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit+70*Point);
              ObjectSetText(TagName, "EXIT1 " + TagCount + " (Fib1 144)", 8, "Arial", White);
            }

            Bought1 = False;
            if ( FullTrade )
            {
              PandL = PandL + 144;
            }
            else
            {
              PandL = PandL + (144)/2;
            }
          }
        }

        // Exit on Fib 2
        if (Bought2)
        {
          if ( High[i] > (BoughtAt + 233*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = High[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (High[j] > RangeLimit)
              {
                RangeLimit = High[j];
              }
            }

            ExtMapBuffer3[i] = RangeLimit + 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib2" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit+70*Point);
              ObjectSetText(TagName, "EXIT2 " + TagCount + " (Fib2 233)", 8, "Arial", White);
            }

            Bought2 = False;
            if ( FullTrade )
            {
              PandL = PandL + 233;
            }
            else
            {
              PandL = PandL + (233)/2;
            }
          }
        }

        // Exit on Fib 3
        if (Bought3)
        {
          if ( High[i] > (BoughtAt + 377*Point))
          {
            // Find the height of the tag - this should not cover any bars
            RangeLimit = Low[i];
            for ( j = i - 7 ; j < i + 7 ; j++)
            {
              if (Low[j] < RangeLimit)
              {
                RangeLimit = Low[j];
              }
            }

            ExtMapBuffer3[i] = RangeLimit + 25*Point;
            if (PrintTags)
            {
              TagName = "ExitFib3" + TagCount;
              ObjectCreate(TagName, OBJ_TEXT, 0, Time[i], RangeLimit+70*Point);
              ObjectSetText(TagName, "EXIT3 " + TagCount + " (Fib3 377)", 8, "Arial", White);
            }

            // We are now out of the trade
            Bought3 = False;
            InTrade=False;
            if ( FullTrade )
            {
              PandL = PandL + 377;
            }
            else
            {
              PandL = PandL + (377)/2;
            }
          }
        }
      }
    }
  }

  Comment(Symbol() + "-ThisWeekDirection-" + ValueIndex + "\n" + Direction + ":(" + GlobalVariableGet(Symbol() + "-ThisWeekDirection-" + ValueIndex) + ")\nP&L: " + PandL);

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

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Trendline_v3_2_MKS.mq4

//+------------------------------------------------------------------+
//|                                              4_Trendlines_v3.mq4 |
//|                      Copyright © 2006, Cartwright Software Corp. |
//|                                        http://www.cartwright.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Cartwright Software Corp."
#property link      "http://www.cartwright.net"  // No web site!!!
extern int Server_Local_TimeDiff = 10;
extern bool   ApplyToOpen = false;
extern string Friday_Close_Hour = "1pm";
extern string TL_1_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_1_EndTime =  "9:15pm"; //9:15pm(PST) 12:15am(EST)
extern string TL_2_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_2_EndTime =  "11:45pm"; //11:45pm(PST) 2:45am(EST)
extern string TL_3_StartTime =  "12:15am"; //12:15am(PST) 3:15am(EST)
extern string TL_3_EndTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_StartTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_EndTime =  "11:15am"; //11:15am(PST) 2:15pm(EST)
extern color  FirstColor = DodgerBlue;
extern color  SecondColor = Goldenrod;
extern color  ThirdColor = Salmon;
extern color  FourthColor = Violet;

int FridayCloseHour=23, vHour=0;
int timeDiff=10;
bool alertFlag=false, alertFlag2=false;
string TL1StartTime, TL1EndTime, TL2StartTime, TL2EndTime;
string TL3StartTime, TL3EndTime, TL4StartTime, TL4EndTime;
string test, test2, barTime;

int TL_1_TradeDay=1;

#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
TL_1_TradeDay=DayOfYear()+1;

int str=0, vHour2=0;
string substring, substring2, substring3;

//Calculate Friday Close Hour
str=StringLen(Friday_Close_Hour);
if (str==3) {
substring=StringSubstr(Friday_Close_Hour, 0, 1);
substring2=StringSubstr(Friday_Close_Hour, 1, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
if (str==4) {
substring=StringSubstr(Friday_Close_Hour, 0, 2);
substring2=StringSubstr(Friday_Close_Hour, 2, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
FridayCloseHour=vHour2;

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
ObjectDelete("TL_1");
ObjectDelete("TL_1_2");
ObjectDelete("TL_2");
ObjectDelete("TL_2_2");
ObjectDelete("TL_3");
ObjectDelete("TL_3_2");
ObjectDelete("TL_4");
ObjectDelete("TL_4_2");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
calcTimes();

int i;
double TL_1_starttime=0, TL_1_endtime=0,TL_1_StartPrice=0, TL_1_EndPrice=0;
double TL_2_starttime=0, TL_2_endtime=0,TL_2_StartPrice=0, TL_2_EndPrice=0;
double TL_3_starttime=0, TL_3_endtime=0,TL_3_StartPrice=0, TL_3_EndPrice=0;
double TL_4_starttime=0, TL_4_endtime=0,TL_4_StartPrice=0, TL_4_EndPrice=0;
bool TL_1_Start=false, TL_1_Completed=false;
bool TL_2_Start=false, TL_2_Completed=false;
bool TL_3_Start=false, TL_3_Completed=false;
bool TL_4_Start=false, TL_4_Completed=false;

for (i=0;i<Bars;i++)
{
barTime=TimeToStr(iTime(NULL,PERIOD_M15,i), TIME_MINUTES);
if (TL_1_Completed == false && barTime==TL1EndTime)
   {
   TL_1_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Start = true;
   }
if (TL_1_Start == true && barTime==TL1StartTime)
   {
   TL_1_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Completed = true;
   TL_1_Start= false;
   }

if (TL_2_Completed == false && barTime==TL2EndTime)
   {
   TL_2_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Start = true;
   }
if (TL_2_Start == true && barTime==TL2StartTime)
   {
   TL_2_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Completed = true;
   TL_2_Start = false;
   }

if (TL_3_Completed == false && barTime==TL3EndTime)
   {
   TL_3_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Start = true;
   }
if (TL_3_Start == true && barTime==TL3StartTime)
   {
   TL_3_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Completed = true;
   TL_3_Start = false;
   }

if (TL_4_Completed == false && barTime==TL4EndTime)
   {
   TL_4_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Start = true;
   }
if (TL_4_Start == true && barTime==TL4StartTime)
   {
   TL_4_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Completed = true;
   TL_4_Start = false;
   }

if (TL_1_Completed == true && TL_2_Completed == true
    && TL_3_Completed == true && TL_4_Completed == true) break;

}

ObjectDelete("TL_1");
ObjectCreate("TL_1",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1", OBJPROP_RAY, false);
ObjectSet("TL_1",OBJPROP_WIDTH,2);

ObjectDelete("TL_1_2");
ObjectCreate("TL_1_2",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1_2",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_1_2", OBJPROP_RAY, true);

ObjectDelete("TL_2");
ObjectCreate("TL_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2", OBJPROP_RAY, false);
ObjectSet("TL_2",OBJPROP_WIDTH,2);

ObjectDelete("TL_2_2");
ObjectCreate("TL_2_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_2_2", OBJPROP_RAY, true);

ObjectDelete("TL_3");
ObjectCreate("TL_3",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3", OBJPROP_RAY, false);
ObjectSet("TL_3",OBJPROP_WIDTH,2);

ObjectDelete("TL_3_2");
ObjectCreate("TL_3_2",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3_2",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_3_2", OBJPROP_RAY, true);

ObjectDelete("TL_4");
ObjectCreate("TL_4",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4", OBJPROP_RAY, false);
ObjectSet("TL_4",OBJPROP_WIDTH,2);

ObjectDelete("TL_4_2");
ObjectCreate("TL_4_2",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4_2",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_4_2", OBJPROP_RAY, true);

double price=ObjectGetValueByShift("TL_4_2", 0);
double price2=ObjectGetValueByShift("TL_4_2", 1);
double HC1=ObjectGetValueByShift("HC1_1", 1);
double LC1=ObjectGetValueByShift("LC1_1", 1);

double TL_1_2_price=ObjectGetValueByShift("TL_1_2", 0);
double TL_2_2_price=ObjectGetValueByShift("TL_2_2", 0);
double TL_3_2_price=ObjectGetValueByShift("TL_3_2", 0);
double TL_4_2_price=ObjectGetValueByShift("TL_4_2", 0);

bool TrendUp=false, TrendDown=false;
bool TL_1_Trade=false;

if (TL_1_2_price > ObjectGetValueByShift("TL_1_2", 5)) TrendUp=true;
   else if (TL_1_2_price < ObjectGetValueByShift("TL_1_2", 5)) TrendDown=true;

Comment("TL4StartTime= ",TL4StartTime," TL4EndTime = ",TL4EndTime," TL_4_EndPrice = ",TL_4_EndPrice," TL_1_Start = ",TL_1_Start,
      "\n","Time[0]= ",TimeToStr(Time[0],TIME_MINUTES)," vHour= ",vHour," barTime = ",barTime,"\n",
       "TL_1_starttime = ",TL_1_starttime," TL_1_endtime = ",TL_1_endtime," FridayCloseHour= ",FridayCloseHour,"\n",
       "iTime(NULL,PERIOD_M15,0)= ",iTime(NULL,PERIOD_M15,0),
      "\n","iClose(NULL,PERIOD_M15,0)= ",iClose(NULL,PERIOD_M15,0),
      "\n","iOpen(NULL,PERIOD_M15,0)= ",iOpen(NULL,PERIOD_M15,0),"\n",
      "TL_4_0= ",price," TL_4_1= ",price2,"\n","HC1 = ",HC1,," LC1 = ",LC1,"\n",
      "TL_1_TradeDay= ",TL_1_TradeDay, " TrendUp= ",TrendUp," TrendDown= ",TrendDown,"\n",
      "Time difference = ",(MathRound((CurTime() - LocalTime())/3600)));
//----

   return(0);
  }
//+------------------------------------------------------------------+
void calcTimes(){
int strlen=0;
string substr, substr2, substr3;
string substr100, substr200;

if (CurTime() > LocalTime()) {timeDiff = CurTime() - LocalTime();}
    else timeDiff = LocalTime() - CurTime(); // if (alertFlag==false) {Alert("Error!!!", "Server Time<Local Time",
     // "\n","If Server is active. You need to replace the code!"); alertFlag=true;}}//----}
timeDiff=MathRound(timeDiff/3600);

if (DayOfWeek()==5 && Hour()>=FridayCloseHour) timeDiff=Server_Local_TimeDiff;
else
if (timeDiff != Server_Local_TimeDiff) {
//--!--   if (alertFlag==false) {Alert("Error!!!", " Server_Local_TimeDiff Do not match!",
   Alert("Error!!!", " Server_Local_TimeDiff Do not match!");} //--!--
//      "\n","If Server is active.","\n",
//      "You need to change Server_Local_TimeDiff!","\n",
//      "Or you may have to change the Friday_Close_Hour."); alertFlag=true;}}
   //if (alertFlag2==false) {Alert("Error!!!", " timeDiff != Server_Local_TimeDiff",
    //  "\n","timeDiff= ",timeDiff); alertFlag2=true;}}//----

//Calculate TL1StartTime
strlen=StringLen(TL_1_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_1_StartTime, 0, 1);
substr2=StringSubstr(TL_1_StartTime, 2, 2);
substr3=StringSubstr(TL_1_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_1_StartTime, 0, 2);
substr2=StringSubstr(TL_1_StartTime, 3, 2);
substr3=StringSubstr(TL_1_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL1StartTime=vHour+":"+substr2;
strlen=StringLen(TL1StartTime);
if (strlen==4) TL1StartTime="0"+TL1StartTime;

//Calculate TL1EndTime
strlen=StringLen(TL_1_EndTime);
if (strlen==6) {substr=StringSubstr(TL_1_EndTime, 0, 1);
               substr2=StringSubstr(TL_1_EndTime, 2, 2);
               substr3=StringSubstr(TL_1_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_1_EndTime, 0, 2);
               substr2=StringSubstr(TL_1_EndTime, 3, 2);
               substr3=StringSubstr(TL_1_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL1EndTime=vHour+":"+substr2;
strlen=StringLen(TL1EndTime);
if (strlen==4) TL1EndTime="0"+TL1EndTime;

//Calculate TL2StartTime
strlen=StringLen(TL_2_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_2_StartTime, 0, 1);
substr2=StringSubstr(TL_2_StartTime, 2, 2);
substr3=StringSubstr(TL_2_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_2_StartTime, 0, 2);
substr2=StringSubstr(TL_2_StartTime, 3, 2);
substr3=StringSubstr(TL_2_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL2StartTime=vHour+":"+substr2;
strlen=StringLen(TL2StartTime);
if (strlen==4) TL2StartTime="0"+TL2StartTime;

//Calculate TL2EndTime
strlen=StringLen(TL_2_EndTime);
if (strlen==6) {substr=StringSubstr(TL_2_EndTime, 0, 1);
               substr2=StringSubstr(TL_2_EndTime, 2, 2);
               substr3=StringSubstr(TL_2_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_2_EndTime, 0, 2);
               substr2=StringSubstr(TL_2_EndTime, 3, 2);
               substr3=StringSubstr(TL_2_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL2EndTime=vHour+":"+substr2;
strlen=StringLen(TL2EndTime);
if (strlen==4) TL2EndTime="0"+TL2EndTime;

//Calculate TL3StartTime
strlen=StringLen(TL_3_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_3_StartTime, 0, 1);
substr2=StringSubstr(TL_3_StartTime, 2, 2);
substr3=StringSubstr(TL_3_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_3_StartTime, 0, 2);
substr2=StringSubstr(TL_3_StartTime, 3, 2);
substr3=StringSubstr(TL_3_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL3StartTime=vHour+":"+substr2;
strlen=StringLen(TL3StartTime);
if (strlen==4) TL3StartTime="0"+TL3StartTime;

//Calculate TL3EndTime
strlen=StringLen(TL_3_EndTime);
if (strlen==6) {substr=StringSubstr(TL_3_EndTime, 0, 1);
               substr2=StringSubstr(TL_3_EndTime, 2, 2);
               substr3=StringSubstr(TL_3_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_3_EndTime, 0, 2);
               substr2=StringSubstr(TL_3_EndTime, 3, 2);
               substr3=StringSubstr(TL_3_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL3EndTime=vHour+":"+substr2;
strlen=StringLen(TL3EndTime);
if (strlen==4) TL3EndTime="0"+TL3EndTime;

//Calculate TL4StartTime
strlen=StringLen(TL_4_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_4_StartTime, 0, 1);
substr2=StringSubstr(TL_4_StartTime, 2, 2);
substr3=StringSubstr(TL_4_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_4_StartTime, 0, 2);
substr2=StringSubstr(TL_4_StartTime, 3, 2);
substr3=StringSubstr(TL_4_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL4StartTime=vHour+":"+substr2;
strlen=StringLen(TL4StartTime);
if (strlen==4) TL4StartTime="0"+TL4StartTime;

//Calculate TL4EndTime
strlen=StringLen(TL_4_EndTime);
if (strlen==6) {substr=StringSubstr(TL_4_EndTime, 0, 1);
               substr2=StringSubstr(TL_4_EndTime, 2, 2);
               substr3=StringSubstr(TL_4_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_4_EndTime, 0, 2);
               substr2=StringSubstr(TL_4_EndTime, 3, 2);
               substr3=StringSubstr(TL_4_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL4EndTime=vHour+":"+substr2;
strlen=StringLen(TL4EndTime);
if (strlen==4) TL4EndTime="0"+TL4EndTime;
}

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Trendline_v3.mq4

//+------------------------------------------------------------------+
//|                                              4_Trendlines_v3.mq4 |
//|                      Copyright © 2006, Cartwright Software Corp. |
//|                                        http://www.cartwright.net |
//|                                        Author Randy C.           |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Cartwright Software Corp."
#property link      "http://www.cartwright.net"  // No web site!!!
extern int Server_Local_TimeDiff = 10;
extern bool   ApplyToOpen = false;
extern string Friday_Close_Hour = "1pm";
extern string TL_1_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_1_EndTime =  "9:15pm"; //9:15pm(PST) 12:15am(EST)
extern string TL_2_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_2_EndTime =  "11:45pm"; //11:45pm(PST) 2:45am(EST)
extern string TL_3_StartTime =  "12:15am"; //12:15am(PST) 3:15am(EST)
extern string TL_3_EndTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_StartTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_EndTime =  "11:15am"; //11:15am(PST) 2:15pm(EST)
extern color  FirstColor = DodgerBlue;
extern color  SecondColor = Goldenrod;
extern color  ThirdColor = Salmon;
extern color  FourthColor = Violet;

int FridayCloseHour=23, vHour=0;
double timeDiff=10;
bool alertFlag=false, alertFlag2=false;
string TL1StartTime, TL1EndTime, TL2StartTime, TL2EndTime;
string TL3StartTime, TL3EndTime, TL4StartTime, TL4EndTime;
string test, test2, barTime;

int TL_1_TradeDay=1;

#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
TL_1_TradeDay=DayOfYear()+1;

int str=0, vHour2=0;
string substring, substring2, substring3;

//Calculate Friday Close Hour
str=StringLen(Friday_Close_Hour);
if (str==3) {
substring=StringSubstr(Friday_Close_Hour, 0, 1);
substring2=StringSubstr(Friday_Close_Hour, 1, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
if (str==4) {
substring=StringSubstr(Friday_Close_Hour, 0, 2);
substring2=StringSubstr(Friday_Close_Hour, 2, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
FridayCloseHour=vHour2;

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
ObjectDelete("TL_1");
ObjectDelete("TL_1_2");
ObjectDelete("TL_2");
ObjectDelete("TL_2_2");
ObjectDelete("TL_3");
ObjectDelete("TL_3_2");
ObjectDelete("TL_4");
ObjectDelete("TL_4_2");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
calcTimes();

int i;
double TL_1_starttime=0, TL_1_endtime=0,TL_1_StartPrice=0, TL_1_EndPrice=0;
double TL_2_starttime=0, TL_2_endtime=0,TL_2_StartPrice=0, TL_2_EndPrice=0;
double TL_3_starttime=0, TL_3_endtime=0,TL_3_StartPrice=0, TL_3_EndPrice=0;
double TL_4_starttime=0, TL_4_endtime=0,TL_4_StartPrice=0, TL_4_EndPrice=0;
bool TL_1_Start=false, TL_1_Completed=false;
bool TL_2_Start=false, TL_2_Completed=false;
bool TL_3_Start=false, TL_3_Completed=false;
bool TL_4_Start=false, TL_4_Completed=false;

for (i=0;i<Bars;i++)
{
barTime=TimeToStr(iTime(NULL,PERIOD_M15,i), TIME_MINUTES);
if (TL_1_Completed == false && barTime==TL1EndTime)
   {
   TL_1_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Start = true;
   }
if (TL_1_Start == true && barTime==TL1StartTime)
   {
   TL_1_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Completed = true;
   TL_1_Start= false;
   }

if (TL_2_Completed == false && barTime==TL2EndTime)
   {
   TL_2_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Start = true;
   }
if (TL_2_Start == true && barTime==TL2StartTime)
   {
   TL_2_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Completed = true;
   TL_2_Start = false;
   }

if (TL_3_Completed == false && barTime==TL3EndTime)
   {
   TL_3_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Start = true;
   }
if (TL_3_Start == true && barTime==TL3StartTime)
   {
   TL_3_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Completed = true;
   TL_3_Start = false;
   }

if (TL_4_Completed == false && barTime==TL4EndTime)
   {
   TL_4_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Start = true;
   }
if (TL_4_Start == true && barTime==TL4StartTime)
   {
   TL_4_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Completed = true;
   TL_4_Start = false;
   }

if (TL_1_Completed == true && TL_2_Completed == true
    && TL_3_Completed == true && TL_4_Completed == true) break;

}

ObjectDelete("TL_1");
ObjectCreate("TL_1",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1", OBJPROP_RAY, false);
ObjectSet("TL_1",OBJPROP_WIDTH,2);

ObjectDelete("TL_1_2");
ObjectCreate("TL_1_2",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1_2",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_1_2", OBJPROP_RAY, true);

ObjectDelete("TL_2");
ObjectCreate("TL_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2", OBJPROP_RAY, false);
ObjectSet("TL_2",OBJPROP_WIDTH,2);

ObjectDelete("TL_2_2");
ObjectCreate("TL_2_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_2_2", OBJPROP_RAY, true);

ObjectDelete("TL_3");
ObjectCreate("TL_3",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3", OBJPROP_RAY, false);
ObjectSet("TL_3",OBJPROP_WIDTH,2);

ObjectDelete("TL_3_2");
ObjectCreate("TL_3_2",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3_2",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_3_2", OBJPROP_RAY, true);

ObjectDelete("TL_4");
ObjectCreate("TL_4",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4", OBJPROP_RAY, false);
ObjectSet("TL_4",OBJPROP_WIDTH,2);

ObjectDelete("TL_4_2");
ObjectCreate("TL_4_2",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4_2",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_4_2", OBJPROP_RAY, true);

double price=ObjectGetValueByShift("TL_4_2", 0);
double price2=ObjectGetValueByShift("TL_4_2", 1);
double HC1=ObjectGetValueByShift("HC1_1", 1);
double LC1=ObjectGetValueByShift("LC1_1", 1);

double TL_1_2_price=ObjectGetValueByShift("TL_1_2", 0);
double TL_2_2_price=ObjectGetValueByShift("TL_2_2", 0);
double TL_3_2_price=ObjectGetValueByShift("TL_3_2", 0);
double TL_4_2_price=ObjectGetValueByShift("TL_4_2", 0);

bool TrendUp=false, TrendDown=false;
bool TL_1_Trade=false;

if (TL_1_2_price > ObjectGetValueByShift("TL_1_2", 5)) TrendUp=true;
   else if (TL_1_2_price < ObjectGetValueByShift("TL_1_2", 5)) TrendDown=true;

Comment("TL4StartTime= ",TL4StartTime," TL4EndTime = ",TL4EndTime," TL_4_EndPrice = ",TL_4_EndPrice," TL_1_Start = ",TL_1_Start,
      "\n","Time[0]= ",TimeToStr(Time[0],TIME_MINUTES)," vHour= ",vHour," barTime = ",barTime,"\n",
       "TL_1_starttime = ",TL_1_starttime," TL_1_endtime = ",TL_1_endtime," FridayCloseHour= ",FridayCloseHour,"\n",
       "iTime(NULL,PERIOD_M15,0)= ",iTime(NULL,PERIOD_M15,0),
      "\n","iClose(NULL,PERIOD_M15,0)= ",iClose(NULL,PERIOD_M15,0),
      "\n","iOpen(NULL,PERIOD_M15,0)= ",iOpen(NULL,PERIOD_M15,0),"\n",
      "TL_4_0= ",price," TL_4_1= ",price2,"\n","HC1 = ",HC1,," LC1 = ",LC1,"\n",
      "TL_1_TradeDay= ",TL_1_TradeDay, " TrendUp= ",TrendUp," TrendDown= ",TrendDown);
//----

   return(0);
  }
//+------------------------------------------------------------------+
void calcTimes(){
int strlen=0;
string substr, substr2, substr3;
string substr100, substr200;

if (CurTime() > LocalTime()) {timeDiff = CurTime() - LocalTime();}
    else timeDiff = LocalTime() - CurTime(); // if (alertFlag==false) {Alert("Error!!!", "Server Time<Local Time",
     // "\n","If Server is active. You need to replace the code!"); alertFlag=true;}}//----}
timeDiff=MathRound(timeDiff/3600);

if (DayOfWeek()==5 && Hour()>=FridayCloseHour) timeDiff=Server_Local_TimeDiff;
else
if (timeDiff != Server_Local_TimeDiff) {
   if (alertFlag==false) {Alert("Error!!!", " Server_Local_TimeDiff Do not match!",
      "\n","If Server is active.","\n",
      "You need to change Server_Local_TimeDiff!","\n",
      "Or you may have to change the Friday_Close_Hour."); alertFlag=true;}}
   //if (alertFlag2==false) {Alert("Error!!!", " timeDiff != Server_Local_TimeDiff",
    //  "\n","timeDiff= ",timeDiff); alertFlag2=true;}}//----

//Calculate TL1StartTime
strlen=StringLen(TL_1_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_1_StartTime, 0, 1);
substr2=StringSubstr(TL_1_StartTime, 2, 2);
substr3=StringSubstr(TL_1_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_1_StartTime, 0, 2);
substr2=StringSubstr(TL_1_StartTime, 3, 2);
substr3=StringSubstr(TL_1_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL1StartTime=vHour+":"+substr2;
strlen=StringLen(TL1StartTime);
if (strlen==4) TL1StartTime="0"+TL1StartTime;

//Calculate TL1EndTime
strlen=StringLen(TL_1_EndTime);
if (strlen==6) {substr=StringSubstr(TL_1_EndTime, 0, 1);
               substr2=StringSubstr(TL_1_EndTime, 2, 2);
               substr3=StringSubstr(TL_1_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_1_EndTime, 0, 2);
               substr2=StringSubstr(TL_1_EndTime, 3, 2);
               substr3=StringSubstr(TL_1_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL1EndTime=vHour+":"+substr2;
strlen=StringLen(TL1EndTime);
if (strlen==4) TL1EndTime="0"+TL1EndTime;

//Calculate TL2StartTime
strlen=StringLen(TL_2_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_2_StartTime, 0, 1);
substr2=StringSubstr(TL_2_StartTime, 2, 2);
substr3=StringSubstr(TL_2_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_2_StartTime, 0, 2);
substr2=StringSubstr(TL_2_StartTime, 3, 2);
substr3=StringSubstr(TL_2_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL2StartTime=vHour+":"+substr2;
strlen=StringLen(TL2StartTime);
if (strlen==4) TL2StartTime="0"+TL2StartTime;

//Calculate TL2EndTime
strlen=StringLen(TL_2_EndTime);
if (strlen==6) {substr=StringSubstr(TL_2_EndTime, 0, 1);
               substr2=StringSubstr(TL_2_EndTime, 2, 2);
               substr3=StringSubstr(TL_2_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_2_EndTime, 0, 2);
               substr2=StringSubstr(TL_2_EndTime, 3, 2);
               substr3=StringSubstr(TL_2_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL2EndTime=vHour+":"+substr2;
strlen=StringLen(TL2EndTime);
if (strlen==4) TL2EndTime="0"+TL2EndTime;

//Calculate TL3StartTime
strlen=StringLen(TL_3_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_3_StartTime, 0, 1);
substr2=StringSubstr(TL_3_StartTime, 2, 2);
substr3=StringSubstr(TL_3_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_3_StartTime, 0, 2);
substr2=StringSubstr(TL_3_StartTime, 3, 2);
substr3=StringSubstr(TL_3_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL3StartTime=vHour+":"+substr2;
strlen=StringLen(TL3StartTime);
if (strlen==4) TL3StartTime="0"+TL3StartTime;

//Calculate TL3EndTime
strlen=StringLen(TL_3_EndTime);
if (strlen==6) {substr=StringSubstr(TL_3_EndTime, 0, 1);
               substr2=StringSubstr(TL_3_EndTime, 2, 2);
               substr3=StringSubstr(TL_3_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_3_EndTime, 0, 2);
               substr2=StringSubstr(TL_3_EndTime, 3, 2);
               substr3=StringSubstr(TL_3_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL3EndTime=vHour+":"+substr2;
strlen=StringLen(TL3EndTime);
if (strlen==4) TL3EndTime="0"+TL3EndTime;

//Calculate TL4StartTime
strlen=StringLen(TL_4_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_4_StartTime, 0, 1);
substr2=StringSubstr(TL_4_StartTime, 2, 2);
substr3=StringSubstr(TL_4_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_4_StartTime, 0, 2);
substr2=StringSubstr(TL_4_StartTime, 3, 2);
substr3=StringSubstr(TL_4_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL4StartTime=vHour+":"+substr2;
strlen=StringLen(TL4StartTime);
if (strlen==4) TL4StartTime="0"+TL4StartTime;

//Calculate TL4EndTime
strlen=StringLen(TL_4_EndTime);
if (strlen==6) {substr=StringSubstr(TL_4_EndTime, 0, 1);
               substr2=StringSubstr(TL_4_EndTime, 2, 2);
               substr3=StringSubstr(TL_4_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_4_EndTime, 0, 2);
               substr2=StringSubstr(TL_4_EndTime, 3, 2);
               substr3=StringSubstr(TL_4_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL4EndTime=vHour+":"+substr2;
strlen=StringLen(TL4EndTime);
if (strlen==4) TL4EndTime="0"+TL4EndTime;
}

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Trendline_v3-MKS.mq4

//+------------------------------------------------------------------+
//|                                              4_Trendlines_v3.mq4 |
//|                      Copyright © 2006, Cartwright Software Corp. |
//|                                        http://www.cartwright.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Cartwright Software Corp."
#property link      "http://www.cartwright.net"  // No web site!!!
extern int Server_Local_TimeDiff = 10;
extern bool   ApplyToOpen = false;
extern string Friday_Close_Hour = "1pm";
extern string TL_1_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_1_EndTime =  "9:15pm"; //9:15pm(PST) 12:15am(EST)
extern string TL_2_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_2_EndTime =  "11:45pm"; //11:45pm(PST) 2:45am(EST)
extern string TL_3_StartTime =  "12:15am"; //12:15am(PST) 3:15am(EST)
extern string TL_3_EndTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_StartTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_EndTime =  "11:15am"; //11:15am(PST) 2:15pm(EST)
extern color  FirstColor = DodgerBlue;
extern color  SecondColor = Goldenrod;
extern color  ThirdColor = Salmon;
extern color  FourthColor = Violet;

int FridayCloseHour=23, vHour=0;
double timeDiff=10;
bool alertFlag=false, alertFlag2=false;
string TL1StartTime, TL1EndTime, TL2StartTime, TL2EndTime;
string TL3StartTime, TL3EndTime, TL4StartTime, TL4EndTime;
string test, test2, barTime;

int TL_1_TradeDay=1;

#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
TL_1_TradeDay=DayOfYear()+1;

int str=0, vHour2=0;
string substring, substring2, substring3;

//Calculate Friday Close Hour
str=StringLen(Friday_Close_Hour);
if (str==3) {
substring=StringSubstr(Friday_Close_Hour, 0, 1);
substring2=StringSubstr(Friday_Close_Hour, 1, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
if (str==4) {
substring=StringSubstr(Friday_Close_Hour, 0, 2);
substring2=StringSubstr(Friday_Close_Hour, 2, 2);
if (substring2=="am" && substring!="12") {vHour2=StrToInteger(substring)+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="am" && substring=="12") {vHour2=0+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if (substring2=="pm" && substring!="12") {vHour2=StrToInteger(substring)+12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
   else if  (substring2=="pm" && substring=="12") {vHour2=12+Server_Local_TimeDiff; if (vHour2>23) vHour2=vHour2-24;}
}
FridayCloseHour=vHour2;

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
ObjectDelete("TL_1");
ObjectDelete("TL_1_2");
ObjectDelete("TL_2");
ObjectDelete("TL_2_2");
ObjectDelete("TL_3");
ObjectDelete("TL_3_2");
ObjectDelete("TL_4");
ObjectDelete("TL_4_2");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
calcTimes();

int i;
double TL_1_starttime=0, TL_1_endtime=0,TL_1_StartPrice=0, TL_1_EndPrice=0;
double TL_2_starttime=0, TL_2_endtime=0,TL_2_StartPrice=0, TL_2_EndPrice=0;
double TL_3_starttime=0, TL_3_endtime=0,TL_3_StartPrice=0, TL_3_EndPrice=0;
double TL_4_starttime=0, TL_4_endtime=0,TL_4_StartPrice=0, TL_4_EndPrice=0;
bool TL_1_Start=false, TL_1_Completed=false;
bool TL_2_Start=false, TL_2_Completed=false;
bool TL_3_Start=false, TL_3_Completed=false;
bool TL_4_Start=false, TL_4_Completed=false;

for (i=0;i<Bars;i++)
{
barTime=TimeToStr(iTime(NULL,PERIOD_M15,i), TIME_MINUTES);
if (TL_1_Completed == false && barTime==TL1EndTime)
   {
   TL_1_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Start = true;
   }
if (TL_1_Start == true && barTime==TL1StartTime)
   {
   TL_1_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i);
   if (ApplyToOpen==true) TL_1_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_1_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_1_Completed = true;
   TL_1_Start= false;
   }

if (TL_2_Completed == false && barTime==TL2EndTime)
   {
   TL_2_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Start = true;
   }
if (TL_2_Start == true && barTime==TL2StartTime)
   {
   TL_2_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_2_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_2_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_2_Completed = true;
   TL_2_Start = false;
   }

if (TL_3_Completed == false && barTime==TL3EndTime)
   {
   TL_3_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Start = true;
   }
if (TL_3_Start == true && barTime==TL3StartTime)
   {
   TL_3_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_3_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_3_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_3_Completed = true;
   TL_3_Start = false;
   }

if (TL_4_Completed == false && barTime==TL4EndTime)
   {
   TL_4_endtime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_EndPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_EndPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Start = true;
   }
if (TL_4_Start == true && barTime==TL4StartTime)
   {
   TL_4_starttime = iTime(NULL,PERIOD_M15,i);//Time[i];
   //TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i);//Close[i];
   if (ApplyToOpen==true) TL_4_StartPrice = iOpen(NULL,PERIOD_M15,i); else TL_4_StartPrice = iClose(NULL,PERIOD_M15,i);
   TL_4_Completed = true;
   TL_4_Start = false;
   }

if (TL_1_Completed == true && TL_2_Completed == true
    && TL_3_Completed == true && TL_4_Completed == true) break;

}

ObjectDelete("TL_1");
ObjectCreate("TL_1",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1", OBJPROP_RAY, false);
ObjectSet("TL_1",OBJPROP_WIDTH,2);

ObjectDelete("TL_1_2");
ObjectCreate("TL_1_2",OBJ_TREND, 0,TL_1_starttime,TL_1_StartPrice,TL_1_endtime,TL_1_EndPrice);
ObjectSet("TL_1_2",OBJPROP_COLOR,FirstColor);
ObjectSet("TL_1_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_1_2", OBJPROP_RAY, true);

ObjectDelete("TL_2");
ObjectCreate("TL_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2", OBJPROP_RAY, false);
ObjectSet("TL_2",OBJPROP_WIDTH,2);

ObjectDelete("TL_2_2");
ObjectCreate("TL_2_2",OBJ_TREND, 0,TL_2_starttime,TL_2_StartPrice,TL_2_endtime,TL_2_EndPrice);
ObjectSet("TL_2_2",OBJPROP_COLOR,SecondColor);
ObjectSet("TL_2_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_2_2", OBJPROP_RAY, true);

ObjectDelete("TL_3");
ObjectCreate("TL_3",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3", OBJPROP_RAY, false);
ObjectSet("TL_3",OBJPROP_WIDTH,2);

ObjectDelete("TL_3_2");
ObjectCreate("TL_3_2",OBJ_TREND, 0,TL_3_starttime,TL_3_StartPrice,TL_3_endtime,TL_3_EndPrice);
ObjectSet("TL_3_2",OBJPROP_COLOR,ThirdColor);
ObjectSet("TL_3_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_3_2", OBJPROP_RAY, true);

ObjectDelete("TL_4");
ObjectCreate("TL_4",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4", OBJPROP_RAY, false);
ObjectSet("TL_4",OBJPROP_WIDTH,2);

ObjectDelete("TL_4_2");
ObjectCreate("TL_4_2",OBJ_TREND, 0,TL_4_starttime,TL_4_StartPrice,TL_4_endtime,TL_4_EndPrice);
ObjectSet("TL_4_2",OBJPROP_COLOR,FourthColor);
ObjectSet("TL_4_2",OBJPROP_STYLE,STYLE_DOT);
ObjectSet("TL_4_2", OBJPROP_RAY, true);

double price=ObjectGetValueByShift("TL_4_2", 0);
double price2=ObjectGetValueByShift("TL_4_2", 1);
double HC1=ObjectGetValueByShift("HC1_1", 1);
double LC1=ObjectGetValueByShift("LC1_1", 1);

double TL_1_2_price=ObjectGetValueByShift("TL_1_2", 0);
double TL_2_2_price=ObjectGetValueByShift("TL_2_2", 0);
double TL_3_2_price=ObjectGetValueByShift("TL_3_2", 0);
double TL_4_2_price=ObjectGetValueByShift("TL_4_2", 0);

bool TrendUp=false, TrendDown=false;
bool TL_1_Trade=false;

if (TL_1_2_price > ObjectGetValueByShift("TL_1_2", 5)) TrendUp=true;
   else if (TL_1_2_price < ObjectGetValueByShift("TL_1_2", 5)) TrendDown=true;

Comment("TL4StartTime= ",TL4StartTime," TL4EndTime = ",TL4EndTime," TL_4_EndPrice = ",TL_4_EndPrice," TL_1_Start = ",TL_1_Start,
      "\n","Time[0]= ",TimeToStr(Time[0],TIME_MINUTES)," vHour= ",vHour," barTime = ",barTime,"\n",
       "TL_1_starttime = ",TL_1_starttime," TL_1_endtime = ",TL_1_endtime," FridayCloseHour= ",FridayCloseHour,"\n",
       "iTime(NULL,PERIOD_M15,0)= ",iTime(NULL,PERIOD_M15,0),
      "\n","iClose(NULL,PERIOD_M15,0)= ",iClose(NULL,PERIOD_M15,0),
      "\n","iOpen(NULL,PERIOD_M15,0)= ",iOpen(NULL,PERIOD_M15,0),"\n",
      "TL_4_0= ",price," TL_4_1= ",price2,"\n","HC1 = ",HC1,," LC1 = ",LC1,"\n",
      "TL_1_TradeDay= ",TL_1_TradeDay, " TrendUp= ",TrendUp," TrendDown= ",TrendDown);
//----

   return(0);
  }
//+------------------------------------------------------------------+
void calcTimes(){
int strlen=0;
string substr, substr2, substr3;
string substr100, substr200;

if (CurTime() > LocalTime()) {timeDiff = CurTime() - LocalTime();}
    else timeDiff = LocalTime() - CurTime(); // if (alertFlag==false) {Alert("Error!!!", "Server Time<Local Time",
     // "\n","If Server is active. You need to replace the code!"); alertFlag=true;}}//----}
timeDiff=MathRound(timeDiff/3600);

if (DayOfWeek()==5 && Hour()>=FridayCloseHour) timeDiff=Server_Local_TimeDiff;
else
if (timeDiff != Server_Local_TimeDiff) {
   if (alertFlag==false) {Alert("Error!!!", " Server_Local_TimeDiff Do not match!",
      "\n","If Server is active.","\n",
      "You need to change Server_Local_TimeDiff!","\n",
      "Or you may have to change the Friday_Close_Hour."); alertFlag=true;}}
   //if (alertFlag2==false) {Alert("Error!!!", " timeDiff != Server_Local_TimeDiff",
    //  "\n","timeDiff= ",timeDiff); alertFlag2=true;}}//----

//Calculate TL1StartTime
strlen=StringLen(TL_1_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_1_StartTime, 0, 1);
substr2=StringSubstr(TL_1_StartTime, 2, 2);
substr3=StringSubstr(TL_1_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_1_StartTime, 0, 2);
substr2=StringSubstr(TL_1_StartTime, 3, 2);
substr3=StringSubstr(TL_1_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL1StartTime=vHour+":"+substr2;
strlen=StringLen(TL1StartTime);
if (strlen==4) TL1StartTime="0"+TL1StartTime;

//Calculate TL1EndTime
strlen=StringLen(TL_1_EndTime);
if (strlen==6) {substr=StringSubstr(TL_1_EndTime, 0, 1);
               substr2=StringSubstr(TL_1_EndTime, 2, 2);
               substr3=StringSubstr(TL_1_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_1_EndTime, 0, 2);
               substr2=StringSubstr(TL_1_EndTime, 3, 2);
               substr3=StringSubstr(TL_1_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL1EndTime=vHour+":"+substr2;
strlen=StringLen(TL1EndTime);
if (strlen==4) TL1EndTime="0"+TL1EndTime;

//Calculate TL2StartTime
strlen=StringLen(TL_2_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_2_StartTime, 0, 1);
substr2=StringSubstr(TL_2_StartTime, 2, 2);
substr3=StringSubstr(TL_2_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_2_StartTime, 0, 2);
substr2=StringSubstr(TL_2_StartTime, 3, 2);
substr3=StringSubstr(TL_2_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL2StartTime=vHour+":"+substr2;
strlen=StringLen(TL2StartTime);
if (strlen==4) TL2StartTime="0"+TL2StartTime;

//Calculate TL2EndTime
strlen=StringLen(TL_2_EndTime);
if (strlen==6) {substr=StringSubstr(TL_2_EndTime, 0, 1);
               substr2=StringSubstr(TL_2_EndTime, 2, 2);
               substr3=StringSubstr(TL_2_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_2_EndTime, 0, 2);
               substr2=StringSubstr(TL_2_EndTime, 3, 2);
               substr3=StringSubstr(TL_2_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL2EndTime=vHour+":"+substr2;
strlen=StringLen(TL2EndTime);
if (strlen==4) TL2EndTime="0"+TL2EndTime;

//Calculate TL3StartTime
strlen=StringLen(TL_3_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_3_StartTime, 0, 1);
substr2=StringSubstr(TL_3_StartTime, 2, 2);
substr3=StringSubstr(TL_3_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_3_StartTime, 0, 2);
substr2=StringSubstr(TL_3_StartTime, 3, 2);
substr3=StringSubstr(TL_3_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL3StartTime=vHour+":"+substr2;
strlen=StringLen(TL3StartTime);
if (strlen==4) TL3StartTime="0"+TL3StartTime;

//Calculate TL3EndTime
strlen=StringLen(TL_3_EndTime);
if (strlen==6) {substr=StringSubstr(TL_3_EndTime, 0, 1);
               substr2=StringSubstr(TL_3_EndTime, 2, 2);
               substr3=StringSubstr(TL_3_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_3_EndTime, 0, 2);
               substr2=StringSubstr(TL_3_EndTime, 3, 2);
               substr3=StringSubstr(TL_3_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL3EndTime=vHour+":"+substr2;
strlen=StringLen(TL3EndTime);
if (strlen==4) TL3EndTime="0"+TL3EndTime;

//Calculate TL4StartTime
strlen=StringLen(TL_4_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_4_StartTime, 0, 1);
substr2=StringSubstr(TL_4_StartTime, 2, 2);
substr3=StringSubstr(TL_4_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}

if (strlen==7) {
substr=StringSubstr(TL_4_StartTime, 0, 2);
substr2=StringSubstr(TL_4_StartTime, 3, 2);
substr3=StringSubstr(TL_4_StartTime, 5, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else if  (substr3=="pm" && substr=="12") {vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
}
TL4StartTime=vHour+":"+substr2;
strlen=StringLen(TL4StartTime);
if (strlen==4) TL4StartTime="0"+TL4StartTime;

//Calculate TL4EndTime
strlen=StringLen(TL_4_EndTime);
if (strlen==6) {substr=StringSubstr(TL_4_EndTime, 0, 1);
               substr2=StringSubstr(TL_4_EndTime, 2, 2);
               substr3=StringSubstr(TL_4_EndTime, 4, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}
if (strlen==7) {substr=StringSubstr(TL_4_EndTime, 0, 2);
               substr2=StringSubstr(TL_4_EndTime, 3, 2);
               substr3=StringSubstr(TL_4_EndTime, 5, 2);}
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff;} else if (vHour>23) vHour=vHour-24;
   else if  (substr3=="am" && substr=="12") {vHour=0+timeDiff; if (vHour>23) vHour=vHour-24;}
if (substr3=="pm" && substr!="12") {vHour=StrToInteger(substr)+12+timeDiff; if (vHour>23) vHour=vHour-24;}
   else {if  (substr3=="pm" && substr=="12") vHour=12+timeDiff; if (vHour>23) vHour=vHour-24;}

TL4EndTime=vHour+":"+substr2;
strlen=StringLen(TL4EndTime);
if (strlen==4) TL4EndTime="0"+TL4EndTime;
}

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Period_MA_Psars_V1.mq4

//+------------------------------------------------------------------+
//|                                                   4 Period MA.mq4 |
//|                 Copyright © 2006, tageiger aka fxid10t@yahoo.com |
//|                                        http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger aka fxid10t@yahoo.com"
#property link      "mailto:fxid10t@yahoo.com"
#property indicator_chart_window

extern int p1.ma=1;//Period() in minutes
extern int p2.ma=5;//Period() in minutes
extern int p3.ma=15;//Period() in minutes
extern int p4.ma=60;//Period() in minutes

extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:

Constant       Value Description
PRICE_CLOSE    0     Close price.
PRICE_OPEN     1     Open price.
PRICE_HIGH     2     High price.
PRICE_LOW      3     Low price.
PRICE_MEDIAN   4     Median price, (high+low)/2.
PRICE_TYPICAL  5     Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6     Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant    Value Description
MODE_SMA    0     Simple moving average,
MODE_EMA    1     Exponential moving average,
MODE_SMMA   2     Smoothed moving average,
MODE_LWMA   3     Linear weighted moving average.   */

extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;

extern int fib.SR.shadow.1=8;
extern int fib.SR.shadow.2=13;
extern int fib.SR.shadow.3=21;
extern int fib.SR.shadow.4=34;
extern int fib.SR.shadow.5=55;
extern int fib.SR.shadow.6=89;
extern int fib.SR.shadow.7=144;

extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;

double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;

datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;

int init()  {  return(0);  }
int deinit()   {
   ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);
return(0);  }
int start() {
   ObjectsDeleteAll();
//p1 ma settings
   ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p2 ma settings
   ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p3 ma settings
   ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p4 ma settings
   ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//--------------

return(0);}
//+------------------------------------------------------------------+
void Time.Coordinate.Set()   {
//....Variable Settings for Object Spatial Placement.....
   double zoom.multiplier;int bpw=BarsPerWindow();
   if(bpw<25)              {zoom.multiplier=0.05;}
   if(bpw>25 && bpw<50)    {zoom.multiplier=0.07;}
   if(bpw>50 && bpw<175)   {zoom.multiplier=0.12;}
   if(bpw>175 && bpw<375)  {zoom.multiplier=0.25;}
   if(bpw>375 && bpw<750)  {zoom.multiplier=0.5;}
   if(bpw>750)             {zoom.multiplier=1;}
   double time.frame.multiplier;
   if(Period()==1)      {time.frame.multiplier=0.65;}
   if(Period()==5)      {time.frame.multiplier=3.25;}
   if(Period()==15)     {time.frame.multiplier=9.75;}
   if(Period()==30)     {time.frame.multiplier=19.5;}
   if(Period()==60)     {time.frame.multiplier=39;}
   if(Period()==240)    {time.frame.multiplier=156;}
   if(Period()==1440)   {time.frame.multiplier=936;}
   if(Period()==10080)  {time.frame.multiplier=6552;}
   if(Period()==43200)  {time.frame.multiplier=28043;}

   t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
   t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);

   t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
   t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);

   t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
   t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);

   t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
   t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()

void p1.Fib.Plot()   {
//p1 dynamic fibo levels
   double lo.ma.p1,hi.ma.p1;
   lo.ma.p1=ma1.p1;
   if(ma2.p1<lo.ma.p1)  {lo.ma.p1=ma2.p1;}
   if(ma3.p1<lo.ma.p1)  {lo.ma.p1=ma3.p1;}
   if(ma4.p1<lo.ma.p1)  {lo.ma.p1=ma4.p1;}
   if(ma5.p1<lo.ma.p1)  {lo.ma.p1=ma5.p1;}
   if(ma6.p1<lo.ma.p1)  {lo.ma.p1=ma6.p1;}
   if(ma7.p1<lo.ma.p1)  {lo.ma.p1=ma7.p1;}
   lo.ma.p1=NormalizeDouble(lo.ma.p1+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p1=ma7.p1;
   if(ma6.p1>hi.ma.p1)  {hi.ma.p1=ma6.p1;}
   if(ma5.p1>hi.ma.p1)  {hi.ma.p1=ma5.p1;}
   if(ma4.p1>hi.ma.p1)  {hi.ma.p1=ma4.p1;}
   if(ma3.p1>hi.ma.p1)  {hi.ma.p1=ma3.p1;}
   if(ma2.p1>hi.ma.p1)  {hi.ma.p1=ma2.p1;}
   if(ma1.p1>hi.ma.p1)  {hi.ma.p1=ma1.p1;}
   hi.ma.p1=NormalizeDouble(hi.ma.p1-(fib.SR.shadow.1*Point),Digits);

//p1 center dynamic fib placement
   if(lo.ma.p1-hi.ma.p1>Ask-Bid)   {
      ObjectCreate("lcf.p1",OBJ_TREND,0,t1.p1, lo.ma.p1, t2.p1, lo.ma.p1);
      ObjectSet("lcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p1",OBJPROP_RAY,false);
      ObjectSet("lcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p1",DoubleToStr(lo.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p1",OBJ_TREND,0,t1.p1, hi.ma.p1, t2.p1, hi.ma.p1);
      ObjectSet("hcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p1",OBJPROP_RAY,false);
      ObjectSet("hcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p1",DoubleToStr(hi.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p1.1, lo.ma.p1.2, lo.ma.p1.3, lo.ma.p1.4, lo.ma.p1.5, lo.ma.p1.6;
   lo.ma.p1.1=lo.ma.p1+(fib.SR.shadow.2*Point);
   lo.ma.p1.2=lo.ma.p1.1+(fib.SR.shadow.3*Point);
   lo.ma.p1.3=lo.ma.p1.2+(fib.SR.shadow.4*Point);
   lo.ma.p1.4=lo.ma.p1.3+(fib.SR.shadow.5*Point);
   lo.ma.p1.5=lo.ma.p1.4+(fib.SR.shadow.6*Point);
   lo.ma.p1.6=lo.ma.p1.5+(fib.SR.shadow.7*Point);

   double hi.ma.p1.1, hi.ma.p1.2, hi.ma.p1.3, hi.ma.p1.4, hi.ma.p1.5, hi.ma.p1.6;
   hi.ma.p1.1=hi.ma.p1-(fib.SR.shadow.2*Point);
   hi.ma.p1.2=hi.ma.p1.1-(fib.SR.shadow.3*Point);
   hi.ma.p1.3=hi.ma.p1.2-(fib.SR.shadow.4*Point);
   hi.ma.p1.4=hi.ma.p1.3-(fib.SR.shadow.5*Point);
   hi.ma.p1.5=hi.ma.p1.4-(fib.SR.shadow.6*Point);
   hi.ma.p1.6=hi.ma.p1.5-(fib.SR.shadow.7*Point);

//p1 1st level (hi.1.p1, lo.1.p1)
   if(lo.ma.p1.1-hi.ma.p1.1>Ask-Bid)   {
      ObjectCreate("lo.1.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.1, t2.p1, lo.ma.p1.1);
      ObjectSet("lo.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p1",OBJPROP_RAY,false);
      ObjectSet("lo.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p1",DoubleToStr(lo.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.1, t2.p1, hi.ma.p1.1);
      ObjectSet("hi.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p1",OBJPROP_RAY,false);
      ObjectSet("hi.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p1",DoubleToStr(hi.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p1, lo.2.p1)
   if(lo.ma.p1.2-hi.ma.p1.2>Ask-Bid)   {
      ObjectCreate("lo.2.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.2, t2.p1, lo.ma.p1.2);
      ObjectSet("lo.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p1",OBJPROP_RAY,false);
      ObjectSet("lo.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p1",DoubleToStr(lo.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.2, t2.p1, hi.ma.p1.2);
      ObjectSet("hi.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p1",OBJPROP_RAY,false);
      ObjectSet("hi.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p1",DoubleToStr(hi.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p1, lo.3.p1)
   if(lo.ma.p1.3-hi.ma.p1.3>Ask-Bid)   {
      ObjectCreate("lo.3.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.3, t2.p1, lo.ma.p1.3);
      ObjectSet("lo.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p1",OBJPROP_RAY,false);
      ObjectSet("lo.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p1",DoubleToStr(lo.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.3, t2.p1, hi.ma.p1.3);
      ObjectSet("hi.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p1",OBJPROP_RAY,false);
      ObjectSet("hi.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p1",DoubleToStr(hi.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p1, lo.4.p1)
   if(lo.ma.p1.4-hi.ma.p1.4>Ask-Bid)   {
      ObjectCreate("lo.4.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.4, t2.p1, lo.ma.p1.4);
      ObjectSet("lo.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p1",OBJPROP_RAY,false);
      ObjectSet("lo.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p1",DoubleToStr(lo.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.4, t2.p1, hi.ma.p1.4);
      ObjectSet("hi.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p1",OBJPROP_RAY,false);
      ObjectSet("hi.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p1",DoubleToStr(hi.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p1, lo.5.p1)
   if(lo.ma.p1.5-hi.ma.p1.5>Ask-Bid)   {
      ObjectCreate("lo.5.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.5, t2.p1, lo.ma.p1.5);
      ObjectSet("lo.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p1",OBJPROP_RAY,false);
      ObjectSet("lo.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p1",DoubleToStr(lo.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.5, t2.p1, hi.ma.p1.5);
      ObjectSet("hi.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p1",OBJPROP_RAY,false);
      ObjectSet("hi.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p1",DoubleToStr(hi.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p1, lo.6.p1)
   if(lo.ma.p1.6-hi.ma.p1.6>Ask-Bid)   {
      ObjectCreate("lo.6.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.6, t2.p1, lo.ma.p1.6);
      ObjectSet("lo.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p1",OBJPROP_RAY,false);
      ObjectSet("lo.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p1",DoubleToStr(lo.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.6, t2.p1, hi.ma.p1.6);
      ObjectSet("hi.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p1",OBJPROP_RAY,false);
      ObjectSet("hi.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p1",DoubleToStr(hi.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p1",OBJ_TEXT,0,t1.p1,ma1.p1);//13 ma
      ObjectSetText("ma1.p1",space+DoubleToStr(ma1.p1,Digits),8,"Arial",White);

      ObjectCreate("ma2.p1",OBJ_TEXT,0,t1.p1,ma2.p1);//21 ma
      ObjectSetText("ma2.p1",space+DoubleToStr(ma2.p1,Digits),8,"Arial",White);

      ObjectCreate("ma3.p1",OBJ_TEXT,0,t1.p1,ma3.p1);//34 ma
      if(Bid>ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p1 && Ask>=ma3.p1)  {
         ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p1",OBJ_TEXT,0,t1.p1,ma4.p1);//55 ma
      if(Bid>ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p1 && Ask>=ma4.p1)  {
         ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p1",OBJ_TEXT,0,t1.p1,ma5.p1);//89 ma
      if(Bid>ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Green);}
      if(Ask<ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p1 && Ask>=ma5.p1)  {
         ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma6.p1,Digits));//144 ma
      if(Bid>ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Green);}
      if(Ask<ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p1 && Ask>=ma6.p1)  {
         ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma7.p1,Digits));//233 ma
      if(Bid>ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Green);}
      if(Ask<ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p1 && Ask>=ma7.p1)  {
         ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Yellow);}
}//end p1.Fib.Plot()

void p2.Fib.Plot()   {
//p2 dynamic fibo levels
   double lo.ma.p2,hi.ma.p2;
   lo.ma.p2=ma1.p2;
   if(ma2.p2<lo.ma.p2)  {lo.ma.p2=ma2.p2;}
   if(ma3.p2<lo.ma.p2)  {lo.ma.p2=ma3.p2;}
   if(ma4.p2<lo.ma.p2)  {lo.ma.p2=ma4.p2;}
   if(ma5.p2<lo.ma.p2)  {lo.ma.p2=ma5.p2;}
   if(ma6.p2<lo.ma.p2)  {lo.ma.p2=ma6.p2;}
   if(ma7.p2<lo.ma.p2)  {lo.ma.p2=ma7.p2;}
   lo.ma.p2=NormalizeDouble(lo.ma.p2+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p2=ma7.p2;
   if(ma6.p2>hi.ma.p2)  {hi.ma.p2=ma6.p2;}
   if(ma5.p2>hi.ma.p2)  {hi.ma.p2=ma5.p2;}
   if(ma4.p2>hi.ma.p2)  {hi.ma.p2=ma4.p2;}
   if(ma3.p2>hi.ma.p2)  {hi.ma.p2=ma3.p2;}
   if(ma2.p2>hi.ma.p2)  {hi.ma.p2=ma2.p2;}
   if(ma1.p2>hi.ma.p2)  {hi.ma.p2=ma1.p2;}
   hi.ma.p2=NormalizeDouble(hi.ma.p2-(fib.SR.shadow.1*Point),Digits);

//p2 center dynamic fib placement
   if(lo.ma.p2-hi.ma.p2>Ask-Bid)   {
      ObjectCreate("lcf.p2",OBJ_TREND,0,t1.p2, lo.ma.p2, t2.p2, lo.ma.p2);
      ObjectSet("lcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p2",OBJPROP_RAY,false);
      ObjectSet("lcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p2",DoubleToStr(lo.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p2",OBJ_TREND,0,t1.p2, hi.ma.p2, t2.p2, hi.ma.p2);
      ObjectSet("hcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p2",OBJPROP_RAY,false);
      ObjectSet("hcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p2",DoubleToStr(hi.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p2.1, lo.ma.p2.2, lo.ma.p2.3, lo.ma.p2.4, lo.ma.p2.5, lo.ma.p2.6;
   lo.ma.p2.1=lo.ma.p2+(fib.SR.shadow.2*Point);
   lo.ma.p2.2=lo.ma.p2.1+(fib.SR.shadow.3*Point);
   lo.ma.p2.3=lo.ma.p2.2+(fib.SR.shadow.4*Point);
   lo.ma.p2.4=lo.ma.p2.3+(fib.SR.shadow.5*Point);
   lo.ma.p2.5=lo.ma.p2.4+(fib.SR.shadow.6*Point);
   lo.ma.p2.6=lo.ma.p2.5+(fib.SR.shadow.7*Point);

   double hi.ma.p2.1, hi.ma.p2.2, hi.ma.p2.3, hi.ma.p2.4, hi.ma.p2.5, hi.ma.p2.6;
   hi.ma.p2.1=hi.ma.p2-(fib.SR.shadow.2*Point);
   hi.ma.p2.2=hi.ma.p2.1-(fib.SR.shadow.3*Point);
   hi.ma.p2.3=hi.ma.p2.2-(fib.SR.shadow.4*Point);
   hi.ma.p2.4=hi.ma.p2.3-(fib.SR.shadow.5*Point);
   hi.ma.p2.5=hi.ma.p2.4-(fib.SR.shadow.6*Point);
   hi.ma.p2.6=hi.ma.p2.5-(fib.SR.shadow.7*Point);

//p2 1st level (hi.1.p2, lo.1.p2)
   if(lo.ma.p2.1-hi.ma.p2.1>Ask-Bid)   {
      ObjectCreate("lo.1.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.1, t2.p2, lo.ma.p2.1);
      ObjectSet("lo.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p2",OBJPROP_RAY,false);
      ObjectSet("lo.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p2",DoubleToStr(lo.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.1, t2.p2, hi.ma.p2.1);
      ObjectSet("hi.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p2",OBJPROP_RAY,false);
      ObjectSet("hi.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p2",DoubleToStr(hi.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p2, lo.2.p2)
   if(lo.ma.p2.2-hi.ma.p2.2>Ask-Bid)   {
      ObjectCreate("lo.2.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.2, t2.p2, lo.ma.p2.2);
      ObjectSet("lo.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p2",OBJPROP_RAY,false);
      ObjectSet("lo.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p2",DoubleToStr(lo.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.2, t2.p2, hi.ma.p2.2);
      ObjectSet("hi.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p2",OBJPROP_RAY,false);
      ObjectSet("hi.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p2",DoubleToStr(hi.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p2, lo.3.p2)
   if(lo.ma.p2.3-hi.ma.p2.3>Ask-Bid)   {
      ObjectCreate("lo.3.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.3, t2.p2, lo.ma.p2.3);
      ObjectSet("lo.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p2",OBJPROP_RAY,false);
      ObjectSet("lo.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p2",DoubleToStr(lo.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.3, t2.p2, hi.ma.p2.3);
      ObjectSet("hi.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p2",OBJPROP_RAY,false);
      ObjectSet("hi.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p2",DoubleToStr(hi.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p2, lo.4.p2)
   if(lo.ma.p2.4-hi.ma.p2.4>Ask-Bid)   {
      ObjectCreate("lo.4.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.4, t2.p2, lo.ma.p2.4);
      ObjectSet("lo.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p2",OBJPROP_RAY,false);
      ObjectSet("lo.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p2",DoubleToStr(lo.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.4, t2.p2, hi.ma.p2.4);
      ObjectSet("hi.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p2",OBJPROP_RAY,false);
      ObjectSet("hi.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p2",DoubleToStr(hi.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p2, lo.5.p2)
   if(lo.ma.p2.5-hi.ma.p2.5>Ask-Bid)   {
      ObjectCreate("lo.5.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.5, t2.p2, lo.ma.p2.5);
      ObjectSet("lo.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p2",OBJPROP_RAY,false);
      ObjectSet("lo.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p2",DoubleToStr(lo.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.5, t2.p2, hi.ma.p2.5);
      ObjectSet("hi.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p2",OBJPROP_RAY,false);
      ObjectSet("hi.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p2",DoubleToStr(hi.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p2, lo.6.p2)
   if(lo.ma.p2.6-hi.ma.p2.6>Ask-Bid)   {
      ObjectCreate("lo.6.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.6, t2.p2, lo.ma.p2.6);
      ObjectSet("lo.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p2",OBJPROP_RAY,false);
      ObjectSet("lo.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p2",DoubleToStr(lo.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.6, t2.p2, hi.ma.p2.6);
      ObjectSet("hi.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p2",OBJPROP_RAY,false);
      ObjectSet("hi.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p2",DoubleToStr(hi.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p2",OBJ_TEXT,0,t1.p2,ma1.p2);//13 ma
      ObjectSetText("ma1.p2",space+DoubleToStr(ma1.p2,Digits),8,"Arial",White);

      ObjectCreate("ma2.p2",OBJ_TEXT,0,t1.p2,ma2.p2);//21 ma
      ObjectSetText("ma2.p2",space+DoubleToStr(ma2.p2,Digits),8,"Arial",White);

      ObjectCreate("ma3.p2",OBJ_TEXT,0,t1.p2,ma3.p2);//34 ma
      if(Bid>ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p2 && Ask>=ma3.p2)  {
         ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p2",OBJ_TEXT,0,t1.p2,ma4.p2);//55 ma
      if(Bid>ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p2 && Ask>=ma4.p2)  {
         ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p2",OBJ_TEXT,0,t1.p2,ma5.p2);//89 ma
      if(Bid>ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Green);}
      if(Ask<ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p2 && Ask>=ma5.p2)  {
         ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma6.p2,Digits));//144 ma
      if(Bid>ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Green);}
      if(Ask<ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p2 && Ask>=ma6.p2)  {
         ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma7.p2,Digits));//233 ma
      if(Bid>ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Green);}
      if(Ask<ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p2 && Ask>=ma7.p2)  {
         ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Yellow);}
}//end p2.Fib.Plot()

void p3.Fib.Plot()   {
//p3 dynamic fibo levels
   double lo.ma.p3,hi.ma.p3;
   lo.ma.p3=ma1.p3;
   if(ma2.p3<lo.ma.p3)  {lo.ma.p3=ma2.p3;}
   if(ma3.p3<lo.ma.p3)  {lo.ma.p3=ma3.p3;}
   if(ma4.p3<lo.ma.p3)  {lo.ma.p3=ma4.p3;}
   if(ma5.p3<lo.ma.p3)  {lo.ma.p3=ma5.p3;}
   if(ma6.p3<lo.ma.p3)  {lo.ma.p3=ma6.p3;}
   if(ma7.p3<lo.ma.p3)  {lo.ma.p3=ma7.p3;}
   lo.ma.p3=NormalizeDouble(lo.ma.p3+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p3=ma7.p3;
   if(ma6.p3>hi.ma.p3)  {hi.ma.p3=ma6.p3;}
   if(ma5.p3>hi.ma.p3)  {hi.ma.p3=ma5.p3;}
   if(ma4.p3>hi.ma.p3)  {hi.ma.p3=ma4.p3;}
   if(ma3.p3>hi.ma.p3)  {hi.ma.p3=ma3.p3;}
   if(ma2.p3>hi.ma.p3)  {hi.ma.p3=ma2.p3;}
   if(ma1.p3>hi.ma.p3)  {hi.ma.p3=ma1.p3;}
   hi.ma.p3=NormalizeDouble(hi.ma.p3-(fib.SR.shadow.1*Point),Digits);

//p3 center dynamic fib placement
   if(lo.ma.p3-hi.ma.p3>Ask-Bid)   {
      ObjectCreate("lcf.p3",OBJ_TREND,0,t1.p3, lo.ma.p3, t2.p3, lo.ma.p3);
      ObjectSet("lcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p3",OBJPROP_RAY,false);
      ObjectSet("lcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p3",DoubleToStr(lo.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p3",OBJ_TREND,0,t1.p3, hi.ma.p3, t2.p3, hi.ma.p3);
      ObjectSet("hcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p3",OBJPROP_RAY,false);
      ObjectSet("hcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p3",DoubleToStr(hi.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p3.1, lo.ma.p3.2, lo.ma.p3.3, lo.ma.p3.4, lo.ma.p3.5, lo.ma.p3.6;
   lo.ma.p3.1=lo.ma.p3+(fib.SR.shadow.2*Point);
   lo.ma.p3.2=lo.ma.p3.1+(fib.SR.shadow.3*Point);
   lo.ma.p3.3=lo.ma.p3.2+(fib.SR.shadow.4*Point);
   lo.ma.p3.4=lo.ma.p3.3+(fib.SR.shadow.5*Point);
   lo.ma.p3.5=lo.ma.p3.4+(fib.SR.shadow.6*Point);
   lo.ma.p3.6=lo.ma.p3.5+(fib.SR.shadow.7*Point);

   double hi.ma.p3.1, hi.ma.p3.2, hi.ma.p3.3, hi.ma.p3.4, hi.ma.p3.5, hi.ma.p3.6;
   hi.ma.p3.1=hi.ma.p3-(fib.SR.shadow.2*Point);
   hi.ma.p3.2=hi.ma.p3.1-(fib.SR.shadow.3*Point);
   hi.ma.p3.3=hi.ma.p3.2-(fib.SR.shadow.4*Point);
   hi.ma.p3.4=hi.ma.p3.3-(fib.SR.shadow.5*Point);
   hi.ma.p3.5=hi.ma.p3.4-(fib.SR.shadow.6*Point);
   hi.ma.p3.6=hi.ma.p3.5-(fib.SR.shadow.7*Point);

//p3 1st level (hi.1.p3, lo.1.p3)
   if(lo.ma.p3.1-hi.ma.p3.1>Ask-Bid)   {
      ObjectCreate("lo.1.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.1, t2.p3, lo.ma.p3.1);
      ObjectSet("lo.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p3",OBJPROP_RAY,false);
      ObjectSet("lo.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p3",DoubleToStr(lo.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.1, t2.p3, hi.ma.p3.1);
      ObjectSet("hi.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p3",OBJPROP_RAY,false);
      ObjectSet("hi.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p3",DoubleToStr(hi.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p3, lo.2.p3)
   if(lo.ma.p3.2-hi.ma.p3.2>Ask-Bid)   {
      ObjectCreate("lo.2.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.2, t2.p3, lo.ma.p3.2);
      ObjectSet("lo.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p3",OBJPROP_RAY,false);
      ObjectSet("lo.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p3",DoubleToStr(lo.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.2, t2.p3, hi.ma.p3.2);
      ObjectSet("hi.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p3",OBJPROP_RAY,false);
      ObjectSet("hi.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p3",DoubleToStr(hi.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p3, lo.3.p3)
   if(lo.ma.p3.3-hi.ma.p3.3>Ask-Bid)   {
      ObjectCreate("lo.3.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.3, t2.p3, lo.ma.p3.3);
      ObjectSet("lo.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p3",OBJPROP_RAY,false);
      ObjectSet("lo.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p3",DoubleToStr(lo.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.3, t2.p3, hi.ma.p3.3);
      ObjectSet("hi.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p3",OBJPROP_RAY,false);
      ObjectSet("hi.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p3",DoubleToStr(hi.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p3, lo.4.p3)
   if(lo.ma.p3.4-hi.ma.p3.4>Ask-Bid)   {
      ObjectCreate("lo.4.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.4, t2.p3, lo.ma.p3.4);
      ObjectSet("lo.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p3",OBJPROP_RAY,false);
      ObjectSet("lo.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p3",DoubleToStr(lo.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.4, t2.p3, hi.ma.p3.4);
      ObjectSet("hi.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p3",OBJPROP_RAY,false);
      ObjectSet("hi.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p3",DoubleToStr(hi.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p3, lo.5.p3)
   if(lo.ma.p3.5-hi.ma.p3.5>Ask-Bid)   {
      ObjectCreate("lo.5.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.5, t2.p3, lo.ma.p3.5);
      ObjectSet("lo.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p3",OBJPROP_RAY,false);
      ObjectSet("lo.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p3",DoubleToStr(lo.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.5, t2.p3, hi.ma.p3.5);
      ObjectSet("hi.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p3",OBJPROP_RAY,false);
      ObjectSet("hi.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p3",DoubleToStr(hi.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p3, lo.6.p3)
   if(lo.ma.p3.6-hi.ma.p3.6>Ask-Bid)   {
      ObjectCreate("lo.6.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.6, t2.p3, lo.ma.p3.6);
      ObjectSet("lo.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p3",OBJPROP_RAY,false);
      ObjectSet("lo.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p3",DoubleToStr(lo.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.6, t2.p3, hi.ma.p3.6);
      ObjectSet("hi.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p3",OBJPROP_RAY,false);
      ObjectSet("hi.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p3",DoubleToStr(hi.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p3",OBJ_TEXT,0,t1.p3,ma1.p3);//13 ma
      ObjectSetText("ma1.p3",space+DoubleToStr(ma1.p3,Digits),8,"Arial",White);

      ObjectCreate("ma2.p3",OBJ_TEXT,0,t1.p3,ma2.p3);//21 ma
      ObjectSetText("ma2.p3",space+DoubleToStr(ma2.p3,Digits),8,"Arial",White);

      ObjectCreate("ma3.p3",OBJ_TEXT,0,t1.p3,ma3.p3);//34 ma
      if(Bid>ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p3 && Ask>=ma3.p3)  {
         ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p3",OBJ_TEXT,0,t1.p3,ma4.p3);//55 ma
      if(Bid>ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p3 && Ask>=ma4.p3)  {
         ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p3",OBJ_TEXT,0,t1.p3,ma5.p3);//89 ma
      if(Bid>ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Green);}
      if(Ask<ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p3 && Ask>=ma5.p3)  {
         ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma6.p3,Digits));//144 ma
      if(Bid>ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Green);}
      if(Ask<ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p3 && Ask>=ma6.p3)  {
         ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma7.p3,Digits));//233 ma
      if(Bid>ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Green);}
      if(Ask<ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p3 && Ask>=ma7.p3)  {
         ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Yellow);}
}//end p3.Fib.Plot()

void p4.Fib.Plot()   {
//p4 dynamic fibo levels
   double lo.ma.p4,hi.ma.p4;
   lo.ma.p4=ma1.p4;
   if(ma2.p4<lo.ma.p4)  {lo.ma.p4=ma2.p4;}
   if(ma3.p4<lo.ma.p4)  {lo.ma.p4=ma3.p4;}
   if(ma4.p4<lo.ma.p4)  {lo.ma.p4=ma4.p4;}
   if(ma5.p4<lo.ma.p4)  {lo.ma.p4=ma5.p4;}
   if(ma6.p4<lo.ma.p4)  {lo.ma.p4=ma6.p4;}
   if(ma7.p4<lo.ma.p4)  {lo.ma.p4=ma7.p4;}
   lo.ma.p4=NormalizeDouble(lo.ma.p4+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p4=ma7.p4;
   if(ma6.p4>hi.ma.p4)  {hi.ma.p4=ma6.p4;}
   if(ma5.p4>hi.ma.p4)  {hi.ma.p4=ma5.p4;}
   if(ma4.p4>hi.ma.p4)  {hi.ma.p4=ma4.p4;}
   if(ma3.p4>hi.ma.p4)  {hi.ma.p4=ma3.p4;}
   if(ma2.p4>hi.ma.p4)  {hi.ma.p4=ma2.p4;}
   if(ma1.p4>hi.ma.p4)  {hi.ma.p4=ma1.p4;}
   hi.ma.p4=NormalizeDouble(hi.ma.p4-(fib.SR.shadow.1*Point),Digits);

//p4 center dynamic fib placement
   if(lo.ma.p4-hi.ma.p4>Ask-Bid)   {
      ObjectCreate("lcf.p4",OBJ_TREND,0,t1.p4, lo.ma.p4, t2.p4, lo.ma.p4);
      ObjectSet("lcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p4",OBJPROP_RAY,false);
      ObjectSet("lcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p4",DoubleToStr(lo.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p4",OBJ_TREND,0,t1.p4, hi.ma.p4, t2.p4, hi.ma.p4);
      ObjectSet("hcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p4",OBJPROP_RAY,false);
      ObjectSet("hcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p4",DoubleToStr(hi.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p4.1, lo.ma.p4.2, lo.ma.p4.3, lo.ma.p4.4, lo.ma.p4.5, lo.ma.p4.6;
   lo.ma.p4.1=lo.ma.p4+(fib.SR.shadow.2*Point);
   lo.ma.p4.2=lo.ma.p4.1+(fib.SR.shadow.3*Point);
   lo.ma.p4.3=lo.ma.p4.2+(fib.SR.shadow.4*Point);
   lo.ma.p4.4=lo.ma.p4.3+(fib.SR.shadow.5*Point);
   lo.ma.p4.5=lo.ma.p4.4+(fib.SR.shadow.6*Point);
   lo.ma.p4.6=lo.ma.p4.5+(fib.SR.shadow.7*Point);

   double hi.ma.p4.1, hi.ma.p4.2, hi.ma.p4.3, hi.ma.p4.4, hi.ma.p4.5, hi.ma.p4.6;
   hi.ma.p4.1=hi.ma.p4-(fib.SR.shadow.2*Point);
   hi.ma.p4.2=hi.ma.p4.1-(fib.SR.shadow.3*Point);
   hi.ma.p4.3=hi.ma.p4.2-(fib.SR.shadow.4*Point);
   hi.ma.p4.4=hi.ma.p4.3-(fib.SR.shadow.5*Point);
   hi.ma.p4.5=hi.ma.p4.4-(fib.SR.shadow.6*Point);
   hi.ma.p4.6=hi.ma.p4.5-(fib.SR.shadow.7*Point);

//p4 1st level (hi.1.p4, lo.1.p4)
   if(lo.ma.p4.1-hi.ma.p4.1>Ask-Bid)   {
      ObjectCreate("lo.1.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.1, t2.p4, lo.ma.p4.1);
      ObjectSet("lo.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p4",OBJPROP_RAY,false);
      ObjectSet("lo.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p4",DoubleToStr(lo.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.1, t2.p4, hi.ma.p4.1);
      ObjectSet("hi.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p4",OBJPROP_RAY,false);
      ObjectSet("hi.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p4",DoubleToStr(hi.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p4, lo.2.p4)
   if(lo.ma.p4.2-hi.ma.p4.2>Ask-Bid)   {
      ObjectCreate("lo.2.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.2, t2.p4, lo.ma.p4.2);
      ObjectSet("lo.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p4",OBJPROP_RAY,false);
      ObjectSet("lo.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p4",DoubleToStr(lo.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.2, t2.p4, hi.ma.p4.2);
      ObjectSet("hi.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p4",OBJPROP_RAY,false);
      ObjectSet("hi.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p4",DoubleToStr(hi.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p4, lo.3.p4)
   if(lo.ma.p4.3-hi.ma.p4.3>Ask-Bid)   {
      ObjectCreate("lo.3.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.3, t2.p4, lo.ma.p4.3);
      ObjectSet("lo.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p4",OBJPROP_RAY,false);
      ObjectSet("lo.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p4",DoubleToStr(lo.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.3, t2.p4, hi.ma.p4.3);
      ObjectSet("hi.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p4",OBJPROP_RAY,false);
      ObjectSet("hi.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p4",DoubleToStr(hi.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p4, lo.4.p4)
   if(lo.ma.p4.4-hi.ma.p4.4>Ask-Bid)   {
      ObjectCreate("lo.4.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.4, t2.p4, lo.ma.p4.4);
      ObjectSet("lo.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p4",OBJPROP_RAY,false);
      ObjectSet("lo.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p4",DoubleToStr(lo.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.4, t2.p4, hi.ma.p4.4);
      ObjectSet("hi.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p4",OBJPROP_RAY,false);
      ObjectSet("hi.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p4",DoubleToStr(hi.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p4, lo.5.p4)
   if(lo.ma.p4.5-hi.ma.p4.5>Ask-Bid)   {
      ObjectCreate("lo.5.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.5, t2.p4, lo.ma.p4.5);
      ObjectSet("lo.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p4",OBJPROP_RAY,false);
      ObjectSet("lo.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p4",DoubleToStr(lo.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.5, t2.p4, hi.ma.p4.5);
      ObjectSet("hi.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p4",OBJPROP_RAY,false);
      ObjectSet("hi.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p4",DoubleToStr(hi.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p4, lo.6.p4)
   if(lo.ma.p4.6-hi.ma.p4.6>Ask-Bid)   {
      ObjectCreate("lo.6.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.6, t2.p4, lo.ma.p4.6);
      ObjectSet("lo.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p4",OBJPROP_RAY,false);
      ObjectSet("lo.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p4",DoubleToStr(lo.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.6, t2.p4, hi.ma.p4.6);
      ObjectSet("hi.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p4",OBJPROP_RAY,false);
      ObjectSet("hi.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p4",DoubleToStr(hi.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p4",OBJ_TEXT,0,t1.p4,ma1.p4);//13 ma
      ObjectSetText("ma1.p4",space+DoubleToStr(ma1.p4,Digits),8,"Arial",White);

      ObjectCreate("ma2.p4",OBJ_TEXT,0,t1.p4,ma2.p4);//21 ma
      ObjectSetText("ma2.p4",space+DoubleToStr(ma2.p4,Digits),8,"Arial",White);

      ObjectCreate("ma3.p4",OBJ_TEXT,0,t1.p4,ma3.p4);//34 ma
      if(Bid>ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p4 && Ask>=ma3.p4)  {
         ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p4",OBJ_TEXT,0,t1.p4,ma4.p4);//55 ma
      if(Bid>ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p4 && Ask>=ma4.p4)  {
         ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p4",OBJ_TEXT,0,t1.p4,ma5.p4);//89 ma
      if(Bid>ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Green);}
      if(Ask<ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p4 && Ask>=ma5.p4)  {
         ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma6.p4,Digits));//144 ma
      if(Bid>ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Green);}
      if(Ask<ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p4 && Ask>=ma6.p4)  {
         ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma7.p4,Digits));//233 ma
      if(Bid>ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Green);}
      if(Ask<ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p4 && Ask>=ma7.p4)  {
         ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Yellow);}
}//end p4.Fib.Plot()
void column()  {
//..................Time Frame Columns.................................................
//Addition - uses Psar of that timeframe to colour the lanes
//Dull red-green psars are not with you
//brighter red-green psar in your favour

// because Psar appears with the new bar I thing i can use Bar 0
// for faster notification.

      string column.down, column.up;
      column.down=Bid+" "; column.up=Ask+" ";
         //1st Column
         if(iSAR(NULL,p1.ma,0.02,0.2,0)<Ask)// no equals for 1 min its sensitive
         {
         ObjectCreate(column.up+p1.ma,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
         ObjectSet(column.up+p1.ma,OBJPROP_COLOR,LimeGreen);
         }
         else
               {
               ObjectCreate(column.up+p1.ma,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
               ObjectSet(column.up+p1.ma,OBJPROP_COLOR,Green);
               }

         if(iSAR(NULL,p1.ma,0.02,0.2,0)>Bid)// no equals for 1 min its sensitive
         {
         ObjectCreate(column.down+p1.ma,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
         ObjectSet(column.down+p1.ma,OBJPROP_COLOR,Red);
         }
         else
             {
             ObjectCreate(column.down+p1.ma,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
             ObjectSet(column.down+p1.ma,OBJPROP_COLOR,IndianRed);
             }
         //2nd Column
         if(iSAR(NULL,p2.ma,0.02,0.2,0)<=Ask)
         {
         ObjectCreate(column.up+p2.ma,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
         ObjectSet(column.up+p2.ma,OBJPROP_COLOR,LimeGreen);
         }
               else
               {
               ObjectCreate(column.up+p2.ma,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
               ObjectSet(column.up+p2.ma,OBJPROP_COLOR,Green);
               }
         if(iSAR(NULL,p2.ma,0.02,0.2,0)>=Bid)
         {
         ObjectCreate(column.down+p2.ma,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
         ObjectSet(column.down+p2.ma,OBJPROP_COLOR,Red);
         }
               else
               {
               ObjectCreate(column.down+p2.ma,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
               ObjectSet(column.down+p2.ma,OBJPROP_COLOR,IndianRed);
               }
         //3rd Column
         if(iSAR(NULL,p3.ma,0.02,0.2,0)<=Ask)
         {
         ObjectCreate(column.up+p3.ma,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
         ObjectSet(column.up+p3.ma,OBJPROP_COLOR,LimeGreen);
         }
               else
               {
               ObjectCreate(column.up+p3.ma,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
               ObjectSet(column.up+p3.ma,OBJPROP_COLOR,Green);
               }
         if(iSAR(NULL,p3.ma,0.02,0.2,0)>=Bid)
         {
          ObjectCreate(column.down+p3.ma,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
          ObjectSet(column.down+p3.ma,OBJPROP_COLOR,Red);
         }
               else
               {
               ObjectCreate(column.down+p3.ma,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
               ObjectSet(column.down+p3.ma,OBJPROP_COLOR,IndianRed);
               }
         //4th column

         if(iSAR(NULL,p4.ma,0.02,0.2,0)<=Ask)
         {
         ObjectCreate(column.up+p4.ma,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
         ObjectSet(column.up+p4.ma,OBJPROP_COLOR,LimeGreen);
         }
               else
               {
               ObjectCreate(column.up+p4.ma,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
               ObjectSet(column.up+p4.ma,OBJPROP_COLOR,Green);
               }
        if(iSAR(NULL,p4.ma,0.02,0.2,0)>=Bid)
         {
         ObjectCreate(column.down+p4.ma,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
         ObjectSet(column.down+p4.ma,OBJPROP_COLOR,Red);
         }
               else
               {
               ObjectCreate(column.down+p4.ma,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
               ObjectSet(column.down+p4.ma,OBJPROP_COLOR,IndianRed);
               }

         }//end Columns

//---- done

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Period_MA1.mq4

//+——————————————————————+
//| 4 Period MA.mq4 |
//| Copyright © 2006, tageiger aka fxid10t@yahoo.com |
//| http://www.metatrader.org |
//+——————————————————————+
#property copyright “Copyright © 2006, tageiger aka fxid10t@yahoo.com”
#property link “mailto:fxid10t@yahoo.com”
#property indicator_chart_window

extern int p1.ma=1;//Period() in minutes
extern int p2.ma=5;//Period() in minutes
extern int p3.ma=15;//Period() in minutes
extern int p4.ma=60;//Period() in minutes

extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:

Constant Value Description
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant Value Description
MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average. */

extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;

extern int fib.SR.shadow.1=8;
extern int fib.SR.shadow.2=13;
extern int fib.SR.shadow.3=21;
extern int fib.SR.shadow.4=34;
extern int fib.SR.shadow.5=55;
extern int fib.SR.shadow.6=89;
extern int fib.SR.shadow.7=144;

extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;

double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;

datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;

int init() { return(0); }
int deinit() {
ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);
return(0); }
int start() {
ObjectsDeleteAll();

ObjectCreate(”regression channel”,OBJ_REGRESSION,0,Time[144],Bid,Time[0],Ask);
ObjectSet(”regression channel”,OBJPROP_RAY,true);
ObjectCreate(”std channel”,OBJ_STDDEVCHANNEL,0,Time[144],Bid,Time[0],Ask);
ObjectSet(”std channel”,OBJPROP_DEVIATION,0.809);
ObjectSet(”std channel”,OBJPROP_COLOR,Olive);
//p1 ma settings
ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//————–
//p2 ma settings
ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//————–
//p3 ma settings
ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//————–
//p4 ma settings
ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//————–
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//————–

return(0);}
//+——————————————————————+
void Time.Coordinate.Set() {
//….Variable Settings for Object Spatial Placement…..
double zoom.multiplier;int bpw=BarsPerWindow();
if(bpw<25) {zoom.multiplier=0.05;}
if(bpw>25 && bpw<50) {zoom.multiplier=0.07;}
if(bpw>50 && bpw<175) {zoom.multiplier=0.12;}
if(bpw>175 && bpw<375) {zoom.multiplier=0.25;}
if(bpw>375 && bpw<750) {zoom.multiplier=0.5;}
if(bpw>750) {zoom.multiplier=1;}
double time.frame.multiplier;
if(Period()==1) {time.frame.multiplier=0.65;}
if(Period()==5) {time.frame.multiplier=3.25;}
if(Period()==15) {time.frame.multiplier=9.75;}
if(Period()==30) {time.frame.multiplier=19.5;}
if(Period()==60) {time.frame.multiplier=39;}
if(Period()==240) {time.frame.multiplier=156;}
if(Period()==1440) {time.frame.multiplier=936;}
if(Period()==10080) {time.frame.multiplier=6552;}
if(Period()==43200) {time.frame.multiplier=28043;}

t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);

t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);

t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);

t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()

void p1.Fib.Plot() {
//p1 dynamic fibo levels
double lo.ma.p1,hi.ma.p1;
lo.ma.p1=ma1.p1;
if(ma2.p1 if(ma3.p1%%9%%hi.ma.p1) {hi.ma.p1=ma2.p1;}
if(ma1.p1>hi.ma.p1) {hi.ma.p1=ma1.p1;}
hi.ma.p1=NormalizeDouble(hi.ma.p1-(fib.SR.shadow.1*Point),Digits);

//p1 center dynamic fib placement
if(lo.ma.p1-hi.ma.p1>Ask-Bid) {
ObjectCreate(”lcf.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1, t2.p1, lo.ma.p1);
ObjectSet(”lcf.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lcf.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lcf.p1″,OBJPROP_RAY,false);
ObjectSet(”lcf.p1″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”lcf.p1″,DoubleToStr(lo.ma.p1,Digits),7,”Arial”,fib.SR.shadow.1.c);

ObjectCreate(”hcf.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1, t2.p1, hi.ma.p1);
ObjectSet(”hcf.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hcf.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hcf.p1″,OBJPROP_RAY,false);
ObjectSet(”hcf.p1″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”hcf.p1″,DoubleToStr(hi.ma.p1,Digits),7,”Arial”,fib.SR.shadow.1.c); }

double lo.ma.p1.1, lo.ma.p1.2, lo.ma.p1.3, lo.ma.p1.4, lo.ma.p1.5, lo.ma.p1.6;
lo.ma.p1.1=lo.ma.p1+(fib.SR.shadow.2*Point);
lo.ma.p1.2=lo.ma.p1.1+(fib.SR.shadow.3*Point);
lo.ma.p1.3=lo.ma.p1.2+(fib.SR.shadow.4*Point);
lo.ma.p1.4=lo.ma.p1.3+(fib.SR.shadow.5*Point);
lo.ma.p1.5=lo.ma.p1.4+(fib.SR.shadow.6*Point);
lo.ma.p1.6=lo.ma.p1.5+(fib.SR.shadow.7*Point);

double hi.ma.p1.1, hi.ma.p1.2, hi.ma.p1.3, hi.ma.p1.4, hi.ma.p1.5, hi.ma.p1.6;
hi.ma.p1.1=hi.ma.p1-(fib.SR.shadow.2*Point);
hi.ma.p1.2=hi.ma.p1.1-(fib.SR.shadow.3*Point);
hi.ma.p1.3=hi.ma.p1.2-(fib.SR.shadow.4*Point);
hi.ma.p1.4=hi.ma.p1.3-(fib.SR.shadow.5*Point);
hi.ma.p1.5=hi.ma.p1.4-(fib.SR.shadow.6*Point);
hi.ma.p1.6=hi.ma.p1.5-(fib.SR.shadow.7*Point);

//p1 1st level (hi.1.p1, lo.1.p1)
if(lo.ma.p1.1-hi.ma.p1.1>Ask-Bid) {
ObjectCreate(”lo.1.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.1, t2.p1, lo.ma.p1.1);
ObjectSet(”lo.1.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.1.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.1.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.1.p1″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”lo.1.p1″,DoubleToStr(lo.ma.p1.1,Digits),7,”Arial”,fib.SR.shadow.2.c);

ObjectCreate(”hi.1.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.1, t2.p1, hi.ma.p1.1);
ObjectSet(”hi.1.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.1.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.1.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.1.p1″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”hi.1.p1″,DoubleToStr(hi.ma.p1.1,Digits),7,”Arial”,fib.SR.shadow.2.c); }

// 2st level (hi.2.p1, lo.2.p1)
if(lo.ma.p1.2-hi.ma.p1.2>Ask-Bid) {
ObjectCreate(”lo.2.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.2, t2.p1, lo.ma.p1.2);
ObjectSet(”lo.2.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.2.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.2.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.2.p1″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”lo.2.p1″,DoubleToStr(lo.ma.p1.2,Digits),7,”Arial”,fib.SR.shadow.3.c);

ObjectCreate(”hi.2.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.2, t2.p1, hi.ma.p1.2);
ObjectSet(”hi.2.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.2.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.2.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.2.p1″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”hi.2.p1″,DoubleToStr(hi.ma.p1.2,Digits),7,”Arial”,fib.SR.shadow.3.c); }

// 3rd level (hi.3.p1, lo.3.p1)
if(lo.ma.p1.3-hi.ma.p1.3>Ask-Bid) {
ObjectCreate(”lo.3.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.3, t2.p1, lo.ma.p1.3);
ObjectSet(”lo.3.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.3.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.3.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.3.p1″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”lo.3.p1″,DoubleToStr(lo.ma.p1.3,Digits),7,”Arial”,fib.SR.shadow.4.c);

ObjectCreate(”hi.3.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.3, t2.p1, hi.ma.p1.3);
ObjectSet(”hi.3.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.3.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.3.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.3.p1″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”hi.3.p1″,DoubleToStr(hi.ma.p1.3,Digits),7,”Arial”,fib.SR.shadow.4.c); }

// 4th level (hi.4.p1, lo.4.p1)
if(lo.ma.p1.4-hi.ma.p1.4>Ask-Bid) {
ObjectCreate(”lo.4.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.4, t2.p1, lo.ma.p1.4);
ObjectSet(”lo.4.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.4.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.4.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.4.p1″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”lo.4.p1″,DoubleToStr(lo.ma.p1.4,Digits),7,”Arial”,fib.SR.shadow.5.c);

ObjectCreate(”hi.4.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.4, t2.p1, hi.ma.p1.4);
ObjectSet(”hi.4.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.4.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.4.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.4.p1″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”hi.4.p1″,DoubleToStr(hi.ma.p1.4,Digits),7,”Arial”,fib.SR.shadow.5.c); }

// 5th level (hi.5.p1, lo.5.p1)
if(lo.ma.p1.5-hi.ma.p1.5>Ask-Bid) {
ObjectCreate(”lo.5.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.5, t2.p1, lo.ma.p1.5);
ObjectSet(”lo.5.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.5.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.5.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.5.p1″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”lo.5.p1″,DoubleToStr(lo.ma.p1.5,Digits),7,”Arial”,fib.SR.shadow.6.c);

ObjectCreate(”hi.5.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.5, t2.p1, hi.ma.p1.5);
ObjectSet(”hi.5.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.5.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.5.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.5.p1″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”hi.5.p1″,DoubleToStr(hi.ma.p1.5,Digits),7,”Arial”,fib.SR.shadow.6.c); }

// 6th level (hi.6.p1, lo.6.p1)
if(lo.ma.p1.6-hi.ma.p1.6>Ask-Bid) {
ObjectCreate(”lo.6.p1″,OBJ_TREND,0,t1.p1, lo.ma.p1.6, t2.p1, lo.ma.p1.6);
ObjectSet(”lo.6.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.6.p1″,OBJPROP_WIDTH,2);
ObjectSet(”lo.6.p1″,OBJPROP_RAY,false);
ObjectSet(”lo.6.p1″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”lo.6.p1″,DoubleToStr(lo.ma.p1.6,Digits),7,”Arial”,fib.SR.shadow.7.c);

ObjectCreate(”hi.6.p1″,OBJ_TREND,0,t1.p1, hi.ma.p1.6, t2.p1, hi.ma.p1.6);
ObjectSet(”hi.6.p1″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.6.p1″,OBJPROP_WIDTH,2);
ObjectSet(”hi.6.p1″,OBJPROP_RAY,false);
ObjectSet(”hi.6.p1″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”hi.6.p1″,DoubleToStr(hi.ma.p1.6,Digits),7,”Arial”,fib.SR.shadow.7.c); }
//……………Moving Average Support & Resistance Levels…………………………
string space=” “;
ObjectCreate(”ma1.p1″,OBJ_TEXT,0,t1.p1,ma1.p1);//13 ma
ObjectSetText(”ma1.p1″,space+DoubleToStr(ma1.p1,Digits),8,”Arial”,White);

ObjectCreate(”ma2.p1″,OBJ_TEXT,0,t1.p1,ma2.p1);//21 ma
ObjectSetText(”ma2.p1″,space+DoubleToStr(ma2.p1,Digits),8,”Arial”,White);

ObjectCreate(”ma3.p1″,OBJ_TEXT,0,t1.p1,ma3.p1);//34 ma
if(Bid>ma3.p1) {ObjectSetText(”ma3.p1″,space+DoubleToStr(ma3.p1,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma3.p1 && Ask>=ma3.p1) {
ObjectSetText(”ma3.p1″,space+DoubleToStr(ma3.p1,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma4.p1″,OBJ_TEXT,0,t1.p1,ma4.p1);//55 ma
if(Bid>ma4.p1) {ObjectSetText(”ma4.p1″,space+DoubleToStr(ma4.p1,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma4.p1 && Ask>=ma4.p1) {
ObjectSetText(”ma4.p1″,space+DoubleToStr(ma4.p1,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma5.p1″,OBJ_TEXT,0,t1.p1,ma5.p1);//89 ma
if(Bid>ma5.p1) {ObjectSetText(”ma5.p1″,space+DoubleToStr(ma5.p1,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma5.p1 && Ask>=ma5.p1) {
ObjectSetText(”ma5.p1″,space+DoubleToStr(ma5.p1,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma6.p1″,OBJ_TEXT,0,t1.p1,NormalizeDouble(ma6.p1,Digits));//144 ma
if(Bid>ma6.p1) {ObjectSetText(”ma6.p1″,space+DoubleToStr(ma6.p1,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma6.p1 && Ask>=ma6.p1) {
ObjectSetText(”ma6.p1″,space+DoubleToStr(ma6.p1,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma7.p1″,OBJ_TEXT,0,t1.p1,NormalizeDouble(ma7.p1,Digits));//233 ma
if(Bid>ma7.p1) {ObjectSetText(”ma7.p1″,space+DoubleToStr(ma7.p1,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma7.p1 && Ask>=ma7.p1) {
ObjectSetText(”ma7.p1″,space+DoubleToStr(ma7.p1,Digits),8,”Arial”,Yellow);}
}//end p1.Fib.Plot()

void p2.Fib.Plot() {
//p2 dynamic fibo levels
double lo.ma.p2,hi.ma.p2;
lo.ma.p2=ma1.p2;
if(ma2.p2 if(ma3.p2%%15%%hi.ma.p2) {hi.ma.p2=ma2.p2;}
if(ma1.p2>hi.ma.p2) {hi.ma.p2=ma1.p2;}
hi.ma.p2=NormalizeDouble(hi.ma.p2-(fib.SR.shadow.1*Point),Digits);

//p2 center dynamic fib placement
if(lo.ma.p2-hi.ma.p2>Ask-Bid) {
ObjectCreate(”lcf.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2, t2.p2, lo.ma.p2);
ObjectSet(”lcf.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lcf.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lcf.p2″,OBJPROP_RAY,false);
ObjectSet(”lcf.p2″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”lcf.p2″,DoubleToStr(lo.ma.p2,Digits),7,”Arial”,fib.SR.shadow.1.c);

ObjectCreate(”hcf.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2, t2.p2, hi.ma.p2);
ObjectSet(”hcf.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hcf.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hcf.p2″,OBJPROP_RAY,false);
ObjectSet(”hcf.p2″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”hcf.p2″,DoubleToStr(hi.ma.p2,Digits),7,”Arial”,fib.SR.shadow.1.c); }

double lo.ma.p2.1, lo.ma.p2.2, lo.ma.p2.3, lo.ma.p2.4, lo.ma.p2.5, lo.ma.p2.6;
lo.ma.p2.1=lo.ma.p2+(fib.SR.shadow.2*Point);
lo.ma.p2.2=lo.ma.p2.1+(fib.SR.shadow.3*Point);
lo.ma.p2.3=lo.ma.p2.2+(fib.SR.shadow.4*Point);
lo.ma.p2.4=lo.ma.p2.3+(fib.SR.shadow.5*Point);
lo.ma.p2.5=lo.ma.p2.4+(fib.SR.shadow.6*Point);
lo.ma.p2.6=lo.ma.p2.5+(fib.SR.shadow.7*Point);

double hi.ma.p2.1, hi.ma.p2.2, hi.ma.p2.3, hi.ma.p2.4, hi.ma.p2.5, hi.ma.p2.6;
hi.ma.p2.1=hi.ma.p2-(fib.SR.shadow.2*Point);
hi.ma.p2.2=hi.ma.p2.1-(fib.SR.shadow.3*Point);
hi.ma.p2.3=hi.ma.p2.2-(fib.SR.shadow.4*Point);
hi.ma.p2.4=hi.ma.p2.3-(fib.SR.shadow.5*Point);
hi.ma.p2.5=hi.ma.p2.4-(fib.SR.shadow.6*Point);
hi.ma.p2.6=hi.ma.p2.5-(fib.SR.shadow.7*Point);

//p2 1st level (hi.1.p2, lo.1.p2)
if(lo.ma.p2.1-hi.ma.p2.1>Ask-Bid) {
ObjectCreate(”lo.1.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.1, t2.p2, lo.ma.p2.1);
ObjectSet(”lo.1.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.1.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.1.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.1.p2″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”lo.1.p2″,DoubleToStr(lo.ma.p2.1,Digits),7,”Arial”,fib.SR.shadow.2.c);

ObjectCreate(”hi.1.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.1, t2.p2, hi.ma.p2.1);
ObjectSet(”hi.1.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.1.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.1.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.1.p2″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”hi.1.p2″,DoubleToStr(hi.ma.p2.1,Digits),7,”Arial”,fib.SR.shadow.2.c); }

// 2st level (hi.2.p2, lo.2.p2)
if(lo.ma.p2.2-hi.ma.p2.2>Ask-Bid) {
ObjectCreate(”lo.2.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.2, t2.p2, lo.ma.p2.2);
ObjectSet(”lo.2.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.2.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.2.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.2.p2″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”lo.2.p2″,DoubleToStr(lo.ma.p2.2,Digits),7,”Arial”,fib.SR.shadow.3.c);

ObjectCreate(”hi.2.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.2, t2.p2, hi.ma.p2.2);
ObjectSet(”hi.2.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.2.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.2.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.2.p2″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”hi.2.p2″,DoubleToStr(hi.ma.p2.2,Digits),7,”Arial”,fib.SR.shadow.3.c); }

// 3rd level (hi.3.p2, lo.3.p2)
if(lo.ma.p2.3-hi.ma.p2.3>Ask-Bid) {
ObjectCreate(”lo.3.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.3, t2.p2, lo.ma.p2.3);
ObjectSet(”lo.3.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.3.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.3.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.3.p2″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”lo.3.p2″,DoubleToStr(lo.ma.p2.3,Digits),7,”Arial”,fib.SR.shadow.4.c);

ObjectCreate(”hi.3.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.3, t2.p2, hi.ma.p2.3);
ObjectSet(”hi.3.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.3.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.3.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.3.p2″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”hi.3.p2″,DoubleToStr(hi.ma.p2.3,Digits),7,”Arial”,fib.SR.shadow.4.c); }

// 4th level (hi.4.p2, lo.4.p2)
if(lo.ma.p2.4-hi.ma.p2.4>Ask-Bid) {
ObjectCreate(”lo.4.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.4, t2.p2, lo.ma.p2.4);
ObjectSet(”lo.4.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.4.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.4.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.4.p2″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”lo.4.p2″,DoubleToStr(lo.ma.p2.4,Digits),7,”Arial”,fib.SR.shadow.5.c);

ObjectCreate(”hi.4.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.4, t2.p2, hi.ma.p2.4);
ObjectSet(”hi.4.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.4.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.4.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.4.p2″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”hi.4.p2″,DoubleToStr(hi.ma.p2.4,Digits),7,”Arial”,fib.SR.shadow.5.c); }

// 5th level (hi.5.p2, lo.5.p2)
if(lo.ma.p2.5-hi.ma.p2.5>Ask-Bid) {
ObjectCreate(”lo.5.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.5, t2.p2, lo.ma.p2.5);
ObjectSet(”lo.5.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.5.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.5.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.5.p2″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”lo.5.p2″,DoubleToStr(lo.ma.p2.5,Digits),7,”Arial”,fib.SR.shadow.6.c);

ObjectCreate(”hi.5.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.5, t2.p2, hi.ma.p2.5);
ObjectSet(”hi.5.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.5.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.5.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.5.p2″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”hi.5.p2″,DoubleToStr(hi.ma.p2.5,Digits),7,”Arial”,fib.SR.shadow.6.c); }

// 6th level (hi.6.p2, lo.6.p2)
if(lo.ma.p2.6-hi.ma.p2.6>Ask-Bid) {
ObjectCreate(”lo.6.p2″,OBJ_TREND,0,t1.p2, lo.ma.p2.6, t2.p2, lo.ma.p2.6);
ObjectSet(”lo.6.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.6.p2″,OBJPROP_WIDTH,2);
ObjectSet(”lo.6.p2″,OBJPROP_RAY,false);
ObjectSet(”lo.6.p2″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”lo.6.p2″,DoubleToStr(lo.ma.p2.6,Digits),7,”Arial”,fib.SR.shadow.7.c);

ObjectCreate(”hi.6.p2″,OBJ_TREND,0,t1.p2, hi.ma.p2.6, t2.p2, hi.ma.p2.6);
ObjectSet(”hi.6.p2″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.6.p2″,OBJPROP_WIDTH,2);
ObjectSet(”hi.6.p2″,OBJPROP_RAY,false);
ObjectSet(”hi.6.p2″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”hi.6.p2″,DoubleToStr(hi.ma.p2.6,Digits),7,”Arial”,fib.SR.shadow.7.c); }
//……………Moving Average Support & Resistance Levels…………………………
string space=” “;
ObjectCreate(”ma1.p2″,OBJ_TEXT,0,t1.p2,ma1.p2);//13 ma
ObjectSetText(”ma1.p2″,space+DoubleToStr(ma1.p2,Digits),8,”Arial”,White);

ObjectCreate(”ma2.p2″,OBJ_TEXT,0,t1.p2,ma2.p2);//21 ma
ObjectSetText(”ma2.p2″,space+DoubleToStr(ma2.p2,Digits),8,”Arial”,White);

ObjectCreate(”ma3.p2″,OBJ_TEXT,0,t1.p2,ma3.p2);//34 ma
if(Bid>ma3.p2) {ObjectSetText(”ma3.p2″,space+DoubleToStr(ma3.p2,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma3.p2 && Ask>=ma3.p2) {
ObjectSetText(”ma3.p2″,space+DoubleToStr(ma3.p2,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma4.p2″,OBJ_TEXT,0,t1.p2,ma4.p2);//55 ma
if(Bid>ma4.p2) {ObjectSetText(”ma4.p2″,space+DoubleToStr(ma4.p2,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma4.p2 && Ask>=ma4.p2) {
ObjectSetText(”ma4.p2″,space+DoubleToStr(ma4.p2,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma5.p2″,OBJ_TEXT,0,t1.p2,ma5.p2);//89 ma
if(Bid>ma5.p2) {ObjectSetText(”ma5.p2″,space+DoubleToStr(ma5.p2,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma5.p2 && Ask>=ma5.p2) {
ObjectSetText(”ma5.p2″,space+DoubleToStr(ma5.p2,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma6.p2″,OBJ_TEXT,0,t1.p2,NormalizeDouble(ma6.p2,Digits));//144 ma
if(Bid>ma6.p2) {ObjectSetText(”ma6.p2″,space+DoubleToStr(ma6.p2,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma6.p2 && Ask>=ma6.p2) {
ObjectSetText(”ma6.p2″,space+DoubleToStr(ma6.p2,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma7.p2″,OBJ_TEXT,0,t1.p2,NormalizeDouble(ma7.p2,Digits));//233 ma
if(Bid>ma7.p2) {ObjectSetText(”ma7.p2″,space+DoubleToStr(ma7.p2,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma7.p2 && Ask>=ma7.p2) {
ObjectSetText(”ma7.p2″,space+DoubleToStr(ma7.p2,Digits),8,”Arial”,Yellow);}
}//end p2.Fib.Plot()

void p3.Fib.Plot() {
//p3 dynamic fibo levels
double lo.ma.p3,hi.ma.p3;
lo.ma.p3=ma1.p3;
if(ma2.p3 if(ma3.p3%%21%%hi.ma.p3) {hi.ma.p3=ma2.p3;}
if(ma1.p3>hi.ma.p3) {hi.ma.p3=ma1.p3;}
hi.ma.p3=NormalizeDouble(hi.ma.p3-(fib.SR.shadow.1*Point),Digits);

//p3 center dynamic fib placement
if(lo.ma.p3-hi.ma.p3>Ask-Bid) {
ObjectCreate(”lcf.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3, t2.p3, lo.ma.p3);
ObjectSet(”lcf.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lcf.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lcf.p3″,OBJPROP_RAY,false);
ObjectSet(”lcf.p3″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”lcf.p3″,DoubleToStr(lo.ma.p3,Digits),7,”Arial”,fib.SR.shadow.1.c);

ObjectCreate(”hcf.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3, t2.p3, hi.ma.p3);
ObjectSet(”hcf.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hcf.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hcf.p3″,OBJPROP_RAY,false);
ObjectSet(”hcf.p3″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”hcf.p3″,DoubleToStr(hi.ma.p3,Digits),7,”Arial”,fib.SR.shadow.1.c); }

double lo.ma.p3.1, lo.ma.p3.2, lo.ma.p3.3, lo.ma.p3.4, lo.ma.p3.5, lo.ma.p3.6;
lo.ma.p3.1=lo.ma.p3+(fib.SR.shadow.2*Point);
lo.ma.p3.2=lo.ma.p3.1+(fib.SR.shadow.3*Point);
lo.ma.p3.3=lo.ma.p3.2+(fib.SR.shadow.4*Point);
lo.ma.p3.4=lo.ma.p3.3+(fib.SR.shadow.5*Point);
lo.ma.p3.5=lo.ma.p3.4+(fib.SR.shadow.6*Point);
lo.ma.p3.6=lo.ma.p3.5+(fib.SR.shadow.7*Point);

double hi.ma.p3.1, hi.ma.p3.2, hi.ma.p3.3, hi.ma.p3.4, hi.ma.p3.5, hi.ma.p3.6;
hi.ma.p3.1=hi.ma.p3-(fib.SR.shadow.2*Point);
hi.ma.p3.2=hi.ma.p3.1-(fib.SR.shadow.3*Point);
hi.ma.p3.3=hi.ma.p3.2-(fib.SR.shadow.4*Point);
hi.ma.p3.4=hi.ma.p3.3-(fib.SR.shadow.5*Point);
hi.ma.p3.5=hi.ma.p3.4-(fib.SR.shadow.6*Point);
hi.ma.p3.6=hi.ma.p3.5-(fib.SR.shadow.7*Point);

//p3 1st level (hi.1.p3, lo.1.p3)
if(lo.ma.p3.1-hi.ma.p3.1>Ask-Bid) {
ObjectCreate(”lo.1.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.1, t2.p3, lo.ma.p3.1);
ObjectSet(”lo.1.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.1.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.1.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.1.p3″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”lo.1.p3″,DoubleToStr(lo.ma.p3.1,Digits),7,”Arial”,fib.SR.shadow.2.c);

ObjectCreate(”hi.1.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.1, t2.p3, hi.ma.p3.1);
ObjectSet(”hi.1.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.1.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.1.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.1.p3″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”hi.1.p3″,DoubleToStr(hi.ma.p3.1,Digits),7,”Arial”,fib.SR.shadow.2.c); }

// 2st level (hi.2.p3, lo.2.p3)
if(lo.ma.p3.2-hi.ma.p3.2>Ask-Bid) {
ObjectCreate(”lo.2.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.2, t2.p3, lo.ma.p3.2);
ObjectSet(”lo.2.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.2.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.2.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.2.p3″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”lo.2.p3″,DoubleToStr(lo.ma.p3.2,Digits),7,”Arial”,fib.SR.shadow.3.c);

ObjectCreate(”hi.2.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.2, t2.p3, hi.ma.p3.2);
ObjectSet(”hi.2.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.2.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.2.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.2.p3″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”hi.2.p3″,DoubleToStr(hi.ma.p3.2,Digits),7,”Arial”,fib.SR.shadow.3.c); }

// 3rd level (hi.3.p3, lo.3.p3)
if(lo.ma.p3.3-hi.ma.p3.3>Ask-Bid) {
ObjectCreate(”lo.3.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.3, t2.p3, lo.ma.p3.3);
ObjectSet(”lo.3.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.3.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.3.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.3.p3″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”lo.3.p3″,DoubleToStr(lo.ma.p3.3,Digits),7,”Arial”,fib.SR.shadow.4.c);

ObjectCreate(”hi.3.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.3, t2.p3, hi.ma.p3.3);
ObjectSet(”hi.3.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.3.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.3.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.3.p3″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”hi.3.p3″,DoubleToStr(hi.ma.p3.3,Digits),7,”Arial”,fib.SR.shadow.4.c); }

// 4th level (hi.4.p3, lo.4.p3)
if(lo.ma.p3.4-hi.ma.p3.4>Ask-Bid) {
ObjectCreate(”lo.4.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.4, t2.p3, lo.ma.p3.4);
ObjectSet(”lo.4.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.4.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.4.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.4.p3″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”lo.4.p3″,DoubleToStr(lo.ma.p3.4,Digits),7,”Arial”,fib.SR.shadow.5.c);

ObjectCreate(”hi.4.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.4, t2.p3, hi.ma.p3.4);
ObjectSet(”hi.4.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.4.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.4.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.4.p3″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”hi.4.p3″,DoubleToStr(hi.ma.p3.4,Digits),7,”Arial”,fib.SR.shadow.5.c); }

// 5th level (hi.5.p3, lo.5.p3)
if(lo.ma.p3.5-hi.ma.p3.5>Ask-Bid) {
ObjectCreate(”lo.5.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.5, t2.p3, lo.ma.p3.5);
ObjectSet(”lo.5.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.5.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.5.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.5.p3″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”lo.5.p3″,DoubleToStr(lo.ma.p3.5,Digits),7,”Arial”,fib.SR.shadow.6.c);

ObjectCreate(”hi.5.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.5, t2.p3, hi.ma.p3.5);
ObjectSet(”hi.5.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.5.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.5.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.5.p3″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”hi.5.p3″,DoubleToStr(hi.ma.p3.5,Digits),7,”Arial”,fib.SR.shadow.6.c); }

// 6th level (hi.6.p3, lo.6.p3)
if(lo.ma.p3.6-hi.ma.p3.6>Ask-Bid) {
ObjectCreate(”lo.6.p3″,OBJ_TREND,0,t1.p3, lo.ma.p3.6, t2.p3, lo.ma.p3.6);
ObjectSet(”lo.6.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.6.p3″,OBJPROP_WIDTH,2);
ObjectSet(”lo.6.p3″,OBJPROP_RAY,false);
ObjectSet(”lo.6.p3″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”lo.6.p3″,DoubleToStr(lo.ma.p3.6,Digits),7,”Arial”,fib.SR.shadow.7.c);

ObjectCreate(”hi.6.p3″,OBJ_TREND,0,t1.p3, hi.ma.p3.6, t2.p3, hi.ma.p3.6);
ObjectSet(”hi.6.p3″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.6.p3″,OBJPROP_WIDTH,2);
ObjectSet(”hi.6.p3″,OBJPROP_RAY,false);
ObjectSet(”hi.6.p3″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”hi.6.p3″,DoubleToStr(hi.ma.p3.6,Digits),7,”Arial”,fib.SR.shadow.7.c); }
//……………Moving Average Support & Resistance Levels…………………………
string space=” “;
ObjectCreate(”ma1.p3″,OBJ_TEXT,0,t1.p3,ma1.p3);//13 ma
ObjectSetText(”ma1.p3″,space+DoubleToStr(ma1.p3,Digits),8,”Arial”,White);

ObjectCreate(”ma2.p3″,OBJ_TEXT,0,t1.p3,ma2.p3);//21 ma
ObjectSetText(”ma2.p3″,space+DoubleToStr(ma2.p3,Digits),8,”Arial”,White);

ObjectCreate(”ma3.p3″,OBJ_TEXT,0,t1.p3,ma3.p3);//34 ma
if(Bid>ma3.p3) {ObjectSetText(”ma3.p3″,space+DoubleToStr(ma3.p3,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma3.p3 && Ask>=ma3.p3) {
ObjectSetText(”ma3.p3″,space+DoubleToStr(ma3.p3,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma4.p3″,OBJ_TEXT,0,t1.p3,ma4.p3);//55 ma
if(Bid>ma4.p3) {ObjectSetText(”ma4.p3″,space+DoubleToStr(ma4.p3,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma4.p3 && Ask>=ma4.p3) {
ObjectSetText(”ma4.p3″,space+DoubleToStr(ma4.p3,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma5.p3″,OBJ_TEXT,0,t1.p3,ma5.p3);//89 ma
if(Bid>ma5.p3) {ObjectSetText(”ma5.p3″,space+DoubleToStr(ma5.p3,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma5.p3 && Ask>=ma5.p3) {
ObjectSetText(”ma5.p3″,space+DoubleToStr(ma5.p3,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma6.p3″,OBJ_TEXT,0,t1.p3,NormalizeDouble(ma6.p3,Digits));//144 ma
if(Bid>ma6.p3) {ObjectSetText(”ma6.p3″,space+DoubleToStr(ma6.p3,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma6.p3 && Ask>=ma6.p3) {
ObjectSetText(”ma6.p3″,space+DoubleToStr(ma6.p3,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma7.p3″,OBJ_TEXT,0,t1.p3,NormalizeDouble(ma7.p3,Digits));//233 ma
if(Bid>ma7.p3) {ObjectSetText(”ma7.p3″,space+DoubleToStr(ma7.p3,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma7.p3 && Ask>=ma7.p3) {
ObjectSetText(”ma7.p3″,space+DoubleToStr(ma7.p3,Digits),8,”Arial”,Yellow);}
}//end p3.Fib.Plot()

void p4.Fib.Plot() {
//p4 dynamic fibo levels
double lo.ma.p4,hi.ma.p4;
lo.ma.p4=ma1.p4;
if(ma2.p4 if(ma3.p4%%27%%hi.ma.p4) {hi.ma.p4=ma2.p4;}
if(ma1.p4>hi.ma.p4) {hi.ma.p4=ma1.p4;}
hi.ma.p4=NormalizeDouble(hi.ma.p4-(fib.SR.shadow.1*Point),Digits);

//p4 center dynamic fib placement
if(lo.ma.p4-hi.ma.p4>Ask-Bid) {
ObjectCreate(”lcf.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4, t2.p4, lo.ma.p4);
ObjectSet(”lcf.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lcf.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lcf.p4″,OBJPROP_RAY,false);
ObjectSet(”lcf.p4″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”lcf.p4″,DoubleToStr(lo.ma.p4,Digits),7,”Arial”,fib.SR.shadow.1.c);

ObjectCreate(”hcf.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4, t2.p4, hi.ma.p4);
ObjectSet(”hcf.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hcf.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hcf.p4″,OBJPROP_RAY,false);
ObjectSet(”hcf.p4″,OBJPROP_COLOR,fib.SR.shadow.1.c);
ObjectSetText(”hcf.p4″,DoubleToStr(hi.ma.p4,Digits),7,”Arial”,fib.SR.shadow.1.c); }

double lo.ma.p4.1, lo.ma.p4.2, lo.ma.p4.3, lo.ma.p4.4, lo.ma.p4.5, lo.ma.p4.6;
lo.ma.p4.1=lo.ma.p4+(fib.SR.shadow.2*Point);
lo.ma.p4.2=lo.ma.p4.1+(fib.SR.shadow.3*Point);
lo.ma.p4.3=lo.ma.p4.2+(fib.SR.shadow.4*Point);
lo.ma.p4.4=lo.ma.p4.3+(fib.SR.shadow.5*Point);
lo.ma.p4.5=lo.ma.p4.4+(fib.SR.shadow.6*Point);
lo.ma.p4.6=lo.ma.p4.5+(fib.SR.shadow.7*Point);

double hi.ma.p4.1, hi.ma.p4.2, hi.ma.p4.3, hi.ma.p4.4, hi.ma.p4.5, hi.ma.p4.6;
hi.ma.p4.1=hi.ma.p4-(fib.SR.shadow.2*Point);
hi.ma.p4.2=hi.ma.p4.1-(fib.SR.shadow.3*Point);
hi.ma.p4.3=hi.ma.p4.2-(fib.SR.shadow.4*Point);
hi.ma.p4.4=hi.ma.p4.3-(fib.SR.shadow.5*Point);
hi.ma.p4.5=hi.ma.p4.4-(fib.SR.shadow.6*Point);
hi.ma.p4.6=hi.ma.p4.5-(fib.SR.shadow.7*Point);

//p4 1st level (hi.1.p4, lo.1.p4)
if(lo.ma.p4.1-hi.ma.p4.1>Ask-Bid) {
ObjectCreate(”lo.1.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.1, t2.p4, lo.ma.p4.1);
ObjectSet(”lo.1.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.1.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.1.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.1.p4″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”lo.1.p4″,DoubleToStr(lo.ma.p4.1,Digits),7,”Arial”,fib.SR.shadow.2.c);

ObjectCreate(”hi.1.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.1, t2.p4, hi.ma.p4.1);
ObjectSet(”hi.1.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.1.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.1.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.1.p4″,OBJPROP_COLOR,fib.SR.shadow.2.c);
ObjectSetText(”hi.1.p4″,DoubleToStr(hi.ma.p4.1,Digits),7,”Arial”,fib.SR.shadow.2.c); }

// 2st level (hi.2.p4, lo.2.p4)
if(lo.ma.p4.2-hi.ma.p4.2>Ask-Bid) {
ObjectCreate(”lo.2.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.2, t2.p4, lo.ma.p4.2);
ObjectSet(”lo.2.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.2.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.2.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.2.p4″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”lo.2.p4″,DoubleToStr(lo.ma.p4.2,Digits),7,”Arial”,fib.SR.shadow.3.c);

ObjectCreate(”hi.2.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.2, t2.p4, hi.ma.p4.2);
ObjectSet(”hi.2.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.2.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.2.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.2.p4″,OBJPROP_COLOR,fib.SR.shadow.3.c);
ObjectSetText(”hi.2.p4″,DoubleToStr(hi.ma.p4.2,Digits),7,”Arial”,fib.SR.shadow.3.c); }

// 3rd level (hi.3.p4, lo.3.p4)
if(lo.ma.p4.3-hi.ma.p4.3>Ask-Bid) {
ObjectCreate(”lo.3.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.3, t2.p4, lo.ma.p4.3);
ObjectSet(”lo.3.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.3.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.3.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.3.p4″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”lo.3.p4″,DoubleToStr(lo.ma.p4.3,Digits),7,”Arial”,fib.SR.shadow.4.c);

ObjectCreate(”hi.3.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.3, t2.p4, hi.ma.p4.3);
ObjectSet(”hi.3.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.3.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.3.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.3.p4″,OBJPROP_COLOR,fib.SR.shadow.4.c);
ObjectSetText(”hi.3.p4″,DoubleToStr(hi.ma.p4.3,Digits),7,”Arial”,fib.SR.shadow.4.c); }

// 4th level (hi.4.p4, lo.4.p4)
if(lo.ma.p4.4-hi.ma.p4.4>Ask-Bid) {
ObjectCreate(”lo.4.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.4, t2.p4, lo.ma.p4.4);
ObjectSet(”lo.4.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.4.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.4.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.4.p4″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”lo.4.p4″,DoubleToStr(lo.ma.p4.4,Digits),7,”Arial”,fib.SR.shadow.5.c);

ObjectCreate(”hi.4.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.4, t2.p4, hi.ma.p4.4);
ObjectSet(”hi.4.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.4.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.4.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.4.p4″,OBJPROP_COLOR,fib.SR.shadow.5.c);
ObjectSetText(”hi.4.p4″,DoubleToStr(hi.ma.p4.4,Digits),7,”Arial”,fib.SR.shadow.5.c); }

// 5th level (hi.5.p4, lo.5.p4)
if(lo.ma.p4.5-hi.ma.p4.5>Ask-Bid) {
ObjectCreate(”lo.5.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.5, t2.p4, lo.ma.p4.5);
ObjectSet(”lo.5.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.5.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.5.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.5.p4″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”lo.5.p4″,DoubleToStr(lo.ma.p4.5,Digits),7,”Arial”,fib.SR.shadow.6.c);

ObjectCreate(”hi.5.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.5, t2.p4, hi.ma.p4.5);
ObjectSet(”hi.5.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.5.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.5.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.5.p4″,OBJPROP_COLOR,fib.SR.shadow.6.c);
ObjectSetText(”hi.5.p4″,DoubleToStr(hi.ma.p4.5,Digits),7,”Arial”,fib.SR.shadow.6.c); }

// 6th level (hi.6.p4, lo.6.p4)
if(lo.ma.p4.6-hi.ma.p4.6>Ask-Bid) {
ObjectCreate(”lo.6.p4″,OBJ_TREND,0,t1.p4, lo.ma.p4.6, t2.p4, lo.ma.p4.6);
ObjectSet(”lo.6.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”lo.6.p4″,OBJPROP_WIDTH,2);
ObjectSet(”lo.6.p4″,OBJPROP_RAY,false);
ObjectSet(”lo.6.p4″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”lo.6.p4″,DoubleToStr(lo.ma.p4.6,Digits),7,”Arial”,fib.SR.shadow.7.c);

ObjectCreate(”hi.6.p4″,OBJ_TREND,0,t1.p4, hi.ma.p4.6, t2.p4, hi.ma.p4.6);
ObjectSet(”hi.6.p4″,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(”hi.6.p4″,OBJPROP_WIDTH,2);
ObjectSet(”hi.6.p4″,OBJPROP_RAY,false);
ObjectSet(”hi.6.p4″,OBJPROP_COLOR,fib.SR.shadow.7.c);
ObjectSetText(”hi.6.p4″,DoubleToStr(hi.ma.p4.6,Digits),7,”Arial”,fib.SR.shadow.7.c); }
//……………Moving Average Support & Resistance Levels…………………………
string space=” “;
ObjectCreate(”ma1.p4″,OBJ_TEXT,0,t1.p4,ma1.p4);//13 ma
ObjectSetText(”ma1.p4″,space+DoubleToStr(ma1.p4,Digits),8,”Arial”,White);

ObjectCreate(”ma2.p4″,OBJ_TEXT,0,t1.p4,ma2.p4);//21 ma
ObjectSetText(”ma2.p4″,space+DoubleToStr(ma2.p4,Digits),8,”Arial”,White);

ObjectCreate(”ma3.p4″,OBJ_TEXT,0,t1.p4,ma3.p4);//34 ma
if(Bid>ma3.p4) {ObjectSetText(”ma3.p4″,space+DoubleToStr(ma3.p4,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma3.p4 && Ask>=ma3.p4) {
ObjectSetText(”ma3.p4″,space+DoubleToStr(ma3.p4,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma4.p4″,OBJ_TEXT,0,t1.p4,ma4.p4);//55 ma
if(Bid>ma4.p4) {ObjectSetText(”ma4.p4″,space+DoubleToStr(ma4.p4,Digits),8,”Arial”,LightGreen);}
if(Ask if(Bid<=ma4.p4 && Ask>=ma4.p4) {
ObjectSetText(”ma4.p4″,space+DoubleToStr(ma4.p4,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma5.p4″,OBJ_TEXT,0,t1.p4,ma5.p4);//89 ma
if(Bid>ma5.p4) {ObjectSetText(”ma5.p4″,space+DoubleToStr(ma5.p4,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma5.p4 && Ask>=ma5.p4) {
ObjectSetText(”ma5.p4″,space+DoubleToStr(ma5.p4,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma6.p4″,OBJ_TEXT,0,t1.p4,NormalizeDouble(ma6.p4,Digits));//144 ma
if(Bid>ma6.p4) {ObjectSetText(”ma6.p4″,space+DoubleToStr(ma6.p4,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma6.p4 && Ask>=ma6.p4) {
ObjectSetText(”ma6.p4″,space+DoubleToStr(ma6.p4,Digits),8,”Arial”,Yellow);}

ObjectCreate(”ma7.p4″,OBJ_TEXT,0,t1.p4,NormalizeDouble(ma7.p4,Digits));//233 ma
if(Bid>ma7.p4) {ObjectSetText(”ma7.p4″,space+DoubleToStr(ma7.p4,Digits),8,”Arial”,Green);}
if(Ask if(Bid<=ma7.p4 && Ask>=ma7.p4) {
ObjectSetText(”ma7.p4″,space+DoubleToStr(ma7.p4,Digits),8,”Arial”,Yellow);}
}//end p4.Fib.Plot()
void column() {
//………………Time Frame Columns………………………………………….
string down, up;down=+Bid; up=+Ask;

ObjectCreate(p1.ma+”m “+down,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
ObjectSet(p1.ma+”m “+down,OBJPROP_COLOR,Red);
ObjectCreate(p1.ma+”m “+up,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
ObjectSet(p1.ma+”m “+up,OBJPROP_COLOR,Green);

ObjectCreate(p2.ma+”m “+down,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
ObjectSet(p2.ma+”m “+down,OBJPROP_COLOR,Red);
ObjectCreate(p2.ma+”m “+up,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
ObjectSet(p2.ma+”m “+up,OBJPROP_COLOR,Green);

ObjectCreate(p3.ma+”m “+down,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
ObjectSet(p3.ma+”m “+down,OBJPROP_COLOR,Red);
ObjectCreate(p3.ma+”m “+up,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
ObjectSet(p3.ma+”m “+up,OBJPROP_COLOR,Green);

ObjectCreate(p4.ma+”m “+down,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
ObjectSet(p4.ma+”m “+down,OBJPROP_COLOR,Red);
ObjectCreate(p4.ma+”m “+up,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
ObjectSet(p4.ma+”m “+up,OBJPROP_COLOR,Green);}//end column();
//—- done

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4PeriodMA.mq4

//+------------------------------------------------------------------+
//|                                                   4 Period MA.mq4 |
//|                 Copyright © 2006, tageiger aka fxid10t@yahoo.com |
//|                                        http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger aka fxid10t@yahoo.com"
#property link      "mailto:fxid10t@yahoo.com"
#property indicator_chart_window

extern int p1.ma=1;//Period() in minutes
extern int p2.ma=5;//Period() in minutes
extern int p3.ma=15;//Period() in minutes
extern int p4.ma=60;//Period() in minutes

extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:

Constant       Value Description
PRICE_CLOSE    0     Close price.
PRICE_OPEN     1     Open price.
PRICE_HIGH     2     High price.
PRICE_LOW      3     Low price.
PRICE_MEDIAN   4     Median price, (high+low)/2.
PRICE_TYPICAL  5     Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6     Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant    Value Description
MODE_SMA    0     Simple moving average,
MODE_EMA    1     Exponential moving average,
MODE_SMMA   2     Smoothed moving average,
MODE_LWMA   3     Linear weighted moving average.   */

extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;

extern int fib.SR.shadow.1=8;
extern int fib.SR.shadow.2=13;
extern int fib.SR.shadow.3=21;
extern int fib.SR.shadow.4=34;
extern int fib.SR.shadow.5=55;
extern int fib.SR.shadow.6=89;
extern int fib.SR.shadow.7=144;

extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;

double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;

datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;

int init()  {  return(0);  }
int deinit()   {
   ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);
return(0);  }
int start() {
   ObjectsDeleteAll();
//p1 ma settings
   ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p2 ma settings
   ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p3 ma settings
   ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p4 ma settings
   ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//--------------

return(0);}
//+------------------------------------------------------------------+
void Time.Coordinate.Set()   {
//....Variable Settings for Object Spatial Placement.....
   double zoom.multiplier;int bpw=BarsPerWindow();
   if(bpw<25)              {zoom.multiplier=0.05;}
   if(bpw>25 && bpw<50)    {zoom.multiplier=0.07;}
   if(bpw>50 && bpw<175)   {zoom.multiplier=0.12;}
   if(bpw>175 && bpw<375)  {zoom.multiplier=0.25;}
   if(bpw>375 && bpw<750)  {zoom.multiplier=0.5;}
   if(bpw>750)             {zoom.multiplier=1;}
   double time.frame.multiplier;
   if(Period()==1)      {time.frame.multiplier=0.65;}
   if(Period()==5)      {time.frame.multiplier=3.25;}
   if(Period()==15)     {time.frame.multiplier=9.75;}
   if(Period()==30)     {time.frame.multiplier=19.5;}
   if(Period()==60)     {time.frame.multiplier=39;}
   if(Period()==240)    {time.frame.multiplier=156;}
   if(Period()==1440)   {time.frame.multiplier=936;}
   if(Period()==10080)  {time.frame.multiplier=6552;}
   if(Period()==43200)  {time.frame.multiplier=28043;}

   t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
   t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);

   t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
   t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);

   t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
   t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);

   t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
   t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()

void p1.Fib.Plot()   {
//p1 dynamic fibo levels
   double lo.ma.p1,hi.ma.p1;
   lo.ma.p1=ma1.p1;
   if(ma2.p1<lo.ma.p1)  {lo.ma.p1=ma2.p1;}
   if(ma3.p1<lo.ma.p1)  {lo.ma.p1=ma3.p1;}
   if(ma4.p1<lo.ma.p1)  {lo.ma.p1=ma4.p1;}
   if(ma5.p1<lo.ma.p1)  {lo.ma.p1=ma5.p1;}
   if(ma6.p1<lo.ma.p1)  {lo.ma.p1=ma6.p1;}
   if(ma7.p1<lo.ma.p1)  {lo.ma.p1=ma7.p1;}
   lo.ma.p1=NormalizeDouble(lo.ma.p1+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p1=ma7.p1;
   if(ma6.p1>hi.ma.p1)  {hi.ma.p1=ma6.p1;}
   if(ma5.p1>hi.ma.p1)  {hi.ma.p1=ma5.p1;}
   if(ma4.p1>hi.ma.p1)  {hi.ma.p1=ma4.p1;}
   if(ma3.p1>hi.ma.p1)  {hi.ma.p1=ma3.p1;}
   if(ma2.p1>hi.ma.p1)  {hi.ma.p1=ma2.p1;}
   if(ma1.p1>hi.ma.p1)  {hi.ma.p1=ma1.p1;}
   hi.ma.p1=NormalizeDouble(hi.ma.p1-(fib.SR.shadow.1*Point),Digits);

//p1 center dynamic fib placement
   if(lo.ma.p1-hi.ma.p1>Ask-Bid)   {
      ObjectCreate("lcf.p1",OBJ_TREND,0,t1.p1, lo.ma.p1, t2.p1, lo.ma.p1);
      ObjectSet("lcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p1",OBJPROP_RAY,false);
      ObjectSet("lcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p1",DoubleToStr(lo.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p1",OBJ_TREND,0,t1.p1, hi.ma.p1, t2.p1, hi.ma.p1);
      ObjectSet("hcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p1",OBJPROP_RAY,false);
      ObjectSet("hcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p1",DoubleToStr(hi.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p1.1, lo.ma.p1.2, lo.ma.p1.3, lo.ma.p1.4, lo.ma.p1.5, lo.ma.p1.6;
   lo.ma.p1.1=lo.ma.p1+(fib.SR.shadow.2*Point);
   lo.ma.p1.2=lo.ma.p1.1+(fib.SR.shadow.3*Point);
   lo.ma.p1.3=lo.ma.p1.2+(fib.SR.shadow.4*Point);
   lo.ma.p1.4=lo.ma.p1.3+(fib.SR.shadow.5*Point);
   lo.ma.p1.5=lo.ma.p1.4+(fib.SR.shadow.6*Point);
   lo.ma.p1.6=lo.ma.p1.5+(fib.SR.shadow.7*Point);

   double hi.ma.p1.1, hi.ma.p1.2, hi.ma.p1.3, hi.ma.p1.4, hi.ma.p1.5, hi.ma.p1.6;
   hi.ma.p1.1=hi.ma.p1-(fib.SR.shadow.2*Point);
   hi.ma.p1.2=hi.ma.p1.1-(fib.SR.shadow.3*Point);
   hi.ma.p1.3=hi.ma.p1.2-(fib.SR.shadow.4*Point);
   hi.ma.p1.4=hi.ma.p1.3-(fib.SR.shadow.5*Point);
   hi.ma.p1.5=hi.ma.p1.4-(fib.SR.shadow.6*Point);
   hi.ma.p1.6=hi.ma.p1.5-(fib.SR.shadow.7*Point);

//p1 1st level (hi.1.p1, lo.1.p1)
   if(lo.ma.p1.1-hi.ma.p1.1>Ask-Bid)   {
      ObjectCreate("lo.1.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.1, t2.p1, lo.ma.p1.1);
      ObjectSet("lo.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p1",OBJPROP_RAY,false);
      ObjectSet("lo.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p1",DoubleToStr(lo.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.1, t2.p1, hi.ma.p1.1);
      ObjectSet("hi.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p1",OBJPROP_RAY,false);
      ObjectSet("hi.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p1",DoubleToStr(hi.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p1, lo.2.p1)
   if(lo.ma.p1.2-hi.ma.p1.2>Ask-Bid)   {
      ObjectCreate("lo.2.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.2, t2.p1, lo.ma.p1.2);
      ObjectSet("lo.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p1",OBJPROP_RAY,false);
      ObjectSet("lo.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p1",DoubleToStr(lo.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.2, t2.p1, hi.ma.p1.2);
      ObjectSet("hi.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p1",OBJPROP_RAY,false);
      ObjectSet("hi.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p1",DoubleToStr(hi.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p1, lo.3.p1)
   if(lo.ma.p1.3-hi.ma.p1.3>Ask-Bid)   {
      ObjectCreate("lo.3.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.3, t2.p1, lo.ma.p1.3);
      ObjectSet("lo.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p1",OBJPROP_RAY,false);
      ObjectSet("lo.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p1",DoubleToStr(lo.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.3, t2.p1, hi.ma.p1.3);
      ObjectSet("hi.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p1",OBJPROP_RAY,false);
      ObjectSet("hi.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p1",DoubleToStr(hi.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p1, lo.4.p1)
   if(lo.ma.p1.4-hi.ma.p1.4>Ask-Bid)   {
      ObjectCreate("lo.4.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.4, t2.p1, lo.ma.p1.4);
      ObjectSet("lo.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p1",OBJPROP_RAY,false);
      ObjectSet("lo.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p1",DoubleToStr(lo.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.4, t2.p1, hi.ma.p1.4);
      ObjectSet("hi.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p1",OBJPROP_RAY,false);
      ObjectSet("hi.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p1",DoubleToStr(hi.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p1, lo.5.p1)
   if(lo.ma.p1.5-hi.ma.p1.5>Ask-Bid)   {
      ObjectCreate("lo.5.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.5, t2.p1, lo.ma.p1.5);
      ObjectSet("lo.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p1",OBJPROP_RAY,false);
      ObjectSet("lo.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p1",DoubleToStr(lo.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.5, t2.p1, hi.ma.p1.5);
      ObjectSet("hi.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p1",OBJPROP_RAY,false);
      ObjectSet("hi.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p1",DoubleToStr(hi.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p1, lo.6.p1)
   if(lo.ma.p1.6-hi.ma.p1.6>Ask-Bid)   {
      ObjectCreate("lo.6.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.6, t2.p1, lo.ma.p1.6);
      ObjectSet("lo.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p1",OBJPROP_RAY,false);
      ObjectSet("lo.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p1",DoubleToStr(lo.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.6, t2.p1, hi.ma.p1.6);
      ObjectSet("hi.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p1",OBJPROP_RAY,false);
      ObjectSet("hi.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p1",DoubleToStr(hi.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p1",OBJ_TEXT,0,t1.p1,ma1.p1);//13 ma
      ObjectSetText("ma1.p1",space+DoubleToStr(ma1.p1,Digits),8,"Arial",White);

      ObjectCreate("ma2.p1",OBJ_TEXT,0,t1.p1,ma2.p1);//21 ma
      ObjectSetText("ma2.p1",space+DoubleToStr(ma2.p1,Digits),8,"Arial",White);

      ObjectCreate("ma3.p1",OBJ_TEXT,0,t1.p1,ma3.p1);//34 ma
      if(Bid>ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p1 && Ask>=ma3.p1)  {
         ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p1",OBJ_TEXT,0,t1.p1,ma4.p1);//55 ma
      if(Bid>ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p1 && Ask>=ma4.p1)  {
         ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p1",OBJ_TEXT,0,t1.p1,ma5.p1);//89 ma
      if(Bid>ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Green);}
      if(Ask<ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p1 && Ask>=ma5.p1)  {
         ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma6.p1,Digits));//144 ma
      if(Bid>ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Green);}
      if(Ask<ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p1 && Ask>=ma6.p1)  {
         ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma7.p1,Digits));//233 ma
      if(Bid>ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Green);}
      if(Ask<ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p1 && Ask>=ma7.p1)  {
         ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Yellow);}
}//end p1.Fib.Plot()

void p2.Fib.Plot()   {
//p2 dynamic fibo levels
   double lo.ma.p2,hi.ma.p2;
   lo.ma.p2=ma1.p2;
   if(ma2.p2<lo.ma.p2)  {lo.ma.p2=ma2.p2;}
   if(ma3.p2<lo.ma.p2)  {lo.ma.p2=ma3.p2;}
   if(ma4.p2<lo.ma.p2)  {lo.ma.p2=ma4.p2;}
   if(ma5.p2<lo.ma.p2)  {lo.ma.p2=ma5.p2;}
   if(ma6.p2<lo.ma.p2)  {lo.ma.p2=ma6.p2;}
   if(ma7.p2<lo.ma.p2)  {lo.ma.p2=ma7.p2;}
   lo.ma.p2=NormalizeDouble(lo.ma.p2+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p2=ma7.p2;
   if(ma6.p2>hi.ma.p2)  {hi.ma.p2=ma6.p2;}
   if(ma5.p2>hi.ma.p2)  {hi.ma.p2=ma5.p2;}
   if(ma4.p2>hi.ma.p2)  {hi.ma.p2=ma4.p2;}
   if(ma3.p2>hi.ma.p2)  {hi.ma.p2=ma3.p2;}
   if(ma2.p2>hi.ma.p2)  {hi.ma.p2=ma2.p2;}
   if(ma1.p2>hi.ma.p2)  {hi.ma.p2=ma1.p2;}
   hi.ma.p2=NormalizeDouble(hi.ma.p2-(fib.SR.shadow.1*Point),Digits);

//p2 center dynamic fib placement
   if(lo.ma.p2-hi.ma.p2>Ask-Bid)   {
      ObjectCreate("lcf.p2",OBJ_TREND,0,t1.p2, lo.ma.p2, t2.p2, lo.ma.p2);
      ObjectSet("lcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p2",OBJPROP_RAY,false);
      ObjectSet("lcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p2",DoubleToStr(lo.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p2",OBJ_TREND,0,t1.p2, hi.ma.p2, t2.p2, hi.ma.p2);
      ObjectSet("hcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p2",OBJPROP_RAY,false);
      ObjectSet("hcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p2",DoubleToStr(hi.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p2.1, lo.ma.p2.2, lo.ma.p2.3, lo.ma.p2.4, lo.ma.p2.5, lo.ma.p2.6;
   lo.ma.p2.1=lo.ma.p2+(fib.SR.shadow.2*Point);
   lo.ma.p2.2=lo.ma.p2.1+(fib.SR.shadow.3*Point);
   lo.ma.p2.3=lo.ma.p2.2+(fib.SR.shadow.4*Point);
   lo.ma.p2.4=lo.ma.p2.3+(fib.SR.shadow.5*Point);
   lo.ma.p2.5=lo.ma.p2.4+(fib.SR.shadow.6*Point);
   lo.ma.p2.6=lo.ma.p2.5+(fib.SR.shadow.7*Point);

   double hi.ma.p2.1, hi.ma.p2.2, hi.ma.p2.3, hi.ma.p2.4, hi.ma.p2.5, hi.ma.p2.6;
   hi.ma.p2.1=hi.ma.p2-(fib.SR.shadow.2*Point);
   hi.ma.p2.2=hi.ma.p2.1-(fib.SR.shadow.3*Point);
   hi.ma.p2.3=hi.ma.p2.2-(fib.SR.shadow.4*Point);
   hi.ma.p2.4=hi.ma.p2.3-(fib.SR.shadow.5*Point);
   hi.ma.p2.5=hi.ma.p2.4-(fib.SR.shadow.6*Point);
   hi.ma.p2.6=hi.ma.p2.5-(fib.SR.shadow.7*Point);

//p2 1st level (hi.1.p2, lo.1.p2)
   if(lo.ma.p2.1-hi.ma.p2.1>Ask-Bid)   {
      ObjectCreate("lo.1.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.1, t2.p2, lo.ma.p2.1);
      ObjectSet("lo.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p2",OBJPROP_RAY,false);
      ObjectSet("lo.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p2",DoubleToStr(lo.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.1, t2.p2, hi.ma.p2.1);
      ObjectSet("hi.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p2",OBJPROP_RAY,false);
      ObjectSet("hi.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p2",DoubleToStr(hi.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p2, lo.2.p2)
   if(lo.ma.p2.2-hi.ma.p2.2>Ask-Bid)   {
      ObjectCreate("lo.2.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.2, t2.p2, lo.ma.p2.2);
      ObjectSet("lo.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p2",OBJPROP_RAY,false);
      ObjectSet("lo.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p2",DoubleToStr(lo.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.2, t2.p2, hi.ma.p2.2);
      ObjectSet("hi.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p2",OBJPROP_RAY,false);
      ObjectSet("hi.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p2",DoubleToStr(hi.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p2, lo.3.p2)
   if(lo.ma.p2.3-hi.ma.p2.3>Ask-Bid)   {
      ObjectCreate("lo.3.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.3, t2.p2, lo.ma.p2.3);
      ObjectSet("lo.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p2",OBJPROP_RAY,false);
      ObjectSet("lo.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p2",DoubleToStr(lo.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.3, t2.p2, hi.ma.p2.3);
      ObjectSet("hi.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p2",OBJPROP_RAY,false);
      ObjectSet("hi.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p2",DoubleToStr(hi.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p2, lo.4.p2)
   if(lo.ma.p2.4-hi.ma.p2.4>Ask-Bid)   {
      ObjectCreate("lo.4.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.4, t2.p2, lo.ma.p2.4);
      ObjectSet("lo.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p2",OBJPROP_RAY,false);
      ObjectSet("lo.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p2",DoubleToStr(lo.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.4, t2.p2, hi.ma.p2.4);
      ObjectSet("hi.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p2",OBJPROP_RAY,false);
      ObjectSet("hi.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p2",DoubleToStr(hi.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p2, lo.5.p2)
   if(lo.ma.p2.5-hi.ma.p2.5>Ask-Bid)   {
      ObjectCreate("lo.5.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.5, t2.p2, lo.ma.p2.5);
      ObjectSet("lo.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p2",OBJPROP_RAY,false);
      ObjectSet("lo.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p2",DoubleToStr(lo.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.5, t2.p2, hi.ma.p2.5);
      ObjectSet("hi.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p2",OBJPROP_RAY,false);
      ObjectSet("hi.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p2",DoubleToStr(hi.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p2, lo.6.p2)
   if(lo.ma.p2.6-hi.ma.p2.6>Ask-Bid)   {
      ObjectCreate("lo.6.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.6, t2.p2, lo.ma.p2.6);
      ObjectSet("lo.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p2",OBJPROP_RAY,false);
      ObjectSet("lo.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p2",DoubleToStr(lo.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.6, t2.p2, hi.ma.p2.6);
      ObjectSet("hi.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p2",OBJPROP_RAY,false);
      ObjectSet("hi.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p2",DoubleToStr(hi.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p2",OBJ_TEXT,0,t1.p2,ma1.p2);//13 ma
      ObjectSetText("ma1.p2",space+DoubleToStr(ma1.p2,Digits),8,"Arial",White);

      ObjectCreate("ma2.p2",OBJ_TEXT,0,t1.p2,ma2.p2);//21 ma
      ObjectSetText("ma2.p2",space+DoubleToStr(ma2.p2,Digits),8,"Arial",White);

      ObjectCreate("ma3.p2",OBJ_TEXT,0,t1.p2,ma3.p2);//34 ma
      if(Bid>ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p2 && Ask>=ma3.p2)  {
         ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p2",OBJ_TEXT,0,t1.p2,ma4.p2);//55 ma
      if(Bid>ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p2 && Ask>=ma4.p2)  {
         ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p2",OBJ_TEXT,0,t1.p2,ma5.p2);//89 ma
      if(Bid>ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Green);}
      if(Ask<ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p2 && Ask>=ma5.p2)  {
         ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma6.p2,Digits));//144 ma
      if(Bid>ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Green);}
      if(Ask<ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p2 && Ask>=ma6.p2)  {
         ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma7.p2,Digits));//233 ma
      if(Bid>ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Green);}
      if(Ask<ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p2 && Ask>=ma7.p2)  {
         ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Yellow);}
}//end p2.Fib.Plot()

void p3.Fib.Plot()   {
//p3 dynamic fibo levels
   double lo.ma.p3,hi.ma.p3;
   lo.ma.p3=ma1.p3;
   if(ma2.p3<lo.ma.p3)  {lo.ma.p3=ma2.p3;}
   if(ma3.p3<lo.ma.p3)  {lo.ma.p3=ma3.p3;}
   if(ma4.p3<lo.ma.p3)  {lo.ma.p3=ma4.p3;}
   if(ma5.p3<lo.ma.p3)  {lo.ma.p3=ma5.p3;}
   if(ma6.p3<lo.ma.p3)  {lo.ma.p3=ma6.p3;}
   if(ma7.p3<lo.ma.p3)  {lo.ma.p3=ma7.p3;}
   lo.ma.p3=NormalizeDouble(lo.ma.p3+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p3=ma7.p3;
   if(ma6.p3>hi.ma.p3)  {hi.ma.p3=ma6.p3;}
   if(ma5.p3>hi.ma.p3)  {hi.ma.p3=ma5.p3;}
   if(ma4.p3>hi.ma.p3)  {hi.ma.p3=ma4.p3;}
   if(ma3.p3>hi.ma.p3)  {hi.ma.p3=ma3.p3;}
   if(ma2.p3>hi.ma.p3)  {hi.ma.p3=ma2.p3;}
   if(ma1.p3>hi.ma.p3)  {hi.ma.p3=ma1.p3;}
   hi.ma.p3=NormalizeDouble(hi.ma.p3-(fib.SR.shadow.1*Point),Digits);

//p3 center dynamic fib placement
   if(lo.ma.p3-hi.ma.p3>Ask-Bid)   {
      ObjectCreate("lcf.p3",OBJ_TREND,0,t1.p3, lo.ma.p3, t2.p3, lo.ma.p3);
      ObjectSet("lcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p3",OBJPROP_RAY,false);
      ObjectSet("lcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p3",DoubleToStr(lo.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p3",OBJ_TREND,0,t1.p3, hi.ma.p3, t2.p3, hi.ma.p3);
      ObjectSet("hcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p3",OBJPROP_RAY,false);
      ObjectSet("hcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p3",DoubleToStr(hi.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p3.1, lo.ma.p3.2, lo.ma.p3.3, lo.ma.p3.4, lo.ma.p3.5, lo.ma.p3.6;
   lo.ma.p3.1=lo.ma.p3+(fib.SR.shadow.2*Point);
   lo.ma.p3.2=lo.ma.p3.1+(fib.SR.shadow.3*Point);
   lo.ma.p3.3=lo.ma.p3.2+(fib.SR.shadow.4*Point);
   lo.ma.p3.4=lo.ma.p3.3+(fib.SR.shadow.5*Point);
   lo.ma.p3.5=lo.ma.p3.4+(fib.SR.shadow.6*Point);
   lo.ma.p3.6=lo.ma.p3.5+(fib.SR.shadow.7*Point);

   double hi.ma.p3.1, hi.ma.p3.2, hi.ma.p3.3, hi.ma.p3.4, hi.ma.p3.5, hi.ma.p3.6;
   hi.ma.p3.1=hi.ma.p3-(fib.SR.shadow.2*Point);
   hi.ma.p3.2=hi.ma.p3.1-(fib.SR.shadow.3*Point);
   hi.ma.p3.3=hi.ma.p3.2-(fib.SR.shadow.4*Point);
   hi.ma.p3.4=hi.ma.p3.3-(fib.SR.shadow.5*Point);
   hi.ma.p3.5=hi.ma.p3.4-(fib.SR.shadow.6*Point);
   hi.ma.p3.6=hi.ma.p3.5-(fib.SR.shadow.7*Point);

//p3 1st level (hi.1.p3, lo.1.p3)
   if(lo.ma.p3.1-hi.ma.p3.1>Ask-Bid)   {
      ObjectCreate("lo.1.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.1, t2.p3, lo.ma.p3.1);
      ObjectSet("lo.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p3",OBJPROP_RAY,false);
      ObjectSet("lo.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p3",DoubleToStr(lo.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.1, t2.p3, hi.ma.p3.1);
      ObjectSet("hi.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p3",OBJPROP_RAY,false);
      ObjectSet("hi.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p3",DoubleToStr(hi.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p3, lo.2.p3)
   if(lo.ma.p3.2-hi.ma.p3.2>Ask-Bid)   {
      ObjectCreate("lo.2.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.2, t2.p3, lo.ma.p3.2);
      ObjectSet("lo.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p3",OBJPROP_RAY,false);
      ObjectSet("lo.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p3",DoubleToStr(lo.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.2, t2.p3, hi.ma.p3.2);
      ObjectSet("hi.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p3",OBJPROP_RAY,false);
      ObjectSet("hi.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p3",DoubleToStr(hi.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p3, lo.3.p3)
   if(lo.ma.p3.3-hi.ma.p3.3>Ask-Bid)   {
      ObjectCreate("lo.3.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.3, t2.p3, lo.ma.p3.3);
      ObjectSet("lo.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p3",OBJPROP_RAY,false);
      ObjectSet("lo.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p3",DoubleToStr(lo.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.3, t2.p3, hi.ma.p3.3);
      ObjectSet("hi.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p3",OBJPROP_RAY,false);
      ObjectSet("hi.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p3",DoubleToStr(hi.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p3, lo.4.p3)
   if(lo.ma.p3.4-hi.ma.p3.4>Ask-Bid)   {
      ObjectCreate("lo.4.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.4, t2.p3, lo.ma.p3.4);
      ObjectSet("lo.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p3",OBJPROP_RAY,false);
      ObjectSet("lo.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p3",DoubleToStr(lo.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.4, t2.p3, hi.ma.p3.4);
      ObjectSet("hi.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p3",OBJPROP_RAY,false);
      ObjectSet("hi.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p3",DoubleToStr(hi.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p3, lo.5.p3)
   if(lo.ma.p3.5-hi.ma.p3.5>Ask-Bid)   {
      ObjectCreate("lo.5.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.5, t2.p3, lo.ma.p3.5);
      ObjectSet("lo.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p3",OBJPROP_RAY,false);
      ObjectSet("lo.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p3",DoubleToStr(lo.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.5, t2.p3, hi.ma.p3.5);
      ObjectSet("hi.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p3",OBJPROP_RAY,false);
      ObjectSet("hi.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p3",DoubleToStr(hi.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p3, lo.6.p3)
   if(lo.ma.p3.6-hi.ma.p3.6>Ask-Bid)   {
      ObjectCreate("lo.6.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.6, t2.p3, lo.ma.p3.6);
      ObjectSet("lo.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p3",OBJPROP_RAY,false);
      ObjectSet("lo.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p3",DoubleToStr(lo.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.6, t2.p3, hi.ma.p3.6);
      ObjectSet("hi.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p3",OBJPROP_RAY,false);
      ObjectSet("hi.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p3",DoubleToStr(hi.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p3",OBJ_TEXT,0,t1.p3,ma1.p3);//13 ma
      ObjectSetText("ma1.p3",space+DoubleToStr(ma1.p3,Digits),8,"Arial",White);

      ObjectCreate("ma2.p3",OBJ_TEXT,0,t1.p3,ma2.p3);//21 ma
      ObjectSetText("ma2.p3",space+DoubleToStr(ma2.p3,Digits),8,"Arial",White);

      ObjectCreate("ma3.p3",OBJ_TEXT,0,t1.p3,ma3.p3);//34 ma
      if(Bid>ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p3 && Ask>=ma3.p3)  {
         ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p3",OBJ_TEXT,0,t1.p3,ma4.p3);//55 ma
      if(Bid>ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p3 && Ask>=ma4.p3)  {
         ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p3",OBJ_TEXT,0,t1.p3,ma5.p3);//89 ma
      if(Bid>ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Green);}
      if(Ask<ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p3 && Ask>=ma5.p3)  {
         ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma6.p3,Digits));//144 ma
      if(Bid>ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Green);}
      if(Ask<ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p3 && Ask>=ma6.p3)  {
         ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma7.p3,Digits));//233 ma
      if(Bid>ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Green);}
      if(Ask<ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p3 && Ask>=ma7.p3)  {
         ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Yellow);}
}//end p3.Fib.Plot()

void p4.Fib.Plot()   {
//p4 dynamic fibo levels
   double lo.ma.p4,hi.ma.p4;
   lo.ma.p4=ma1.p4;
   if(ma2.p4<lo.ma.p4)  {lo.ma.p4=ma2.p4;}
   if(ma3.p4<lo.ma.p4)  {lo.ma.p4=ma3.p4;}
   if(ma4.p4<lo.ma.p4)  {lo.ma.p4=ma4.p4;}
   if(ma5.p4<lo.ma.p4)  {lo.ma.p4=ma5.p4;}
   if(ma6.p4<lo.ma.p4)  {lo.ma.p4=ma6.p4;}
   if(ma7.p4<lo.ma.p4)  {lo.ma.p4=ma7.p4;}
   lo.ma.p4=NormalizeDouble(lo.ma.p4+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p4=ma7.p4;
   if(ma6.p4>hi.ma.p4)  {hi.ma.p4=ma6.p4;}
   if(ma5.p4>hi.ma.p4)  {hi.ma.p4=ma5.p4;}
   if(ma4.p4>hi.ma.p4)  {hi.ma.p4=ma4.p4;}
   if(ma3.p4>hi.ma.p4)  {hi.ma.p4=ma3.p4;}
   if(ma2.p4>hi.ma.p4)  {hi.ma.p4=ma2.p4;}
   if(ma1.p4>hi.ma.p4)  {hi.ma.p4=ma1.p4;}
   hi.ma.p4=NormalizeDouble(hi.ma.p4-(fib.SR.shadow.1*Point),Digits);

//p4 center dynamic fib placement
   if(lo.ma.p4-hi.ma.p4>Ask-Bid)   {
      ObjectCreate("lcf.p4",OBJ_TREND,0,t1.p4, lo.ma.p4, t2.p4, lo.ma.p4);
      ObjectSet("lcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p4",OBJPROP_RAY,false);
      ObjectSet("lcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p4",DoubleToStr(lo.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p4",OBJ_TREND,0,t1.p4, hi.ma.p4, t2.p4, hi.ma.p4);
      ObjectSet("hcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p4",OBJPROP_RAY,false);
      ObjectSet("hcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p4",DoubleToStr(hi.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p4.1, lo.ma.p4.2, lo.ma.p4.3, lo.ma.p4.4, lo.ma.p4.5, lo.ma.p4.6;
   lo.ma.p4.1=lo.ma.p4+(fib.SR.shadow.2*Point);
   lo.ma.p4.2=lo.ma.p4.1+(fib.SR.shadow.3*Point);
   lo.ma.p4.3=lo.ma.p4.2+(fib.SR.shadow.4*Point);
   lo.ma.p4.4=lo.ma.p4.3+(fib.SR.shadow.5*Point);
   lo.ma.p4.5=lo.ma.p4.4+(fib.SR.shadow.6*Point);
   lo.ma.p4.6=lo.ma.p4.5+(fib.SR.shadow.7*Point);

   double hi.ma.p4.1, hi.ma.p4.2, hi.ma.p4.3, hi.ma.p4.4, hi.ma.p4.5, hi.ma.p4.6;
   hi.ma.p4.1=hi.ma.p4-(fib.SR.shadow.2*Point);
   hi.ma.p4.2=hi.ma.p4.1-(fib.SR.shadow.3*Point);
   hi.ma.p4.3=hi.ma.p4.2-(fib.SR.shadow.4*Point);
   hi.ma.p4.4=hi.ma.p4.3-(fib.SR.shadow.5*Point);
   hi.ma.p4.5=hi.ma.p4.4-(fib.SR.shadow.6*Point);
   hi.ma.p4.6=hi.ma.p4.5-(fib.SR.shadow.7*Point);

//p4 1st level (hi.1.p4, lo.1.p4)
   if(lo.ma.p4.1-hi.ma.p4.1>Ask-Bid)   {
      ObjectCreate("lo.1.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.1, t2.p4, lo.ma.p4.1);
      ObjectSet("lo.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p4",OBJPROP_RAY,false);
      ObjectSet("lo.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p4",DoubleToStr(lo.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.1, t2.p4, hi.ma.p4.1);
      ObjectSet("hi.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p4",OBJPROP_RAY,false);
      ObjectSet("hi.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p4",DoubleToStr(hi.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p4, lo.2.p4)
   if(lo.ma.p4.2-hi.ma.p4.2>Ask-Bid)   {
      ObjectCreate("lo.2.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.2, t2.p4, lo.ma.p4.2);
      ObjectSet("lo.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p4",OBJPROP_RAY,false);
      ObjectSet("lo.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p4",DoubleToStr(lo.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.2, t2.p4, hi.ma.p4.2);
      ObjectSet("hi.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p4",OBJPROP_RAY,false);
      ObjectSet("hi.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p4",DoubleToStr(hi.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p4, lo.3.p4)
   if(lo.ma.p4.3-hi.ma.p4.3>Ask-Bid)   {
      ObjectCreate("lo.3.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.3, t2.p4, lo.ma.p4.3);
      ObjectSet("lo.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p4",OBJPROP_RAY,false);
      ObjectSet("lo.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p4",DoubleToStr(lo.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.3, t2.p4, hi.ma.p4.3);
      ObjectSet("hi.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p4",OBJPROP_RAY,false);
      ObjectSet("hi.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p4",DoubleToStr(hi.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p4, lo.4.p4)
   if(lo.ma.p4.4-hi.ma.p4.4>Ask-Bid)   {
      ObjectCreate("lo.4.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.4, t2.p4, lo.ma.p4.4);
      ObjectSet("lo.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p4",OBJPROP_RAY,false);
      ObjectSet("lo.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p4",DoubleToStr(lo.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.4, t2.p4, hi.ma.p4.4);
      ObjectSet("hi.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p4",OBJPROP_RAY,false);
      ObjectSet("hi.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p4",DoubleToStr(hi.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p4, lo.5.p4)
   if(lo.ma.p4.5-hi.ma.p4.5>Ask-Bid)   {
      ObjectCreate("lo.5.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.5, t2.p4, lo.ma.p4.5);
      ObjectSet("lo.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p4",OBJPROP_RAY,false);
      ObjectSet("lo.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p4",DoubleToStr(lo.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.5, t2.p4, hi.ma.p4.5);
      ObjectSet("hi.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p4",OBJPROP_RAY,false);
      ObjectSet("hi.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p4",DoubleToStr(hi.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p4, lo.6.p4)
   if(lo.ma.p4.6-hi.ma.p4.6>Ask-Bid)   {
      ObjectCreate("lo.6.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.6, t2.p4, lo.ma.p4.6);
      ObjectSet("lo.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p4",OBJPROP_RAY,false);
      ObjectSet("lo.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p4",DoubleToStr(lo.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.6, t2.p4, hi.ma.p4.6);
      ObjectSet("hi.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p4",OBJPROP_RAY,false);
      ObjectSet("hi.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p4",DoubleToStr(hi.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p4",OBJ_TEXT,0,t1.p4,ma1.p4);//13 ma
      ObjectSetText("ma1.p4",space+DoubleToStr(ma1.p4,Digits),8,"Arial",White);

      ObjectCreate("ma2.p4",OBJ_TEXT,0,t1.p4,ma2.p4);//21 ma
      ObjectSetText("ma2.p4",space+DoubleToStr(ma2.p4,Digits),8,"Arial",White);

      ObjectCreate("ma3.p4",OBJ_TEXT,0,t1.p4,ma3.p4);//34 ma
      if(Bid>ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p4 && Ask>=ma3.p4)  {
         ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p4",OBJ_TEXT,0,t1.p4,ma4.p4);//55 ma
      if(Bid>ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p4 && Ask>=ma4.p4)  {
         ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p4",OBJ_TEXT,0,t1.p4,ma5.p4);//89 ma
      if(Bid>ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Green);}
      if(Ask<ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p4 && Ask>=ma5.p4)  {
         ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma6.p4,Digits));//144 ma
      if(Bid>ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Green);}
      if(Ask<ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p4 && Ask>=ma6.p4)  {
         ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma7.p4,Digits));//233 ma
      if(Bid>ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Green);}
      if(Ask<ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p4 && Ask>=ma7.p4)  {
         ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Yellow);}
}//end p4.Fib.Plot()
void column()  {
//..................Time Frame Columns.................................................
      string column.down, column.up;
      column.down=Bid+" "; column.up=Ask+" ";

         ObjectCreate(column.down+p1.ma,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
         ObjectSet(column.down+p1.ma,OBJPROP_COLOR,Red);
         ObjectCreate(column.up+p1.ma,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
         ObjectSet(column.up+p1.ma,OBJPROP_COLOR,Green);

         ObjectCreate(column.down+p2.ma,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
         ObjectSet(column.down+p2.ma,OBJPROP_COLOR,Red);
         ObjectCreate(column.up+p2.ma,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
         ObjectSet(column.up+p2.ma,OBJPROP_COLOR,Green);

         ObjectCreate(column.down+p3.ma,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
         ObjectSet(column.down+p3.ma,OBJPROP_COLOR,Red);
         ObjectCreate(column.up+p3.ma,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
         ObjectSet(column.up+p3.ma,OBJPROP_COLOR,Green);

         ObjectCreate(column.down+p4.ma,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
         ObjectSet(column.down+p4.ma,OBJPROP_COLOR,Red);
         ObjectCreate(column.up+p4.ma,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
         ObjectSet(column.up+p4.ma,OBJPROP_COLOR,Green);}//end column();
//---- done

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_4_Period_MA.mq4

//+------------------------------------------------------------------+
//|                                                   4 Period MA.mq4 |
//|                 Copyright © 2006, tageiger aka fxid10t@yahoo.com |
//|                                        http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger aka fxid10t@yahoo.com"
#property link      "mailto:fxid10t@yahoo.com"
#property indicator_chart_window

extern int p1.ma=5;//Period() in minutes
extern int p2.ma=15;//Period() in minutes
extern int p3.ma=60;//Period() in minutes
extern int p4.ma=240;//Period() in minutes

extern int STD.Rgres.length=56;
extern double STD.width=0.809;

extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:

Constant       Value Description
PRICE_CLOSE    0     Close price.
PRICE_OPEN     1     Open price.
PRICE_HIGH     2     High price.
PRICE_LOW      3     Low price.
PRICE_MEDIAN   4     Median price, (high+low)/2.
PRICE_TYPICAL  5     Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6     Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant    Value Description
MODE_SMA    0     Simple moving average,
MODE_EMA    1     Exponential moving average,
MODE_SMMA   2     Smoothed moving average,
MODE_LWMA   3     Linear weighted moving average.   */

extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;

extern int fib.SR.shadow.1=13;
extern int fib.SR.shadow.2=21;
extern int fib.SR.shadow.3=34;
extern int fib.SR.shadow.4=55;
extern int fib.SR.shadow.5=89;
extern int fib.SR.shadow.6=144;
extern int fib.SR.shadow.7=233;

extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;

double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;

datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;

int init()  {  return(0);  }
int deinit()   {
   ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);
return(0);  }
int start() {
   ObjectsDeleteAll();

   ObjectCreate("regression channel",OBJ_REGRESSION,0,Time[STD.Rgres.length],Bid,Time[0],Ask);
   ObjectSet("regression channel",OBJPROP_RAY,true);
   ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,Time[STD.Rgres.length],Bid,Time[0],Ask);
   ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
   ObjectSet("std channel",OBJPROP_COLOR,Olive);
   ObjectSet("std channel",OBJPROP_RAY,true);
//p1 ma settings
   ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p2 ma settings
   ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p3 ma settings
   ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p4 ma settings
   ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//--------------

return(0);}
//+------------------------------------------------------------------+
void Time.Coordinate.Set()   {
//....Variable Settings for Object Spatial Placement.....
   double zoom.multiplier;int bpw=BarsPerWindow();
   if(bpw<25)              {zoom.multiplier=0.05;}
   if(bpw>25 && bpw<50)    {zoom.multiplier=0.07;}
   if(bpw>50 && bpw<175)   {zoom.multiplier=0.12;}
   if(bpw>175 && bpw<375)  {zoom.multiplier=0.25;}
   if(bpw>375 && bpw<750)  {zoom.multiplier=0.5;}
   if(bpw>750)             {zoom.multiplier=1;}
   double time.frame.multiplier;
   if(Period()==1)      {time.frame.multiplier=0.65;}
   if(Period()==5)      {time.frame.multiplier=3.25;}
   if(Period()==15)     {time.frame.multiplier=9.75;}
   if(Period()==30)     {time.frame.multiplier=19.5;}
   if(Period()==60)     {time.frame.multiplier=39;}
   if(Period()==240)    {time.frame.multiplier=156;}
   if(Period()==1440)   {time.frame.multiplier=936;}
   if(Period()==10080)  {time.frame.multiplier=6552;}
   if(Period()==43200)  {time.frame.multiplier=28043;}

   t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
   t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);

   t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
   t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);

   t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
   t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);

   t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
   t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()

void p1.Fib.Plot()   {
//p1 dynamic fibo levels
   double lo.ma.p1,hi.ma.p1;
   lo.ma.p1=ma1.p1;
   if(ma2.p1<lo.ma.p1)  {lo.ma.p1=ma2.p1;}
   if(ma3.p1<lo.ma.p1)  {lo.ma.p1=ma3.p1;}
   if(ma4.p1<lo.ma.p1)  {lo.ma.p1=ma4.p1;}
   if(ma5.p1<lo.ma.p1)  {lo.ma.p1=ma5.p1;}
   if(ma6.p1<lo.ma.p1)  {lo.ma.p1=ma6.p1;}
   if(ma7.p1<lo.ma.p1)  {lo.ma.p1=ma7.p1;}
   lo.ma.p1=NormalizeDouble(lo.ma.p1+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p1=ma7.p1;
   if(ma6.p1>hi.ma.p1)  {hi.ma.p1=ma6.p1;}
   if(ma5.p1>hi.ma.p1)  {hi.ma.p1=ma5.p1;}
   if(ma4.p1>hi.ma.p1)  {hi.ma.p1=ma4.p1;}
   if(ma3.p1>hi.ma.p1)  {hi.ma.p1=ma3.p1;}
   if(ma2.p1>hi.ma.p1)  {hi.ma.p1=ma2.p1;}
   if(ma1.p1>hi.ma.p1)  {hi.ma.p1=ma1.p1;}
   hi.ma.p1=NormalizeDouble(hi.ma.p1-(fib.SR.shadow.1*Point),Digits);

//p1 center dynamic fib placement
   if(lo.ma.p1-hi.ma.p1>Ask-Bid)   {
      ObjectCreate("lcf.p1",OBJ_TREND,0,t1.p1, lo.ma.p1, t2.p1, lo.ma.p1);
      ObjectSet("lcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p1",OBJPROP_RAY,false);
      ObjectSet("lcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p1",DoubleToStr(lo.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p1",OBJ_TREND,0,t1.p1, hi.ma.p1, t2.p1, hi.ma.p1);
      ObjectSet("hcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p1",OBJPROP_RAY,false);
      ObjectSet("hcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p1",DoubleToStr(hi.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p1.1, lo.ma.p1.2, lo.ma.p1.3, lo.ma.p1.4, lo.ma.p1.5, lo.ma.p1.6;
   lo.ma.p1.1=lo.ma.p1+(fib.SR.shadow.2*Point);
   lo.ma.p1.2=lo.ma.p1.1+(fib.SR.shadow.3*Point);
   lo.ma.p1.3=lo.ma.p1.2+(fib.SR.shadow.4*Point);
   lo.ma.p1.4=lo.ma.p1.3+(fib.SR.shadow.5*Point);
   lo.ma.p1.5=lo.ma.p1.4+(fib.SR.shadow.6*Point);
   lo.ma.p1.6=lo.ma.p1.5+(fib.SR.shadow.7*Point);

   double hi.ma.p1.1, hi.ma.p1.2, hi.ma.p1.3, hi.ma.p1.4, hi.ma.p1.5, hi.ma.p1.6;
   hi.ma.p1.1=hi.ma.p1-(fib.SR.shadow.2*Point);
   hi.ma.p1.2=hi.ma.p1.1-(fib.SR.shadow.3*Point);
   hi.ma.p1.3=hi.ma.p1.2-(fib.SR.shadow.4*Point);
   hi.ma.p1.4=hi.ma.p1.3-(fib.SR.shadow.5*Point);
   hi.ma.p1.5=hi.ma.p1.4-(fib.SR.shadow.6*Point);
   hi.ma.p1.6=hi.ma.p1.5-(fib.SR.shadow.7*Point);

//p1 1st level (hi.1.p1, lo.1.p1)
   if(lo.ma.p1.1-hi.ma.p1.1>Ask-Bid)   {
      ObjectCreate("lo.1.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.1, t2.p1, lo.ma.p1.1);
      ObjectSet("lo.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p1",OBJPROP_RAY,false);
      ObjectSet("lo.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p1",DoubleToStr(lo.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.1, t2.p1, hi.ma.p1.1);
      ObjectSet("hi.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p1",OBJPROP_RAY,false);
      ObjectSet("hi.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p1",DoubleToStr(hi.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p1, lo.2.p1)
   if(lo.ma.p1.2-hi.ma.p1.2>Ask-Bid)   {
      ObjectCreate("lo.2.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.2, t2.p1, lo.ma.p1.2);
      ObjectSet("lo.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p1",OBJPROP_RAY,false);
      ObjectSet("lo.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p1",DoubleToStr(lo.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.2, t2.p1, hi.ma.p1.2);
      ObjectSet("hi.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p1",OBJPROP_RAY,false);
      ObjectSet("hi.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p1",DoubleToStr(hi.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p1, lo.3.p1)
   if(lo.ma.p1.3-hi.ma.p1.3>Ask-Bid)   {
      ObjectCreate("lo.3.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.3, t2.p1, lo.ma.p1.3);
      ObjectSet("lo.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p1",OBJPROP_RAY,false);
      ObjectSet("lo.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p1",DoubleToStr(lo.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.3, t2.p1, hi.ma.p1.3);
      ObjectSet("hi.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p1",OBJPROP_RAY,false);
      ObjectSet("hi.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p1",DoubleToStr(hi.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p1, lo.4.p1)
   if(lo.ma.p1.4-hi.ma.p1.4>Ask-Bid)   {
      ObjectCreate("lo.4.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.4, t2.p1, lo.ma.p1.4);
      ObjectSet("lo.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p1",OBJPROP_RAY,false);
      ObjectSet("lo.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p1",DoubleToStr(lo.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.4, t2.p1, hi.ma.p1.4);
      ObjectSet("hi.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p1",OBJPROP_RAY,false);
      ObjectSet("hi.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p1",DoubleToStr(hi.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p1, lo.5.p1)
   if(lo.ma.p1.5-hi.ma.p1.5>Ask-Bid)   {
      ObjectCreate("lo.5.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.5, t2.p1, lo.ma.p1.5);
      ObjectSet("lo.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p1",OBJPROP_RAY,false);
      ObjectSet("lo.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p1",DoubleToStr(lo.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.5, t2.p1, hi.ma.p1.5);
      ObjectSet("hi.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p1",OBJPROP_RAY,false);
      ObjectSet("hi.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p1",DoubleToStr(hi.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p1, lo.6.p1)
   if(lo.ma.p1.6-hi.ma.p1.6>Ask-Bid)   {
      ObjectCreate("lo.6.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.6, t2.p1, lo.ma.p1.6);
      ObjectSet("lo.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p1",OBJPROP_RAY,false);
      ObjectSet("lo.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p1",DoubleToStr(lo.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.6, t2.p1, hi.ma.p1.6);
      ObjectSet("hi.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p1",OBJPROP_RAY,false);
      ObjectSet("hi.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p1",DoubleToStr(hi.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p1",OBJ_TEXT,0,t1.p1,ma1.p1);//13 ma
      ObjectSetText("ma1.p1",space+DoubleToStr(ma1.p1,Digits),8,"Arial",White);

      ObjectCreate("ma2.p1",OBJ_TEXT,0,t1.p1,ma2.p1);//21 ma
      ObjectSetText("ma2.p1",space+DoubleToStr(ma2.p1,Digits),8,"Arial",White);

      ObjectCreate("ma3.p1",OBJ_TEXT,0,t1.p1,ma3.p1);//34 ma
      if(Bid>ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p1 && Ask>=ma3.p1)  {
         ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p1",OBJ_TEXT,0,t1.p1,ma4.p1);//55 ma
      if(Bid>ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p1 && Ask>=ma4.p1)  {
         ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p1",OBJ_TEXT,0,t1.p1,ma5.p1);//89 ma
      if(Bid>ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Green);}
      if(Ask<ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p1 && Ask>=ma5.p1)  {
         ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma6.p1,Digits));//144 ma
      if(Bid>ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Green);}
      if(Ask<ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p1 && Ask>=ma6.p1)  {
         ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma7.p1,Digits));//233 ma
      if(Bid>ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Green);}
      if(Ask<ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p1 && Ask>=ma7.p1)  {
         ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Yellow);}
}//end p1.Fib.Plot()

void p2.Fib.Plot()   {
//p2 dynamic fibo levels
   double lo.ma.p2,hi.ma.p2;
   lo.ma.p2=ma1.p2;
   if(ma2.p2<lo.ma.p2)  {lo.ma.p2=ma2.p2;}
   if(ma3.p2<lo.ma.p2)  {lo.ma.p2=ma3.p2;}
   if(ma4.p2<lo.ma.p2)  {lo.ma.p2=ma4.p2;}
   if(ma5.p2<lo.ma.p2)  {lo.ma.p2=ma5.p2;}
   if(ma6.p2<lo.ma.p2)  {lo.ma.p2=ma6.p2;}
   if(ma7.p2<lo.ma.p2)  {lo.ma.p2=ma7.p2;}
   lo.ma.p2=NormalizeDouble(lo.ma.p2+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p2=ma7.p2;
   if(ma6.p2>hi.ma.p2)  {hi.ma.p2=ma6.p2;}
   if(ma5.p2>hi.ma.p2)  {hi.ma.p2=ma5.p2;}
   if(ma4.p2>hi.ma.p2)  {hi.ma.p2=ma4.p2;}
   if(ma3.p2>hi.ma.p2)  {hi.ma.p2=ma3.p2;}
   if(ma2.p2>hi.ma.p2)  {hi.ma.p2=ma2.p2;}
   if(ma1.p2>hi.ma.p2)  {hi.ma.p2=ma1.p2;}
   hi.ma.p2=NormalizeDouble(hi.ma.p2-(fib.SR.shadow.1*Point),Digits);

//p2 center dynamic fib placement
   if(lo.ma.p2-hi.ma.p2>Ask-Bid)   {
      ObjectCreate("lcf.p2",OBJ_TREND,0,t1.p2, lo.ma.p2, t2.p2, lo.ma.p2);
      ObjectSet("lcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p2",OBJPROP_RAY,false);
      ObjectSet("lcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p2",DoubleToStr(lo.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p2",OBJ_TREND,0,t1.p2, hi.ma.p2, t2.p2, hi.ma.p2);
      ObjectSet("hcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p2",OBJPROP_RAY,false);
      ObjectSet("hcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p2",DoubleToStr(hi.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p2.1, lo.ma.p2.2, lo.ma.p2.3, lo.ma.p2.4, lo.ma.p2.5, lo.ma.p2.6;
   lo.ma.p2.1=lo.ma.p2+(fib.SR.shadow.2*Point);
   lo.ma.p2.2=lo.ma.p2.1+(fib.SR.shadow.3*Point);
   lo.ma.p2.3=lo.ma.p2.2+(fib.SR.shadow.4*Point);
   lo.ma.p2.4=lo.ma.p2.3+(fib.SR.shadow.5*Point);
   lo.ma.p2.5=lo.ma.p2.4+(fib.SR.shadow.6*Point);
   lo.ma.p2.6=lo.ma.p2.5+(fib.SR.shadow.7*Point);

   double hi.ma.p2.1, hi.ma.p2.2, hi.ma.p2.3, hi.ma.p2.4, hi.ma.p2.5, hi.ma.p2.6;
   hi.ma.p2.1=hi.ma.p2-(fib.SR.shadow.2*Point);
   hi.ma.p2.2=hi.ma.p2.1-(fib.SR.shadow.3*Point);
   hi.ma.p2.3=hi.ma.p2.2-(fib.SR.shadow.4*Point);
   hi.ma.p2.4=hi.ma.p2.3-(fib.SR.shadow.5*Point);
   hi.ma.p2.5=hi.ma.p2.4-(fib.SR.shadow.6*Point);
   hi.ma.p2.6=hi.ma.p2.5-(fib.SR.shadow.7*Point);

//p2 1st level (hi.1.p2, lo.1.p2)
   if(lo.ma.p2.1-hi.ma.p2.1>Ask-Bid)   {
      ObjectCreate("lo.1.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.1, t2.p2, lo.ma.p2.1);
      ObjectSet("lo.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p2",OBJPROP_RAY,false);
      ObjectSet("lo.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p2",DoubleToStr(lo.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.1, t2.p2, hi.ma.p2.1);
      ObjectSet("hi.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p2",OBJPROP_RAY,false);
      ObjectSet("hi.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p2",DoubleToStr(hi.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p2, lo.2.p2)
   if(lo.ma.p2.2-hi.ma.p2.2>Ask-Bid)   {
      ObjectCreate("lo.2.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.2, t2.p2, lo.ma.p2.2);
      ObjectSet("lo.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p2",OBJPROP_RAY,false);
      ObjectSet("lo.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p2",DoubleToStr(lo.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.2, t2.p2, hi.ma.p2.2);
      ObjectSet("hi.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p2",OBJPROP_RAY,false);
      ObjectSet("hi.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p2",DoubleToStr(hi.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p2, lo.3.p2)
   if(lo.ma.p2.3-hi.ma.p2.3>Ask-Bid)   {
      ObjectCreate("lo.3.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.3, t2.p2, lo.ma.p2.3);
      ObjectSet("lo.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p2",OBJPROP_RAY,false);
      ObjectSet("lo.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p2",DoubleToStr(lo.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.3, t2.p2, hi.ma.p2.3);
      ObjectSet("hi.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p2",OBJPROP_RAY,false);
      ObjectSet("hi.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p2",DoubleToStr(hi.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p2, lo.4.p2)
   if(lo.ma.p2.4-hi.ma.p2.4>Ask-Bid)   {
      ObjectCreate("lo.4.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.4, t2.p2, lo.ma.p2.4);
      ObjectSet("lo.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p2",OBJPROP_RAY,false);
      ObjectSet("lo.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p2",DoubleToStr(lo.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.4, t2.p2, hi.ma.p2.4);
      ObjectSet("hi.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p2",OBJPROP_RAY,false);
      ObjectSet("hi.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p2",DoubleToStr(hi.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p2, lo.5.p2)
   if(lo.ma.p2.5-hi.ma.p2.5>Ask-Bid)   {
      ObjectCreate("lo.5.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.5, t2.p2, lo.ma.p2.5);
      ObjectSet("lo.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p2",OBJPROP_RAY,false);
      ObjectSet("lo.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p2",DoubleToStr(lo.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.5, t2.p2, hi.ma.p2.5);
      ObjectSet("hi.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p2",OBJPROP_RAY,false);
      ObjectSet("hi.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p2",DoubleToStr(hi.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p2, lo.6.p2)
   if(lo.ma.p2.6-hi.ma.p2.6>Ask-Bid)   {
      ObjectCreate("lo.6.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.6, t2.p2, lo.ma.p2.6);
      ObjectSet("lo.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p2",OBJPROP_RAY,false);
      ObjectSet("lo.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p2",DoubleToStr(lo.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.6, t2.p2, hi.ma.p2.6);
      ObjectSet("hi.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p2",OBJPROP_RAY,false);
      ObjectSet("hi.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p2",DoubleToStr(hi.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
      ObjectCreate("ma1.p2",OBJ_TEXT,0,t1.p2,ma1.p2);//13 ma
      ObjectSetText("ma1.p2",space+DoubleToStr(ma1.p2,Digits),8,"Arial",White);

      ObjectCreate("ma2.p2",OBJ_TEXT,0,t1.p2,ma2.p2);//21 ma
      ObjectSetText("ma2.p2",space+DoubleToStr(ma2.p2,Digits),8,"Arial",White);

      ObjectCreate("ma3.p2",OBJ_TEXT,0,t1.p2,ma3.p2);//34 ma
      if(Bid>ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p2 && Ask>=ma3.p2)  {
         ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma4.p2",OBJ_TEXT,0,t1.p2,ma4.p2);//55 ma
      if(Bid>ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p2 && Ask>=ma4.p2)  {
         ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma5.p2",OBJ_TEXT,0,t1.p2,ma5.p2);//89 ma
      if(Bid>ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Green);}
      if(Ask<ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p2 && Ask>=ma5.p2)  {
         ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma6.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma6.p2,Digits));//144 ma
      if(Bid>ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Green);}
      if(Ask<ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p2 && Ask>=ma6.p2)  {
         ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Yellow);}

      ObjectCreate("ma7.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma7.p2,Digits));//233 ma
      if(Bid>ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Green);}
      if(Ask<ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p2 && Ask>=ma7.p2)  {
         ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Yellow);}
}//end p2.Fib.Plot()

void p3.Fib.Plot()   {
//p3 dynamic fibo levels
   double lo.ma.p3,hi.ma.p3;
   lo.ma.p3=ma1.p3;
   if(ma2.p3<lo.ma.p3)  {lo.ma.p3=ma2.p3;}
   if(ma3.p3<lo.ma.p3)  {lo.ma.p3=ma3.p3;}
   if(ma4.p3<lo.ma.p3)  {lo.ma.p3=ma4.p3;}
   if(ma5.p3<lo.ma.p3)  {lo.ma.p3=ma5.p3;}
   if(ma6.p3<lo.ma.p3)  {lo.ma.p3=ma6.p3;}
   if(ma7.p3<lo.ma.p3)  {lo.ma.p3=ma7.p3;}
   lo.ma.p3=NormalizeDouble(lo.ma.p3+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p3=ma7.p3;
   if(ma6.p3>hi.ma.p3)  {hi.ma.p3=ma6.p3;}
   if(ma5.p3>hi.ma.p3)  {hi.ma.p3=ma5.p3;}
   if(ma4.p3>hi.ma.p3)  {hi.ma.p3=ma4.p3;}
   if(ma3.p3>hi.ma.p3)  {hi.ma.p3=ma3.p3;}
   if(ma2.p3>hi.ma.p3)  {hi.ma.p3=ma2.p3;}
   if(ma1.p3>hi.ma.p3)  {hi.ma.p3=ma1.p3;}
   hi.ma.p3=NormalizeDouble(hi.ma.p3-(fib.SR.shadow.1*Point),Digits);

//p3 center dynamic fib placement
   if(lo.ma.p3-hi.ma.p3>Ask-Bid)   {
      ObjectCreate("lcf.p3",OBJ_TREND,0,t1.p3, lo.ma.p3, t2.p3, lo.ma.p3);
      ObjectSet("lcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p3",OBJPROP_RAY,false);
      ObjectSet("lcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p3",DoubleToStr(lo.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p3",OBJ_TREND,0,t1.p3, hi.ma.p3, t2.p3, hi.ma.p3);
      ObjectSet("hcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p3",OBJPROP_RAY,false);
      ObjectSet("hcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p3",DoubleToStr(hi.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p3.1, lo.ma.p3.2, lo.ma.p3.3, lo.ma.p3.4, lo.ma.p3.5, lo.ma.p3.6;
   lo.ma.p3.1=lo.ma.p3+(fib.SR.shadow

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

//+------------------------------------------------------------------+
//|                  4 Period 7 MA Fibo Relational S.R Indicator.mq4 |
//|                 Copyright © 2006, tageiger aka fxid10t@yahoo.com |
//|                                        http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger aka fxid10t@yahoo.com"
#property link      "mailto:fxid10t@yahoo.com"

#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Yellow
#property indicator_color2 Gold
#property indicator_color3 Orange
#property indicator_color4 DarkOrange
#property indicator_color5 Goldenrod
#property indicator_color6 DarkGoldenrod
#property indicator_color7 Sienna
//---- input parameters
extern int  Time.Frame=1;
extern bool Show.Ma?=false;
extern int ma.applied.price=1;
extern int L1.Length=13;
extern int L1.Method=0;
extern int L2.Length=21;
extern int L2.Method=0;
extern int L3.Length=34;
extern int L3.Method=0;
extern int L4.Length=55;
extern int L4.Method=0;
extern int L5.Length=89;
extern int L5.Method=0;
extern int L6.Length=144;
extern int L6.Method=0;
extern int L7.Length=233;
extern int L7.Method=0;
//---- indicator buffers
double L1.Buffer[];
double L2.Buffer[];
double L3.Buffer[];
double L4.Buffer[];
double L5.Buffer[];
double L6.Buffer[];
double L7.Buffer[];
string L1,L2,L3,L4,L5,L6,L7;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()  {
/*---- line shifts when drawing
   SetIndexShift(0,0);
   SetIndexShift(0,0);
   SetIndexShift(0,0);
   SetIndexShift(0,0);
   SetIndexShift(0,0);
   SetIndexShift(0,0);
   SetIndexShift(0,0); */
//---- first positions skipped when drawing
   SetIndexDrawBegin(0,L1.Length);
   SetIndexDrawBegin(1,L2.Length);
   SetIndexDrawBegin(2,L3.Length);
   SetIndexDrawBegin(3,L4.Length);
   SetIndexDrawBegin(4,L5.Length);
   SetIndexDrawBegin(5,L6.Length);
   SetIndexDrawBegin(6,L7.Length);
//---- 7 indicator buffers mapping
   SetIndexBuffer(0,L1.Buffer);
   SetIndexBuffer(1,L2.Buffer);
   SetIndexBuffer(2,L3.Buffer);
   SetIndexBuffer(3,L4.Buffer);
   SetIndexBuffer(4,L5.Buffer);
   SetIndexBuffer(5,L6.Buffer);
   SetIndexBuffer(6,L7.Buffer);
//---- drawing settings
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexStyle(4,DRAW_LINE);
   SetIndexStyle(5,DRAW_LINE);
   SetIndexStyle(6,DRAW_LINE);
//---- index labels
   SetIndexLabel(0,"L1");
   SetIndexLabel(1,"L2");
   SetIndexLabel(2,"L3");
   SetIndexLabel(3,"L4");
   SetIndexLabel(4,"L5");
   SetIndexLabel(5,"L6");
   SetIndexLabel(6,"L7");
//---- initialization done
return(0);  }//end init
int deinit()   {
   ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);   }//end deinit
int start() {
   if(Time.Frame==Period())   {ObjectsDeleteAll();}
   int limit;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- main loop
   if(Time.Frame==Period() && Show.Ma?==true)   {
   for(int i=0; i<limit; i++) {
      //---- ma_shift set to 0 because SetIndexShift called abowe
      L1.Buffer[i]=iMA(Symbol(),Time.Frame,L1.Length,0,L1.Method,ma.applied.price,i);
      L2.Buffer[i]=iMA(Symbol(),Time.Frame,L2.Length,0,L2.Method,ma.applied.price,i);
      L3.Buffer[i]=iMA(Symbol(),Time.Frame,L3.Length,0,L3.Method,ma.applied.price,i);
      L4.Buffer[i]=iMA(Symbol(),Time.Frame,L4.Length,0,L4.Method,ma.applied.price,i);
      L5.Buffer[i]=iMA(Symbol(),Time.Frame,L5.Length,0,L5.Method,ma.applied.price,i);
      L6.Buffer[i]=iMA(Symbol(),Time.Frame,L6.Length,0,L6.Method,ma.applied.price,i);
      L7.Buffer[i]=iMA(Symbol(),Time.Frame,L7.Length,0,L7.Method,ma.applied.price,i);  }}

   if(Time.Frame!=Period() || Show.Ma?==false)   {
      L1.Buffer[0]=iMA(Symbol(),Time.Frame,L1.Length,0,L1.Method,ma.applied.price,0);
      L2.Buffer[0]=iMA(Symbol(),Time.Frame,L2.Length,0,L2.Method,ma.applied.price,0);
      L3.Buffer[0]=iMA(Symbol(),Time.Frame,L3.Length,0,L3.Method,ma.applied.price,0);
      L4.Buffer[0]=iMA(Symbol(),Time.Frame,L4.Length,0,L4.Method,ma.applied.price,0);
      L5.Buffer[0]=iMA(Symbol(),Time.Frame,L5.Length,0,L5.Method,ma.applied.price,0);
      L6.Buffer[0]=iMA(Symbol(),Time.Frame,L6.Length,0,L6.Method,ma.applied.price,0);
      L7.Buffer[0]=iMA(Symbol(),Time.Frame,L7.Length,0,L7.Method,ma.applied.price,0);}

//.....Object Names.....
   L1="L1"+" "+Time.Frame+"m";
   L2="L2"+" "+Time.Frame+"m";
   L3="L3"+" "+Time.Frame+"m";
   L4="L4"+" "+Time.Frame+"m";
   L5="L5"+" "+Time.Frame+"m";
   L6="L6"+" "+Time.Frame+"m";
   L7="L7"+" "+Time.Frame+"m";

//....Object Spatial Placement.....
   double zoom.multiplier;int bpw=BarsPerWindow();
   if(bpw<25)              {zoom.multiplier=0.05;}
   if(bpw>25 && bpw<50)    {zoom.multiplier=0.07;}
   if(bpw>50 && bpw<175)   {zoom.multiplier=0.12;}
   if(bpw>175 && bpw<375)  {zoom.multiplier=0.25;}
   if(bpw>375 && bpw<750)  {zoom.multiplier=0.5;}
   if(bpw>750)   {zoom.multiplier=1;}
   double time.frame.multiplier;
   if(Period()==1)   {time.frame.multiplier=0.65;}
   if(Period()==5)   {time.frame.multiplier=3.25;}
   if(Period()==15)  {time.frame.multiplier=9.75;}
   if(Period()==60)  {time.frame.multiplier=39;}
   if(Time.Frame==1)   {
      datetime m1.1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
      datetime m1.2=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);}
   if(Time.Frame==5)   {
      m1.1=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
      m1.2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);}
   if(Time.Frame==15)  {
      m1.1=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
      m1.2=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);}
   if(Time.Frame==60)   {
      m1.1=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
      m1.2=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}
//dynamic fibo levels....
   double lo.ma,hi.ma; i=0;
   lo.ma=L1.Buffer[i];
   if(L2.Buffer[i]<lo.ma)  {lo.ma=L2.Buffer[i];}
   if(L3.Buffer[i]<lo.ma)  {lo.ma=L3.Buffer[i];}
   if(L4.Buffer[i]<lo.ma)  {lo.ma=L4.Buffer[i];}
   if(L5.Buffer[i]<lo.ma)  {lo.ma=L5.Buffer[i];}
   if(L6.Buffer[i]<lo.ma)  {lo.ma=L6.Buffer[i];}
   if(L7.Buffer[i]<lo.ma)  {lo.ma=L7.Buffer[i];}
   lo.ma=NormalizeDouble(lo.ma+(8*Point),Digits);//AliceBlue

   hi.ma=L7.Buffer[i];
   if(L6.Buffer[i]>hi.ma)  {hi.ma=L6.Buffer[i];}
   if(L5.Buffer[i]>hi.ma)  {hi.ma=L5.Buffer[i];}
   if(L4.Buffer[i]>hi.ma)  {hi.ma=L4.Buffer[i];}
   if(L3.Buffer[i]>hi.ma)  {hi.ma=L3.Buffer[i];}
   if(L2.Buffer[i]>hi.ma)  {hi.ma=L2.Buffer[i];}
   if(L1.Buffer[i]>hi.ma)  {hi.ma=L1.Buffer[i];}
   hi.ma=NormalizeDouble(hi.ma-(8*Point),Digits);//AliceBlue

   double lo.ma.1,lo.ma.2,lo.ma.3,lo.ma.4,lo.ma.5,lo.ma.6;
   lo.ma.1=lo.ma+(8*Point);
   lo.ma.2=lo.ma.1+(11*Point);
   lo.ma.3=lo.ma.2+(16*Point);
   lo.ma.4=lo.ma.3+(27*Point);
   lo.ma.5=lo.ma.4+(43*Point);
   lo.ma.6=lo.ma.5+(90*Point);

   double hi.ma.1,hi.ma.2,hi.ma.3,hi.ma.4,hi.ma.5,hi.ma.6;
   hi.ma.1=hi.ma-(8*Point);//LightBlue
   hi.ma.2=hi.ma.1-(11*Point);//DodgerBlue
   hi.ma.3=hi.ma.2-(16*Point);//RoyalBlue
   hi.ma.4=hi.ma.3-(27*Point);//MediumBlue
   hi.ma.5=hi.ma.4-(43*Point);//Blue
   hi.ma.6=hi.ma.5-(90*Point);//DarkBlue

// Dynamic fib Plotting...Current Period Chart
// center fib space
   if(Time.Frame==Period())   {
      if(lo.ma-hi.ma>Ask-Bid)   {
      ObjectCreate("lo.ma",OBJ_ARROW,0,Time[i],lo.ma);
      ObjectSet("lo.ma",14,4);
      ObjectSet("lo.ma",OBJPROP_COLOR,AliceBlue);
      ObjectCreate("hi.ma",OBJ_ARROW,0,Time[i],hi.ma);
      ObjectSet("hi.ma",14,4);
      ObjectSet("hi.ma",OBJPROP_COLOR,AliceBlue);}
// 1st fib levels
      if(lo.ma.1-hi.ma.1>Ask-Bid)   {
      ObjectCreate("lo.1",OBJ_ARROW,0,Time[i],lo.ma.1);
      ObjectSet("lo.1",14,4);
      ObjectSet("lo.1",OBJPROP_COLOR,LightBlue);
      ObjectCreate("hi.1",OBJ_ARROW,0,Time[i],hi.ma.1);
      ObjectSet("hi.1",14,4);
      ObjectSet("hi.1",OBJPROP_COLOR,LightBlue);}
// 2nd fib levels
      if(lo.ma.2-hi.ma.2>Ask-Bid)   {
      ObjectCreate("lo.2",OBJ_ARROW,0,Time[i],lo.ma.2);
      ObjectSet("lo.2",14,4);
      ObjectSet("lo.2",OBJPROP_COLOR,DodgerBlue);
      ObjectCreate("hi.2",OBJ_ARROW,0,Time[i],hi.ma.2);
      ObjectSet("hi.2",14,4);
      ObjectSet("hi.2",OBJPROP_COLOR,DodgerBlue);}
// 3rd fib level
      if(lo.ma.3-hi.ma.3>Ask-Bid)   {
      ObjectCreate("lo.3",OBJ_ARROW,0,Time[i],lo.ma.3);
      ObjectSet("lo.3",14,4);
      ObjectSet("lo.3",OBJPROP_COLOR,RoyalBlue);
      ObjectCreate("hi.3",OBJ_ARROW,0,Time[i],hi.ma.3);
      ObjectSet("hi.3",14,4);
      ObjectSet("hi.3",OBJPROP_COLOR,RoyalBlue);}
// 4th fib level
      if(lo.ma.4-hi.ma.4>1*Point)   {
      ObjectCreate("lo.4",OBJ_ARROW,0,Time[i],lo.ma.4);
      ObjectSet("lo.4",14,4);
      ObjectSet("lo.4",OBJPROP_COLOR,MediumBlue);
      ObjectCreate("hi.4",OBJ_ARROW,0,Time[i],hi.ma.4);
      ObjectSet("hi.4",14,4);
      ObjectSet("hi.4",OBJPROP_COLOR,MediumBlue);}
// 5th fib level
      if(lo.ma.5-hi.ma.5>Ask-Bid)   {
      ObjectCreate("lo.5",OBJ_ARROW,0,Time[i],lo.ma.5);
      ObjectSet("lo.5",14,4);
      ObjectSet("lo.5",OBJPROP_COLOR,Blue);
      ObjectCreate("hi.5",OBJ_ARROW,0,Time[i],hi.ma.5);
      ObjectSet("hi.5",14,4);
      ObjectSet("hi.5",OBJPROP_COLOR,Blue);}
// 6th fib level
      if(lo.ma.6-hi.ma.6>Ask-Bid)   {
      ObjectCreate("lo.6",OBJ_ARROW,0,Time[i],lo.ma.6);
      ObjectSet("lo.6",14,4);
      ObjectSet("lo.6",OBJPROP_COLOR,DarkBlue);
      ObjectCreate("hi.6",OBJ_ARROW,0,Time[i],hi.ma.6);
      ObjectSet("hi.6",14,4);
      ObjectSet("hi.6",OBJPROP_COLOR,DarkBlue);}   }

// Dynamic fib Plotting...Multi Period Lane Support / Resistance
// center fib space
   if(lo.ma-hi.ma>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma",OBJ_TREND,0,m1.1, lo.ma, m1.2, lo.ma);
      ObjectSet(Time.Frame+"lo.ma",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma",OBJPROP_COLOR,AliceBlue);
      ObjectSetText(Time.Frame+"lo.ma",DoubleToStr(lo.ma,Digits),7,"Arial",AliceBlue);
      ObjectCreate(Time.Frame+"hi.ma",OBJ_TREND,0,m1.1, hi.ma, m1.2, hi.ma);
      ObjectSet(Time.Frame+"hi.ma",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma",OBJPROP_COLOR,AliceBlue);
      ObjectSetText(Time.Frame+"hi.ma",DoubleToStr(hi.ma,Digits),7,"Arial",AliceBlue);   }
// 1st level
   if(lo.ma.1-hi.ma.1>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.1",OBJ_TREND,0,m1.1, lo.ma.1, m1.2, lo.ma.1);
      ObjectSet(Time.Frame+"lo.ma.1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.1",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.1",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.1",OBJPROP_COLOR,LightBlue);
      ObjectSetText(Time.Frame+"lo.ma.1",DoubleToStr(lo.ma.1,Digits),7,"Arial",LightBlue);

      ObjectCreate(Time.Frame+"hi.ma.1",OBJ_TREND,0,m1.1, hi.ma.1, m1.2, hi.ma.1);
      ObjectSet(Time.Frame+"hi.ma.1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.1",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.1",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.1",OBJPROP_COLOR,LightBlue);
      ObjectSetText(Time.Frame+"hi.ma.1",DoubleToStr(hi.ma.1,Digits),7,"Arial",LightBlue);   }

// 2st level
   if(lo.ma.2-hi.ma.2>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.2",OBJ_TREND,0,m1.1, lo.ma.2, m1.2, lo.ma.2);
      ObjectSet(Time.Frame+"lo.ma.2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.2",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.2",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.2",OBJPROP_COLOR,DodgerBlue);
      ObjectSetText(Time.Frame+"lo.ma.2",DoubleToStr(lo.ma.2,Digits),7,"Arial",DodgerBlue);

      ObjectCreate(Time.Frame+"hi.ma.2",OBJ_TREND,0,m1.1, hi.ma.2, m1.2, hi.ma.2);
      ObjectSet(Time.Frame+"hi.ma.2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.2",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.2",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.2",OBJPROP_COLOR,DodgerBlue);
      ObjectSetText(Time.Frame+"hi.ma.2",DoubleToStr(hi.ma.2,Digits),7,"Arial",DodgerBlue);   }

// 3rd level
   if(lo.ma.3-hi.ma.3>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.3",OBJ_TREND,0,m1.1, lo.ma.3, m1.2, lo.ma.3);
      ObjectSet(Time.Frame+"lo.ma.3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.3",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.3",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.3",OBJPROP_COLOR,RoyalBlue);
      ObjectSetText(Time.Frame+"lo.ma.3",DoubleToStr(lo.ma.3,Digits),7,"Arial",RoyalBlue);

      ObjectCreate(Time.Frame+"hi.ma.3",OBJ_TREND,0,m1.1, hi.ma.3, m1.2, hi.ma.3);
      ObjectSet(Time.Frame+"hi.ma.3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.3",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.3",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.3",OBJPROP_COLOR,DodgerBlue);
      ObjectSetText(Time.Frame+"hi.ma.3",DoubleToStr(hi.ma.3,Digits),7,"Arial",RoyalBlue);   }

// 4th level
   if(lo.ma.4-hi.ma.4>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.4",OBJ_TREND,0,m1.1, lo.ma.4, m1.2, lo.ma.4);
      ObjectSet(Time.Frame+"lo.ma.4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.4",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.4",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.4",OBJPROP_COLOR,MediumBlue);
      ObjectSetText(Time.Frame+"lo.ma.4",DoubleToStr(lo.ma.4,Digits),7,"Arial",MediumBlue);

      ObjectCreate(Time.Frame+"hi.ma.4",OBJ_TREND,0,m1.1, hi.ma.4, m1.2, hi.ma.4);
      ObjectSet(Time.Frame+"hi.ma.4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.4",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.4",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.4",OBJPROP_COLOR,MediumBlue);
      ObjectSetText(Time.Frame+"hi.ma.4",DoubleToStr(hi.ma.4,Digits),7,"Arial",MediumBlue);   }

// 5th level
   if(lo.ma.5-hi.ma.5>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.5",OBJ_TREND,0,m1.1, lo.ma.5, m1.2, lo.ma.5);
      ObjectSet(Time.Frame+"lo.ma.5",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.5",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.5",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.5",OBJPROP_COLOR,Blue);
      ObjectSetText(Time.Frame+"lo.ma.5",DoubleToStr(lo.ma.5,Digits),7,"Arial",Blue);

      ObjectCreate(Time.Frame+"hi.ma.5",OBJ_TREND,0,m1.1, hi.ma.5, m1.2, hi.ma.5);
      ObjectSet(Time.Frame+"hi.ma.5",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.5",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.5",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.5",OBJPROP_COLOR,Blue);
      ObjectSetText(Time.Frame+"hi.ma.5",DoubleToStr(hi.ma.5,Digits),7,"Arial",Blue);   }

// 6th level
   if(lo.ma.6-hi.ma.6>Ask-Bid)   {
      ObjectCreate(Time.Frame+"lo.ma.6",OBJ_TREND,0,m1.1, lo.ma.6, m1.2, lo.ma.6);
      ObjectSet(Time.Frame+"lo.ma.6",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"lo.ma.6",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"lo.ma.6",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"lo.ma.6",OBJPROP_COLOR,DarkBlue);
      ObjectSetText(Time.Frame+"lo.ma.6",DoubleToStr(lo.ma.6,Digits),7,"Arial",DarkBlue);

      ObjectCreate(Time.Frame+"hi.ma.6",OBJ_TREND,0,m1.1, hi.ma.6, m1.2, hi.ma.6);
      ObjectSet(Time.Frame+"hi.ma.6",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(Time.Frame+"hi.ma.6",OBJPROP_WIDTH,2);
      ObjectSet(Time.Frame+"hi.ma.6",OBJPROP_RAY,false);
      ObjectSet(Time.Frame+"hi.ma.6",OBJPROP_COLOR,DarkBlue);
      ObjectSetText(Time.Frame+"hi.ma.6",DoubleToStr(hi.ma.6,Digits),7,"Arial",DarkBlue);   }

//...............Moving Average Support & Resistance Levels..............................
      if(ObjectsTotal(OBJ_TEXT)>28) {ObjectsDeleteAll(0,OBJ_TEXT);}
      string space="             ";
      ObjectCreate(L1,OBJ_TEXT,0,m1.1,NormalizeDouble(L1.Buffer[0],Digits));//13 ma
      ObjectSetText(L1,space+DoubleToStr(L1.Buffer[0],Digits),8,"Arial",White);
      ObjectCreate(L2,OBJ_TEXT,0,m1.1,NormalizeDouble(L2.Buffer[0],Digits));//21 ma
      ObjectSetText(L2,space+DoubleToStr(L2.Buffer[0],Digits),8,"Arial",White);
      ObjectCreate(L3,OBJ_TEXT,0,m1.1,NormalizeDouble(L3.Buffer[0],Digits));//34 ma
      if(Bid>L3.Buffer[0]) {ObjectSetText(L3,space+DoubleToStr(L3.Buffer[0],Digits),8,"Arial",LightGreen);}
      if(Ask<L3.Buffer[0]) {ObjectSetText(L3,space+DoubleToStr(L3.Buffer[0],Digits),8,"Arial",Pink);}
      if(Bid<=L3.Buffer[0] && Ask>=L3.Buffer[0])  {
         ObjectSetText(L3,space+DoubleToStr(L3.Buffer[0],Digits),8,"Arial",Yellow);}
      ObjectCreate(L4,OBJ_TEXT,0,m1.1,NormalizeDouble(L4.Buffer[0],Digits));//55 ma
      if(Bid>L4.Buffer[0]) {ObjectSetText(L4,space+DoubleToStr(L4.Buffer[0],Digits),8,"Arial",LightGreen);}
      if(Ask<L4.Buffer[0]) {ObjectSetText(L4,space+DoubleToStr(L4.Buffer[0],Digits),8,"Arial",Pink);}
      if(Bid<=L4.Buffer[0] && Ask>=L4.Buffer[0])  {
         ObjectSetText(L4,space+DoubleToStr(L4.Buffer[0],Digits),8,"Arial",Yellow);}
      ObjectCreate(L5,OBJ_TEXT,0,m1.1,NormalizeDouble(L5.Buffer[0],Digits));//89 ma
      if(Bid>L5.Buffer[0]) {ObjectSetText(L5,space+DoubleToStr(L5.Buffer[0],Digits),8,"Arial",Green);}
      if(Ask<L5.Buffer[0]) {ObjectSetText(L5,space+DoubleToStr(L5.Buffer[0],Digits),8,"Arial",Red);}
      if(Bid<=L5.Buffer[0] && Ask>=L5.Buffer[0])  {
         ObjectSetText(L5,space+DoubleToStr(L5.Buffer[0],Digits),8,"Arial",Yellow);}
      ObjectCreate(L6,OBJ_TEXT,0,m1.1,NormalizeDouble(L6.Buffer[0],Digits));//144 ma
      if(Bid>L6.Buffer[0]) {ObjectSetText(L6,space+DoubleToStr(L6.Buffer[0],Digits),8,"Arial",Green);}
      if(Ask<L6.Buffer[0]) {ObjectSetText(L6,space+DoubleToStr(L6.Buffer[0],Digits),8,"Arial",Red);}
      if(Bid<=L6.Buffer[0] && Ask>=L6.Buffer[0])  {
         ObjectSetText(L6,space+DoubleToStr(L6.Buffer[0],Digits),8,"Arial",Yellow);}
      ObjectCreate(L7,OBJ_TEXT,0,m1.1,NormalizeDouble(L7.Buffer[0],Digits));//233 ma
      if(Bid>L7.Buffer[0]) {ObjectSetText(L7,space+DoubleToStr(L7.Buffer[0],Digits),8,"Arial",Green);}
      if(Ask<L7.Buffer[0]) {ObjectSetText(L7,space+DoubleToStr(L7.Buffer[0],Digits),8,"Arial",Red);}
      if(Bid<=L7.Buffer[0] && Ask>=L7.Buffer[0])  {
         ObjectSetText(L7,space+DoubleToStr(L7.Buffer[0],Digits),8,"Arial",Yellow);}
//..................Time Frame "Lanes".................................................
      string lane.down, lane.up;
      if(ObjectsTotal(OBJ_RECTANGLE)>8) {ObjectsDeleteAll(0,OBJ_RECTANGLE);ObjectsRedraw();}
      lane.down=Bid+" "+Time.Frame; lane.up=Ask+" "+Time.Frame;
      if(Time.Frame==1)   {
         ObjectCreate(lane.down,OBJ_RECTANGLE,0,m1.1,Bid,m1.2,0);
         ObjectSet(lane.down,OBJPROP_COLOR,Red);
         ObjectCreate(lane.up,OBJ_RECTANGLE,0,m1.1,Ask,m1.2,Ask*1.5);
         ObjectSet(lane.up,OBJPROP_COLOR,Green);}
      if(Time.Frame==5)   {
         ObjectCreate(lane.down,OBJ_RECTANGLE,0,m1.1,0,m1.2,Bid);
         ObjectSet(lane.down,OBJPROP_COLOR,Red);
         ObjectCreate(lane.up,OBJ_RECTANGLE,0,m1.1,Ask,m1.2,Ask*1.5);
         ObjectSet(lane.up,OBJPROP_COLOR,Green);}
      if(Time.Frame==15)  {
         ObjectCreate(lane.down,OBJ_RECTANGLE,0,m1.1,Bid,m1.2,0);
         ObjectSet(lane.down,OBJPROP_COLOR,Red);
         ObjectCreate(lane.up,OBJ_RECTANGLE,0,m1.1,Ask,m1.2,Ask*1.5);
         ObjectSet(lane.up,OBJPROP_COLOR,Green);}
      if(Time.Frame==60)   {
         ObjectCreate(lane.down,OBJ_RECTANGLE,0,m1.1,Bid,m1.2,0);
         ObjectSet(lane.down,OBJPROP_COLOR,Red);
         ObjectCreate(lane.up,OBJ_RECTANGLE,0,m1.1,Ask,m1.2,Ask*1.5);
         ObjectSet(lane.up,OBJPROP_COLOR,Green);}
//---- done
   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

MT4_Indicators_3shadeopen.mq4

//+------------------------------------------------------------------+
//|                                                      3shadeopen.mq4 |
//|                                         Copyright © 2006, sx ted |
//| Purpose: shade New York or other sessions for chart time frames  |
//|          M1 to H4 (at a push).                                   |
//| version: 2 - enhanced for speed but with MT4 beeing so fast no   |
//|              difference will be noticed, all the sessions are    |
//|              shaded in the init(), last session if it is current |
//|              is widened in the start() in lieu of repainting all.|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, sx ted"
#property link      ""

#property indicator_chart_window

//---- input parameters
extern color     ShadeColor=Gold;

/*
// if in Moscow
#define NY_OPEN_HH   17 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  00 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes
*/

/* if in London
#define NY_OPEN_HH   14 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  21 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes
*/

// if in New York
#define NY_OPEN_HH   06 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  13 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes

#define MAX_DAYS_TO_SHADE  5 // maximum number of days back from last chart date to be shaded

//---- global variables to program
string obj[]; //array of object names
int    iPrevious=0, iStart=-1, iEnd;
double dLow, dHigh;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   if(Period()>PERIOD_H4) return(0); // no shading required
   int iMaxBarsOnChart=iBars(NULL,0), i, iBarDay, iBarTime;
   // find approximate start of first day to shade
   int iBarsToDo=MathMin((MAX_DAYS_TO_SHADE*PERIOD_D1)/Period(),iMaxBarsOnChart);
   // find start of first day to shade
   for(i=iBarsToDo; i<iMaxBarsOnChart; i++)
     {
      iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
      iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
      if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM) iStart=i;
      else if(iStart>-1) break;
     }
   if(iStart>-1) iBarsToDo=iStart;
   iStart=-1;
   // shade previous sessions and current session if started
   for(i=iBarsToDo; i>=0; i--)
     {
      iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
      iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
      if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM)
        {
         if(iBarDay==iPrevious)   // current NY session
           {
            dLow =MathMin(dLow,  Low[i]);
            dHigh=MathMax(dHigh, High[i]);
           }
         else                     // new NY session
           {
            dLow=Low[i];
            dHigh=High[i];
            iStart=i;
            iPrevious=iBarDay;
           }
         iEnd=i;
        }
      else if(iStart>-1)
        {
         PaintRectangle();
         iStart=-1;
        }
     }
   if(iStart>-1) PaintRectangle(); // paint the last one if session not closed
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   int iaCount=ArraySize(obj);
   for(int i=0; i<iaCount; i++)
     {
      if(ObjectFind(obj[i])>-1) ObjectDelete(obj[i]);
     }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i=0, iBarDay, iBarTime;
   iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
   iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
   if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM)
     {
      if(iBarDay==iPrevious)   // current NY session
        {
         dLow =MathMin(dLow,  Low[i]);
         dHigh=MathMax(dHigh, High[i]);
        }
      else                     // new NY session
        {
         dLow=Low[i];
         dHigh=High[i];
         iStart=i;
         iPrevious=iBarDay;
        }
      iEnd=i;
      PaintRectangle();
     }
   return(0);
  }
//+------------------------------------------------------------------+
//| Paint rectangle                                                  |
//+------------------------------------------------------------------+
void PaintRectangle()
  {
   string sObj="ShadeNY_"+DoubleToStr(iPrevious, 0); // name for the object
   if(ObjectFind(sObj)>-1)
     {
      // current session object found, so just widen it
      ObjectSet(sObj,OBJPROP_PRICE1,dLow-Point);
      ObjectSet(sObj,OBJPROP_TIME2 ,Time[iEnd]);
      ObjectSet(sObj,OBJPROP_PRICE2,dHigh+Point);
     }
   else
     {
      // otherwise create new object for the session
      int iaCount=ArraySize(obj);
      ArrayResize(obj, iaCount+1);
      obj[iaCount]=sObj;
      ObjectCreate(sObj,OBJ_RECTANGLE,0,Time[iStart],dLow-Point,Time[iEnd],dHigh+Point);
      ObjectSet(sObj,OBJPROP_COLOR,ShadeColor);
     }
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

 Page 1 of 5  1  2  3  4  5 »

Tweet This Post links powered by Tweet This v1.3.9, a WordPress plugin for Twitter.