Trader Dash Board





//+------------------------------------------------------------------+
//|                                            Trader Dash Board.mq4 |
//|                                           djindyfx@sbcglobal.net |
//|      http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/ |
//+------------------------------------------------------------------+
#property copyright "djindyfx@sbcglobal.net"
#property link      "http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/"

#property indicator_chart_window
//---- input parameters
extern string    Note="Display Start Corner";
extern int       What.Corner=1;
extern string    Note.1="Font Size & Type";
extern int       Font.Size=12;
extern string    Front.Type="Calibri";
extern string    Note.2="Change Bid & Ask Colors";
extern bool      Bid.Ask.Colors=true;
extern string    Note.3="Change Above-Below Colors";
extern bool      Price.Movement.Colors=true;
extern color     Default.Font.Color = Yellow;
extern int       Move.Up.Down = 15 ;
extern int       Side.Distance = 2;

// ----- Colors for Fonts
color Font.Color.Bid = Black;
color Font.Color.Ask = Black;
color Bears.Color = Red;
color Bulls.Color = LawnGreen;
color Other.Color = DeepSkyBlue;
color Other.Color.1 = Yellow;
color Other.Color.2 = Blue;

// ----- Global

double Bid.Price, Ask.Price;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete("Obj.Seperate.Label");
   ObjectDelete("Obj.Seperate.1.Label");
   ObjectDelete("Obj.Seperate.2.Label");
   
   ObjectDelete("Obj.Ask.Label");
   ObjectDelete("Obj.Bid.Label");
   ObjectDelete("Obj.Spread.Label");
   ObjectDelete("Obj.Tick.Value.Label");
   
   ObjectDelete("Obj.Current.Bar.Open.Label");
   ObjectDelete("Obj.Current.Bar.High.Label");
   ObjectDelete("Obj.Current.Bar.Low.Label");
   ObjectDelete("Obj.Current.Bar.High.Movement.Label");
   ObjectDelete("Obj.Current.Bar.Low.Movement.Label");
   ObjectDelete("Obj.Current.Bar.Movement.Label");
   
   ObjectDelete("Obj.SMA.8.Label");
   ObjectDelete("Obj.SMA.20.Label");

   
   ObjectDelete("Obj.Prior.Bar.Open.Label");
   ObjectDelete("Obj.Prior.Bar.High.Label");
   ObjectDelete("Obj.Prior.Bar.Low.Label");
   ObjectDelete("Obj.Prior.Bar.Movement.Label");
   
   ObjectDelete("Obj.Daily.Open.Label");
   ObjectDelete("Obj.Daily.Movment.Label");
   ObjectDelete("Obj.Prior.Daily.Open.Label");
   ObjectDelete("Obj.Weekly.Open.Label");
   ObjectDelete("Obj.Weekly.Movement.Label");
   ObjectDelete("Obj.Prior.Weekly.Open.Label");
   ObjectDelete("Obj.Monthly.Open.Label");
   ObjectDelete("Obj.Monthly.Movement.Label");
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//---- Main Group

   double Spread, Tick.Value;
   
   if (Bid.Ask.Colors == true)
   {
      if (Bid > Bid.Price) Font.Color.Bid = Bulls.Color;
      if (Bid < Bid.Price) Font.Color.Bid = Bears.Color;
      if (Ask > Ask.Price) Font.Color.Ask = Bulls.Color;
      if (Ask < Ask.Price) Font.Color.Ask = Bears.Color;
      Bid.Price = Bid;
      Ask.Price = Ask;
   }
   Spread = (Ask-Bid)/Point;
   Tick.Value = MarketInfo(Symbol(),MODE_TICKVALUE);
   
   string St.Ask = DoubleToStr(Ask, Digits);
   string St.Bid = DoubleToStr(Bid, Digits);
   string St.Spread = DoubleToStr(Spread,0);
   string St.Tick.Value = DoubleToStr(Tick.Value,2);
   
   int Y.Initial.Distance,Y.Dist.Inc, Dist.From.Side, Y.Dist.1;
   Dist.From.Side = Side.Distance;
   Y.Initial.Distance = Move.Up.Down;
   Y.Dist.Inc = 20;
   
   Y.Dist.1 = Y.Initial.Distance + Y.Dist.Inc;
   
   ObjectCreate("Obj.Ask.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Ask.Label", "Ask " + St.Ask, Font.Size, Front.Type, Font.Color.Ask);
   ObjectSet("Obj.Ask.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Ask.Label", OBJPROP_XDISTANCE, Dist.From.Side+90);
   ObjectSet("Obj.Ask.Label", OBJPROP_YDISTANCE, Y.Initial.Distance);
   
   ObjectCreate("Obj.Bid.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Bid.Label", "Bid " + St.Bid, Font.Size, Front.Type, Font.Color.Bid);
   ObjectSet("Obj.Bid.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Bid.Label", OBJPROP_XDISTANCE, Dist.From.Side+90);
   ObjectSet("Obj.Bid.Label", OBJPROP_YDISTANCE, Y.Dist.1);

   ObjectCreate("Obj.Spread.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Spread.Label", "Spread " + St.Spread, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Spread.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Spread.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.Spread.Label", OBJPROP_YDISTANCE, Y.Initial.Distance);

   ObjectCreate("Obj.Tick.Value.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Tick.Value.Label", "Value " + St.Tick.Value, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Tick.Value.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Tick.Value.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.Tick.Value.Label", OBJPROP_YDISTANCE, Y.Dist.1);

// - Group 2 Current Bar / Prior Bar Data - 

   double Current.Bar.Open, Current.Bar.Movement, Current.Bar.High, Current.Bar.Low, Current.Bar.High.Movement, Current.Bar.Low.Movement, Current.Bar.Total, SMA.8, SMA.20;
   double Prior.Bar.Open, Prior.Bar.Movement, Prior.Bar.High, Prior.Bar.Low,Prior.Bar.High.Movement,Prior.Bar.Low.Movement;
   color Current.Bar.Color = Default.Font.Color;
   
   Current.Bar.Open = iOpen(Symbol(),0,0);
   Current.Bar.High = iHigh(Symbol(),0,0);
   Current.Bar.Low = iLow(Symbol(),0,0);
   Current.Bar.High.Movement = (iHigh(Symbol(),0,0) - iOpen(Symbol(),0,0))/Point;
   Current.Bar.Low.Movement = (iOpen(Symbol(),0,0) - iLow(Symbol(),0,0))/Point;
   Prior.Bar.Open = iOpen(Symbol(),0,1);
   Prior.Bar.High = iHigh(Symbol(),0,1);
   Prior.Bar.Low = iLow(Symbol(),0,1);
   Prior.Bar.Movement = (iHigh(Symbol(),0,1) - iLow(Symbol(),0,1))/Point;
   Prior.Bar.High.Movement = (iHigh(Symbol(),0,1) - iOpen(Symbol(),0,1))/Point;
   Prior.Bar.Low.Movement = (iOpen(Symbol(),0,1) - iLow(Symbol(),0,1))/Point;

   
   
   SMA.8 = iMA(Symbol(),0,8,0,MODE_SMA,PRICE_CLOSE,0);
   SMA.20 = iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,0);
   
   if (Price.Movement.Colors == true)
   {
      if (Bid > Current.Bar.Open) Current.Bar.Color = Bulls.Color;
      if (Bid < Current.Bar.Open) Current.Bar.Color = Bears.Color;
      Current.Bar.Movement = (Bid - iOpen(Symbol(),0,0))/Point;
   }
   
   int Y.Dist.2, Y.Dist.3, Y.Dist.4, Y.Dist.5, Y.Dist.6, Y.Dist.7, Y.Dist.8, Y.Dist.9, Y.Dist.10;
   Y.Dist.2 = Y.Dist.1 + Y.Dist.Inc;
   Y.Dist.3 = Y.Dist.2 + Y.Dist.Inc;
   Y.Dist.4 = Y.Dist.3 + Y.Dist.Inc;
   Y.Dist.5 = Y.Dist.4 + Y.Dist.Inc;
   Y.Dist.6 = Y.Dist.5 + Y.Dist.Inc;
   Y.Dist.7 = Y.Dist.6 + Y.Dist.Inc;
   Y.Dist.8 = Y.Dist.7 + Y.Dist.Inc;
   Y.Dist.9 = Y.Dist.8 + Y.Dist.Inc;
   Y.Dist.10 = Y.Dist.9 + Y.Dist.Inc;
   
   string St.Current.Bar.Open  = DoubleToStr(Current.Bar.Open,Digits);
   string St.Current.Bar.High = DoubleToStr(Current.Bar.High,Digits);
   string St.Current.Bar.Low = DoubleToStr(Current.Bar.Low,Digits);
   string St.Current.Bar.Movement = DoubleToStr (Current.Bar.Movement,0);
   string St.Current.Bar.High.Movement = DoubleToStr(Current.Bar.High.Movement,0);
   string St.Current.Bar.Low.Movement = DoubleToStr(Current.Bar.Low.Movement,0);
   string St.SMA.8 = DoubleToStr(SMA.8,Digits);
   string St.SMA.20 = DoubleToStr(SMA.20,Digits);

// -- Current Bar Data
   ObjectCreate("Obj.Seperate.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Seperate.Label", "----- Current Bar Data -----" , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Seperate.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Seperate.Label", OBJPROP_XDISTANCE, Dist.From.Side+30);
   ObjectSet("Obj.Seperate.Label", OBJPROP_YDISTANCE, Y.Dist.2);
   
   ObjectCreate("Obj.Current.Bar.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.Open.Label", "Open " + St.Current.Bar.Open, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Current.Bar.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Current.Bar.Open.Label", OBJPROP_YDISTANCE, Y.Dist.3);
   
   ObjectCreate("Obj.Current.Bar.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.Movement.Label", "" + St.Current.Bar.Movement, Font.Size, Front.Type, Current.Bar.Color);
   ObjectSet("Obj.Current.Bar.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side+90);
   ObjectSet("Obj.Current.Bar.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.3);
   
   ObjectCreate("Obj.SMA.8.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.SMA.8.Label", "S8 " + St.SMA.8, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.SMA.8.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.SMA.8.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.SMA.8.Label", OBJPROP_YDISTANCE, Y.Dist.3);

   ObjectCreate("Obj.Current.Bar.High.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.High.Label", "High " + St.Current.Bar.High, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Current.Bar.High.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.High.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Current.Bar.High.Label", OBJPROP_YDISTANCE, Y.Dist.4);
   
   ObjectCreate("Obj.Current.Bar.High.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.High.Movement.Label", "" + St.Current.Bar.High.Movement, Font.Size, Front.Type, Bulls.Color);
   ObjectSet("Obj.Current.Bar.High.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.High.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side+90);
   ObjectSet("Obj.Current.Bar.High.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.4);
   
   ObjectCreate("Obj.SMA.20.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.SMA.20.Label", "S20 " + St.SMA.20, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.SMA.20.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.SMA.20.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.SMA.20.Label", OBJPROP_YDISTANCE, Y.Dist.4);   
   
   ObjectCreate("Obj.Current.Bar.Low.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.Low.Label", "Low " + St.Current.Bar.Low, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Current.Bar.Low.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.Low.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Current.Bar.Low.Label", OBJPROP_YDISTANCE, Y.Dist.5);
   
   ObjectCreate("Obj.Current.Bar.Low.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Current.Bar.Low.Movement.Label", "" + St.Current.Bar.Low.Movement, Font.Size, Front.Type, Bears.Color);
   ObjectSet("Obj.Current.Bar.Low.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Current.Bar.Low.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side+90);
   ObjectSet("Obj.Current.Bar.Low.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.5);

// ---- Prior Bar Data 
   ObjectCreate("Obj.Seperate.1.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Seperate.1.Label", "----- Prior Bar Data -----" , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Seperate.1.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Seperate.1.Label", OBJPROP_XDISTANCE, Dist.From.Side+30);
   ObjectSet("Obj.Seperate.1.Label", OBJPROP_YDISTANCE, Y.Dist.6);
   
// ---
   string St.Prior.Bar.Open  = DoubleToStr(Prior.Bar.Open,Digits);
   string St.Prior.Bar.High = DoubleToStr(Prior.Bar.High,Digits);
   string St.Prior.Bar.Low = DoubleToStr(Prior.Bar.Low,Digits);
   string St.Prior.Bar.Movement = DoubleToStr(Prior.Bar.Movement,0);
   string St.Prior.Bar.High.Movement = DoubleToStr(Prior.Bar.High.Movement,0);
   string St.Prior.Bar.Low.Movement = DoubleToStr(Prior.Bar.Low.Movement,0);
   
   ObjectCreate("Obj.Prior.Bar.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Bar.Open.Label", "Open " + St.Prior.Bar.Open, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Prior.Bar.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Bar.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Prior.Bar.Open.Label", OBJPROP_YDISTANCE, Y.Dist.7);
   
   ObjectCreate("Obj.Prior.Bar.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Bar.Movement.Label", "H-L " + St.Prior.Bar.Movement, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Prior.Bar.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Bar.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.Prior.Bar.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.7);
   
   ObjectCreate("Obj.Prior.Bar.High.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Bar.High.Label", "High " + St.Prior.Bar.High, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Prior.Bar.High.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Bar.High.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Prior.Bar.High.Label", OBJPROP_YDISTANCE, Y.Dist.8);
   
   
   
   ObjectCreate("Obj.Prior.Bar.Low.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Bar.Low.Label", "Low " + St.Prior.Bar.Low, Font.Size, Front.Type, Default.Font.Color);
   ObjectSet("Obj.Prior.Bar.Low.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Bar.Low.Label", OBJPROP_XDISTANCE, Dist.From.Side+125);
   ObjectSet("Obj.Prior.Bar.Low.Label", OBJPROP_YDISTANCE, Y.Dist.9);
   
   
   
// - Group 3 - Daily / Weekly  / Monthly Data -

   double Daily.Open, Prior.Daily.Open, Weekly.Open, Prior.Weekly.Open, Monthly.Open, Prior.Monthly.Open, Daily.Movment, Weekly.Movement, Monthly.Movement;
   color Daily.Open.Font.Color = Default.Font.Color;
   color Weekly.Open.Font.Color = Default.Font.Color;
   color Monthly.Open.Font.Color = Default.Font.Color;
   
   Daily.Open = iOpen(Symbol(),PERIOD_D1,0);
   Prior.Daily.Open = iOpen(Symbol(),PERIOD_D1,1);
   Weekly.Open = iOpen(Symbol(),PERIOD_W1,0);
   Prior.Weekly.Open = iOpen(Symbol(),PERIOD_W1,1);
   Monthly.Open = iOpen(Symbol(),PERIOD_MN1,0);
   
   if (Price.Movement.Colors == true)
   {
      if (Bid > Daily.Open) Daily.Open.Font.Color = Bulls.Color;
      if (Bid < Daily.Open) Daily.Open.Font.Color = Bears.Color;
      if (Bid > Weekly.Open) Weekly.Open.Font.Color = Bulls.Color;
      if (Bid < Weekly.Open) Weekly.Open.Font.Color = Bears.Color;
      if (Bid > Monthly.Open) Monthly.Open.Font.Color = Bulls.Color;
      if (Bid < Monthly.Open) Monthly.Open.Font.Color =Bears.Color;
      Daily.Movment = (Bid - iOpen(Symbol(),PERIOD_D1,0))/Point;
      Weekly.Movement = (Bid - iOpen(Symbol(),PERIOD_W1,0))/Point;
      Monthly.Movement = (Bid - iOpen(Symbol(),PERIOD_MN1,0))/Point;
   }
   
   string St.Daily.Open = DoubleToStr(Daily.Open,Digits);
   string St.Weekly.Open = DoubleToStr(Weekly.Open,Digits);
   string St.Prior.Daily.Open = DoubleToStr(Prior.Daily.Open,Digits);
   string St.Prior.Weekly.Open = DoubleToStr(Prior.Weekly.Open,Digits);
   string St.Daily.Movment = DoubleToStr (Daily.Movment,0);
   string St.Weekly.Movement = DoubleToStr (Weekly.Movement,0);
   string St.Monthly.Open = DoubleToStr(Monthly.Open,Digits);
   string St.Monthly.Movement = DoubleToStr (Monthly.Movement,0);
   
   int Y.Dist.11, Y.Dist.12, Y.Dist.13, Y.Dist.14;
   Y.Dist.11 = Y.Dist.10 + Y.Dist.Inc;
   Y.Dist.12 = Y.Dist.11 + Y.Dist.Inc;
   Y.Dist.13 = Y.Dist.12 + Y.Dist.Inc;
   Y.Dist.14 = Y.Dist.13 + Y.Dist.Inc;
   
   ObjectCreate("Obj.Seperate.2.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Seperate.2.Label", "-- Daily / Weekly Open Data --" , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Seperate.2.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Seperate.2.Label", OBJPROP_XDISTANCE, Dist.From.Side+20);
   ObjectSet("Obj.Seperate.2.Label", OBJPROP_YDISTANCE, Y.Dist.11);

   ObjectCreate("Obj.Daily.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Daily.Open.Label", "Day " + St.Daily.Open , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Daily.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Daily.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side+145);
   ObjectSet("Obj.Daily.Open.Label", OBJPROP_YDISTANCE, Y.Dist.12);
   
   ObjectCreate("Obj.Daily.Movment.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Daily.Movment.Label", "" + St.Daily.Movment , Font.Size, Front.Type, Daily.Open.Font.Color);
   ObjectSet("Obj.Daily.Movment.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Daily.Movment.Label", OBJPROP_XDISTANCE, Dist.From.Side+110);
   ObjectSet("Obj.Daily.Movment.Label", OBJPROP_YDISTANCE, Y.Dist.12);
   
   ObjectCreate("Obj.Prior.Daily.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Daily.Open.Label", "P.Day " + St.Prior.Daily.Open , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Prior.Daily.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Daily.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.Prior.Daily.Open.Label", OBJPROP_YDISTANCE, Y.Dist.12);

   ObjectCreate("Obj.Weekly.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Weekly.Open.Label", "Wk " + St.Weekly.Open , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Weekly.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Weekly.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side+145);
   ObjectSet("Obj.Weekly.Open.Label", OBJPROP_YDISTANCE, Y.Dist.13);
   
   ObjectCreate("Obj.Weekly.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Weekly.Movement.Label", "" + St.Weekly.Movement , Font.Size, Front.Type, Weekly.Open.Font.Color);
   ObjectSet("Obj.Weekly.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Weekly.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side+110);
   ObjectSet("Obj.Weekly.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.13);
   
   ObjectCreate("Obj.Prior.Weekly.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Prior.Weekly.Open.Label", "P.Wk " + St.Prior.Weekly.Open , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Prior.Weekly.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Prior.Weekly.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side);
   ObjectSet("Obj.Prior.Weekly.Open.Label", OBJPROP_YDISTANCE, Y.Dist.13);
   
  // ---
   ObjectCreate("Obj.Monthly.Open.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Monthly.Open.Label", "Mth " + St.Monthly.Open , Font.Size, Front.Type, Other.Color);
   ObjectSet("Obj.Monthly.Open.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Monthly.Open.Label", OBJPROP_XDISTANCE, Dist.From.Side+145);
   ObjectSet("Obj.Monthly.Open.Label", OBJPROP_YDISTANCE, Y.Dist.14);
   
   ObjectCreate("Obj.Monthly.Movement.Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Obj.Monthly.Movement.Label", "" + St.Monthly.Movement , Font.Size, Front.Type, Monthly.Open.Font.Color);
   ObjectSet("Obj.Monthly.Movement.Label", OBJPROP_CORNER, What.Corner);
   ObjectSet("Obj.Monthly.Movement.Label", OBJPROP_XDISTANCE, Dist.From.Side+110);
   ObjectSet("Obj.Monthly.Movement.Label", OBJPROP_YDISTANCE, Y.Dist.14);
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+





Sample





Analysis



Market Information Used:

Series array that contains open prices of each bar
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:


Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: