//+------------------------------------------------------------------+
//|                                                                  |
//| POUYa                                                            |
//| ALL IN ONE                                                       |
//| THIS IS MINE                                                     |
//+------------------------------------------------------------------+
#property copyright "POUYa"
#property link      "POUYa"
#property version   ""

#property strict
#property indicator_chart_window

input bool   ShowSL  = true;// Show My Stop Loss
input bool   Show_TP = true;// Show MY Take Profit
input bool   Show_TH = true;// Show TH Take Profit
input bool   Show_ATR= true;// Show ATR Take Profit
      bool   ShowTime= true;// Show Bar Left Time
input bool   ShowLive= true;

      bool   ShowSpread = true;
input bool   ShowStep = true;
input bool   ShowProfit=true;
input int    Corner = 1;    // Corner
input int    Y = 0;       // Up--Down 
input int    X = 0;        // Left--Right
input color  Text_CL       =Black; 
input color  Number_CL     =clrBlack;
input color  Curent_CL     =clrBlue;
input color  SLNumber_CL   =Crimson;  
input color  TPNumber_CL   =clrDarkGreen;     
input color  Time_CL       =clrBlack;
input color  Live_CL       =clrCrimson;
      color  ColorCh;
input color  Spread_CL     =clrBlack;

input string Font          ="Comic Sans MS Bold";
input int    Font_Size  = 9; // Font Size
input int    YourLetter=104; //press (H) to hide
double       Lot,RP1,A1,C1;
double       TH1,TH2,TH3,SL,S;
int          TTT,PTT,MTT;
int          Display_Bar_With_Seconds      = 1 ;
bool 	       Display_Time_With_Seconds     = true ; 
bool         Suppress_Bar_HH_Below_H1      = true ;  
string barstr;
int secondsleft;
bool Set_Hide=false;
bool Set_Hide2=true;
string       Time1,Time2,Time3,leg1,leg2,leg3,lega;


//+--------------------------------------------------------------------------+
//|                             Outsite                                      |
//+--------------------------------------------------------------------------+
  extern int   eiPercent = 5;           // Calculation of percentage of profit on:
                                        //  0 - current balance
                                        //  1 - balance at the beginning of the day
                                        //  2 - balance at the beginning of the week
                                        //  3 - balance at the beginning of the month
                                        //  4 - balance at beginning of the quarter
                                        //  5 - balance at beginning of year
//+--------------------------------------------------------------------------+
//|                         Options positions                                |
//+--------------------------------------------------------------------------+
  extern int   eiOffsetY = 25;          // (Y) Offset text vertically
  extern int   eiStepY   = 14;          // (Y) Step displacements of the text vertically
  extern int   eiX1Row   = 180;         // (X) Coordinate of the first column
  extern int   eiX2Row   = 130;         // (X) Coordinate of the second column
  extern int   eiX3Row   = 65;          // (X) Coordinate third column
  extern int   eiX4Row   = 3;           // (X) Coordinate of the fourth column
//+--------------------------------------------------------------------------+
//|                          Color Settings                                  |
//+--------------------------------------------------------------------------+
  extern color ecText    = (C'60,60,60');     // Text Color
  extern color ecProfit  = Green;        // Color profit
  extern color ecLoss    = FireBrick;   // Color loss
//+--------------------------------------------------------------------------+
//| Custom indicator initialization function                                 |
//+--------------------------------------------------------------------------+
//+------------------------------------------------------------------+

                                                              
//+------------------------------------------------------------------+
int OnInit()
  {


   if(Show_ATR)
    {
     //ObjectCreate(0,"tP",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tC1",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tC2",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tC3",OBJ_LABEL,0,0,0);
     }
   if(Show_TH)
     {
     //ObjectCreate(0,"tR",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tH1",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tH2",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tH3",OBJ_LABEL,0,0,0);
     }
   if(Show_TP)
     {
  //   ObjectCreate(0,"tRM",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tHM1",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tHM2",OBJ_LABEL,0,0,0);
     ObjectCreate(0,"tHM3",OBJ_LABEL,0,0,0);
     }
   if(ShowTime && Period() <= PERIOD_D1)
     {
      //ObjectCreate(0,"Barll",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"Bartt",OBJ_LABEL,0,0,0);
     }
   if(ShowSL)
     {
    //  ObjectCreate(0,"sL1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"sL2",OBJ_LABEL,0,0,0);
     }
   if(ShowLive)
     {
    //  ObjectCreate(0,"live1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"live2",OBJ_LABEL,0,0,0);
     }   
   if(ShowSpread)
     {
    //  ObjectCreate(0,"sp1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"sp2",OBJ_LABEL,0,0,0);
      
     // ObjectCreate(0,"time1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"time2",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"time3",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"time4",OBJ_LABEL,0,0,0);
     }
   if(ShowStep)
     {
      ObjectCreate(0,"leg1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"leg2",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"leg3",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"leg4",OBJ_LABEL,0,0,0);
     }
     
        if(ShowProfit)
     {
      ObjectCreate(0,"profit1",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit2",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit3",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit4",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit5",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit6",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit7",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit8",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit9",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit10",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit11",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit12",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit13",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit14",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit15",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit16",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit17",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit18",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit19",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit20",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit21",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit22",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit23",OBJ_LABEL,0,0,0);
      ObjectCreate(0,"profit24",OBJ_LABEL,0,0,0);
     }
     
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  // ObjectDelete("tP");
   ObjectDelete("tC1");
   ObjectDelete("tC2");
   ObjectDelete("tC3");

  // ObjectDelete("tR");
   ObjectDelete("tH1");
   ObjectDelete("tH2");
   ObjectDelete("tH3");
   
  // ObjectDelete("tRM");
   ObjectDelete("tHM1");
   ObjectDelete("tHM2");
   ObjectDelete("tHM3");
   
  // ObjectDelete("Barll");
   ObjectDelete("Bartt");

  // ObjectDelete("sL1");
   ObjectDelete("sL2");
   
 //  ObjectDelete("live1");
   ObjectDelete("live2");
   
 //  ObjectDelete("sp1");
   ObjectDelete("sp2");
   
   ObjectDelete("leg1");
   ObjectDelete("leg2");
   ObjectDelete("leg3");
   ObjectDelete("leg4");
   
   ObjectDelete("time1");
   ObjectDelete("time2");
   ObjectDelete("time3");
   ObjectDelete("time4");
   
   ObjectDelete("profit1");
   ObjectDelete("profit2");
   ObjectDelete("profit3");
   ObjectDelete("profit4");
   ObjectDelete("profit5");
   ObjectDelete("profit6");
   ObjectDelete("profit7");
   ObjectDelete("profit8");
   ObjectDelete("profit9");
   ObjectDelete("profit10");
   ObjectDelete("profit11");
   ObjectDelete("profit12");
   ObjectDelete("profit13");
   ObjectDelete("profit14");
   ObjectDelete("profit15");
   ObjectDelete("profit16");
   ObjectDelete("profit17");
   ObjectDelete("profit18");
   ObjectDelete("profit19");
   ObjectDelete("profit20");
   ObjectDelete("profit21");
   ObjectDelete("profit22");
   ObjectDelete("profit23");
   ObjectDelete("profit24");
   
  }
  
  
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  
//========================================================================
   datetime d0, d1, d2, d3, d4, d5, d6, d7, d8;
//+--------------------------------------------------------------------------+
           d0=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));
  while    (TimeDayOfWeek(d0)<1 || TimeDayOfWeek(d0)>5) d0-=24*60*60;
           d1=d0-24*60*60;
  while    (TimeDayOfWeek(d1)<1 || TimeDayOfWeek(d1)>5) d1-=24*60*60;
           d2=d1-24*60*60;
  while    (TimeDayOfWeek(d2)<1 || TimeDayOfWeek(d2)>5) d2-=24*60*60;
           d3=d2-24*60*60;
  while    (TimeDayOfWeek(d3)<1 || TimeDayOfWeek(d3)>5) d3-=24*60*60;
           d4=d3-24*60*60;
  while    (TimeDayOfWeek(d4)<1 || TimeDayOfWeek(d4)>5) d4-=24*60*60;
           d5=DateOfMonday();
           d6=StrToTime(Year()+"."+Month()+".01");
           d7=DateBeginQuarter();
           d8=StrToTime(Year()+".01.01");
//+--------------------------------------------------------------------------+
  double   tu=GetProfitOpenPosInPoint     ();
  double   u0=GetProfitFromDateInPoint    ("", -1, -1, d0);
  double   u1=GetProfitFromDateInPoint    ("", -1, -1, d1)-u0;
  double   u2=GetProfitFromDateInPoint    ("", -1, -1, d2)-u1-u0;
  double   u3=GetProfitFromDateInPoint    ("", -1, -1, d3)-u2-u1-u0;
  double   u4=GetProfitFromDateInPoint    ("", -1, -1, d4)-u3-u2-u1-u0;
  double   u5=GetProfitFromDateInPoint    ("", -1, -1, d5);
  double   u6=GetProfitFromDateInPoint    ("", -1, -1, d6);
  double   u7=GetProfitFromDateInPoint    ("", -1, -1, d7);
  double   u8=GetProfitFromDateInPoint    ("", -1, -1, d8);
//+--------------------------------------------------------------------------+
  double   tb=AccountBalance(),           tp=AccountProfit();
  double   p0=GetProfitFromDateInCurrency ("", -1, -1, d0);
  double   p1=GetProfitFromDateInCurrency ("", -1, -1, d1)-p0;
  double   p2=GetProfitFromDateInCurrency ("", -1, -1, d2)-p1-p0;
  double   p3=GetProfitFromDateInCurrency ("", -1, -1, d3)-p2-p1-p0;
  double   p4=GetProfitFromDateInCurrency ("", -1, -1, d4)-p3-p2-p1-p0;
  double   p5=GetProfitFromDateInCurrency ("", -1, -1, d5);
  double   p6=GetProfitFromDateInCurrency ("", -1, -1, d6);
  double   p7=GetProfitFromDateInCurrency ("", -1, -1, d7);
  double   p8=GetProfitFromDateInCurrency ("", -1, -1, d8);
//+--------------------------------------------------------------------------+
  string               st;
  switch                                  (eiPercent) {
    case 0 :           st="current";                         break;
    case 1 : tb-=p0;   st="at the beginning of the day";     break;
    case 2 : tb-=p5;   st="at the beginning of the week";    break;
    case 3 : tb-=p6;   st="at the beginning of the month";   break;
    case 4 : tb-=p7;   st="at the beginning of the quarter"; break;
    default: tb-=p8;   st="at beginning of year";            break;
  }
  double     tr=tp*100/tb;
  double     r0=p0*100/tb;
  double     r1=p1*100/tb;
  double     r2=p2*100/tb;
  double     r3=p3*100/tb;
  double     r4=p4*100/tb;
  double     r5=p5*100/tb;
  double     r6=p6*100/tb;
  double     r7=p7*100/tb;
  double     r8=p8*100/tb;
//========================================================================

    secondsleft = Period()*60 + Time[0] - TimeCurrent(); // FYI, this CAN go negative if a new bar hasn't formed yet!
   if (secondsleft >= 0) 
   {
      if (Display_Bar_With_Seconds != 0 && (Display_Bar_With_Seconds == 1 || Display_Time_With_Seconds || (Display_Bar_With_Seconds == 2 && secondsleft < 120))) barstr = TimeToStr( Period()*60 + Time[0] - TimeCurrent(), TIME_MINUTES|TIME_SECONDS );
      else barstr = TimeToStr( Period()*60 + Time[0] - TimeCurrent(), TIME_MINUTES );
      
      if (Suppress_Bar_HH_Below_H1 && Period() <= PERIOD_H1 && StringLen(barstr) > 6) barstr = StringSubstr(barstr,3);
   }
   else // negative means no new bar yet formed
     {
      if (Display_Bar_With_Seconds == 0) barstr = "wait"; // or "--:--"
      else barstr = "00:00"; // or "--:--:--"; 
     }
//---------------------------------------------------------------------------

S =MarketInfo(Symbol(), MODE_SPREAD);

if(Period()==PERIOD_M1)
{
Time1="M1";
Time2="M1";
Time3="M5";
TH1=(Close[0]*(0.666666*0.02)/(Point*1000));
TH2=(Close[0]*(0.666666*0.02)/(Point*1000));
TH3=(Close[0]*(0.666666*0.05)/(Point*1000));
TTT=1;
PTT=1;
MTT=5;
 leg1=DoubleToStr(((Close[0]*0.0181373)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*0.0181373)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*0.0181373)/(Point*1000)),0);
}       
if(Period()==PERIOD_M5)
{
Time1="M1";
Time2="M5";
Time3="M15";
TH1=(Close[0]*(0.666666*0.02)/(Point*1000));
TH2=(Close[0]*(0.666666*0.05)/(Point*1000));
TH3=(Close[0]*(0.666666*0.10)/(Point*1000));
TTT=1;
PTT=5;
MTT=15;
 leg1=DoubleToStr(((Close[0]*0.06348)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*0.0725489)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*0.0816178)/(Point*1000)),0);
}
if(Period()==PERIOD_M15)
{
Time1="M5";
Time2="M15";
Time3="H1";
TH1=(Close[0]*(0.666666*0.05)/(Point*1000));
TH2=(Close[0]*(0.666666*0.10)/(Point*1000));
TH3=(Close[0]*(0.666666*0.20)/(Point*1000));
TTT=5;
PTT=15;
MTT=60;
 leg1=DoubleToStr(((Close[0]*0.1088238)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*0.1269611)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*0.1450984)/(Point*1000)),0);
}
if(Period()==PERIOD_H1)
{
Time1="M15";
Time2="H1";
Time3="H4";
TH1=(Close[0]*(0.666666*0.10)/(Point*1000));
TH2=(Close[0]*(0.666666*0.20)/(Point*1000));
TH3=(Close[0]*(0.666666*0.40)/(Point*1000));
TTT=15;
PTT=60;
MTT=240;
 leg1=DoubleToStr(((Close[0]*0.2176476)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*0.2584565)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*0.2992654)/(Point*1000)),0);
}
if(Period()==PERIOD_H4)
{
Time1="H1";
Time2="H4";
Time3="D1";
TH1=(Close[0]*(0.666666*0.20)/(Point*1000));
TH2=(Close[0]*(0.666666*0.40)/(Point*1000));
TH3=(Close[0]*(0.666666)/(Point*1000));
TTT=60;
PTT=240;
MTT=1440;
 leg1=DoubleToStr(((Close[0]*0.4443638)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*0.530516)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*0.6166682)/(Point*1000)),0);
}
if(Period()==PERIOD_D1)
{
Time1="H4";
Time2="D1";
Time3="W1";
TH1=(Close[0]*(0.666666*0.40)/(Point*1000));
TH2=(Close[0]*(0.666666)/(Point*1000));
TH3=(Close[0]*(0.666666*1.66666)/(Point*1000));
TTT=240;
PTT=1440;
MTT=10080;
 leg1=DoubleToStr(((Close[0]*1.1335812)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*1.3693656)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*1.6051501)/(Point*1000)),0);
}
if(Period()==PERIOD_W1)
{
Time1="D1";
Time2="W1";
Time3="MN";
TH1=(Close[0]*(0.666666)/(Point*1000));
TH2=(Close[0]*(1.775238)/(Point*1000));
TH3=(Close[0]*(3.670361)/(Point*1000));
TTT=1440;
PTT=10080;
MTT=43200;
 leg1=DoubleToStr(((Close[0]*3.072209)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*3.721324)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*4.370439)/(Point*1000)),0);
}
if(Period()==PERIOD_MN1)
{
Time1="W1";
Time2="MN";
Time3="MN";
TH1=(Close[0]*(1.775238)/(Point*1000));
TH2=(Close[0]*(3.670361)/(Point*1000));
TH3=(Close[0]*(3.670361)/(Point*1000));
TTT=10080;
PTT=43200;
MTT=43200;
 leg1=DoubleToStr(((Close[0]*6.1121638)/(Point*1000)),0);
 lega=DoubleToStr(((Close[0]*7.33379025)/(Point*1000)),0);
 leg3=DoubleToStr(((Close[0]*8.5554167)/(Point*1000)),0);
}



if(Close[0]>0.8)
{
if(Period()==PERIOD_M1)
{
SL=MathFloor((TH2*1.66666)+(S*Point))+1;
}
if(Period()==PERIOD_M5)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*1.3;
}
if(Period()==PERIOD_M15)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*1.2;
}
if(Period()==PERIOD_H1)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*1.2;
}
if(Period()==PERIOD_H4)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*1.2;
}
if(Period()==PERIOD_D1)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*(0.66666);
}
}

else

{
if(Period()==PERIOD_M1)
{
SL=MathFloor(((TH2+TH3)+(S*Point))+1)*1.3;
}
if(Period()==PERIOD_M5)
{
SL=MathFloor(((TH2+TH3)+(S*Point))+1)*1.2;
}
if(Period()==PERIOD_M15)
{
SL=MathFloor(((TH2+TH3)+(S*Point))+1);
}
if(Period()==PERIOD_H1)
{
SL=MathFloor(((TH2+TH3)+(S*Point))+1)*1.2;
}
if(Period()==PERIOD_H4)
{
SL=MathFloor(((TH3)+(S*Point))+4);
}
if(Period()==PERIOD_D1)
{
SL=MathFloor(((TH2+TH1)+(S*Point))+1)*1.2;
}
}

    double Tatr264 = iATR(NULL, TTT , 264 , 1) * 8 ;
    double Tatr132 = iATR(NULL, TTT , 132 , 1) * 5 ;
    double Tatr66  = iATR(NULL, TTT , 66  , 1) * 3 ;
    double Tatr21  = iATR(NULL, TTT , 21  , 1) * 2 ;
    double Tatr10  = iATR(NULL, TTT , 10  , 1) * 1 ;
    double Tatr5   = iATR(NULL, TTT , 5   , 1) * 1 ;
    
    double Tsum = ((Tatr5 + Tatr10 + Tatr21 + Tatr66 + Tatr132 + Tatr264 ) / 20) * 1 ;

    double Patr264 = iATR(NULL, PTT , 264 , 1) * 8 ;
    double Patr132 = iATR(NULL, PTT , 132 , 1) * 5 ;
    double Patr66  = iATR(NULL, PTT , 66  , 1) * 3 ;
    double Patr21  = iATR(NULL, PTT , 21  , 1) * 2 ;
    double Patr10  = iATR(NULL, PTT , 10  , 1) * 1 ;
    double Patr5   = iATR(NULL, PTT , 5   , 1) * 1 ;
    
    double Psum = ((Patr5 + Patr10 + Patr21 + Patr66 + Patr132 + Patr264 ) / 20) * 1 ;
    
    double Matr264 = iATR(NULL, MTT , 264 , 1) * 8 ;
    double Matr132 = iATR(NULL, MTT , 132 , 1) * 5 ;
    double Matr66  = iATR(NULL, MTT , 66  , 1) * 3 ;
    double Matr21  = iATR(NULL, MTT , 21  , 1) * 2 ;
    double Matr10  = iATR(NULL, MTT , 10  , 1) * 1 ;
    double Matr5   = iATR(NULL, MTT , 5   , 1) * 1 ;
    
    double Msum = ((Matr5 + Matr10 + Matr21 + Matr66 + Matr132 + Matr264 ) / 20) * 1 ;
    
   double     ATP1=MathFloor(Tsum/(Point*10))+1;
   double     ATP2=MathFloor(Psum/(Point*10))+1;
   double     ATP3=MathFloor(Msum/(Point*10))+1;
   double     TTP1=MathFloor(TH1)+1;
   double     TTP2=MathFloor(TH2)+1;
   double     TTP3=MathFloor(TH3)+1;
   string     ATR1=DoubleToStr(ATP1,0);
   string     ATR2=DoubleToStr(ATP2,0);
   string     ATR3=DoubleToStr(ATP3,0);
   string     sTH1=DoubleToStr(TTP1,0);
   string     sTH2=DoubleToStr(TTP2,0);
   string     sTH3=DoubleToStr(TTP3,0);
   
   string     TP1=DoubleToStr((TTP2*3),0);
   string     TP2=DoubleToStr((ATP2*3),0);
   string     TP3=DoubleToStr((TTP2*15),0);
   
   string MSL=DoubleToStr(SL,0);
   
   string TP=DoubleToStr((Msum/(Point*10)),0);
   
        double Hilo=((iHigh(_Symbol,0,0)-iLow(_Symbol,0,0))/(Point*10));
        string hilo=DoubleToStr(Hilo,0);
        
               leg2=DoubleToStr(((Close[0])*0.53046/(Point*1000)),0);
        
        
        
        if(0.8*ATP2<Hilo && 1.2*ATP2>Hilo)
        {
        ColorCh=clrOrangeRed;
        }
        if(0.8*ATP2>Hilo)
        {
        ColorCh=(C'110,110,110');
        }
        if(1.2*ATP2<Hilo)
        {
        ColorCh=clrDodgerBlue;
        }
//---------------------------------------------------------------------+
//                              This is ATR                            |
//---------------------------------------------------------------------+
 //  ObjectSetText("tP","ATR:",Font_Size,Font,Text_CL);
  // ObjectSet("tP",OBJPROP_SELECTABLE,false);
  // ObjectSet("tP",OBJPROP_CORNER,Corner);
  // ObjectSet("tP",OBJPROP_XDISTANCE,X+100);
  // ObjectSet("tP",OBJPROP_YDISTANCE,Y+85);
   ///////////////////////////////////
   ObjectSetText("tC1",ATR1,Font_Size,Font,Number_CL);
   ObjectSet("tC1",OBJPROP_SELECTABLE,false);
   ObjectSet("tC1",OBJPROP_CORNER,Corner);
   ObjectSet("tC1",OBJPROP_XDISTANCE,X+75);
   ObjectSet("tC1",OBJPROP_YDISTANCE,Y+100);
   
   ObjectSetText("tC2",ATR2,Font_Size,Font,Curent_CL);
   ObjectSet("tC2",OBJPROP_SELECTABLE,false);
   ObjectSet("tC2",OBJPROP_CORNER,Corner);
   ObjectSet("tC2",OBJPROP_XDISTANCE,X+45);
   ObjectSet("tC2",OBJPROP_YDISTANCE,Y+100);
      
   ObjectSetText("tC3",ATR3,Font_Size,Font,Number_CL);
   ObjectSet("tC3",OBJPROP_SELECTABLE,false);
   ObjectSet("tC3",OBJPROP_CORNER,Corner);
   ObjectSet("tC3",OBJPROP_XDISTANCE,X+15);
   ObjectSet("tC3",OBJPROP_YDISTANCE,Y+100);
//---------------------------------------------------------------------+
//                              This is TH                             |
//---------------------------------------------------------------------+
 //  ObjectSetText("tR",Time1+" "+Time2+" "+Time3,Font_Size,Font,Text_CL);
 //  ObjectSet("tR",OBJPROP_SELECTABLE,false);
 //  ObjectSet("tR",OBJPROP_CORNER,Corner);
  // ObjectSet("tR",OBJPROP_XDISTANCE,X+13);
  // ObjectSet("tR",OBJPROP_YDISTANCE,Y+55);
 
   ObjectSetText("tH1",sTH1,Font_Size,Font,Number_CL);
   ObjectSet("tH1",OBJPROP_SELECTABLE,false);
   ObjectSet("tH1",OBJPROP_CORNER,Corner);
   ObjectSet("tH1",OBJPROP_XDISTANCE,X+75);
   ObjectSet("tH1",OBJPROP_YDISTANCE,Y+85);
   
   ObjectSetText("tH2",sTH2,Font_Size,Font,Curent_CL);
   ObjectSet("tH2",OBJPROP_SELECTABLE,false);
   ObjectSet("tH2",OBJPROP_CORNER,Corner);
   ObjectSet("tH2",OBJPROP_XDISTANCE,X+45);
   ObjectSet("tH2",OBJPROP_YDISTANCE,Y+85);
   
   ObjectSetText("tH3",sTH3,Font_Size,Font,Number_CL);
   ObjectSet("tH3",OBJPROP_SELECTABLE,false);
   ObjectSet("tH3",OBJPROP_CORNER,Corner);
   ObjectSet("tH3",OBJPROP_XDISTANCE,X+15);
   ObjectSet("tH3",OBJPROP_YDISTANCE,Y+85);
   //---------------------------------------------------------------------+
   //                              This is TP                             |
   //---------------------------------------------------------------------+
  // ObjectSetText("tRM","[ T P ]",Font_Size,Font,TPText_CL);
  // ObjectSet("tRM",OBJPROP_SELECTABLE,false);
  // ObjectSet("tRM",OBJPROP_CORNER,Corner);
  // ObjectSet("tRM",OBJPROP_XDISTANCE,X+90);
  // ObjectSet("tRM",OBJPROP_YDISTANCE,Y+95);
 
   ObjectSetText("tHM1",TP1,Font_Size,Font,TPNumber_CL);
   ObjectSet("tHM1",OBJPROP_SELECTABLE,false);
   ObjectSet("tHM1",OBJPROP_CORNER,Corner+2);
   ObjectSet("tHM1",OBJPROP_XDISTANCE,X+75);
   ObjectSet("tHM1",OBJPROP_YDISTANCE,Y+120); 
   
   ObjectSetText("tHM2",TP2,Font_Size,Font,TPNumber_CL);
   ObjectSet("tHM2",OBJPROP_SELECTABLE,false);
   ObjectSet("tHM2",OBJPROP_CORNER,Corner+2);
   ObjectSet("tHM2",OBJPROP_XDISTANCE,X+45);
   ObjectSet("tHM2",OBJPROP_YDISTANCE,Y+120); 
   
   ObjectSetText("tHM3",TP3,Font_Size,Font,TPNumber_CL);
   ObjectSet("tHM3",OBJPROP_SELECTABLE,false);
   ObjectSet("tHM3",OBJPROP_CORNER,Corner+2);
   ObjectSet("tHM3",OBJPROP_XDISTANCE,X+15);
   ObjectSet("tHM3",OBJPROP_YDISTANCE,Y+120); 
//---------------------------------------------------------------------+
//                              This is Time                           |
//---------------------------------------------------------------------+

 //  ObjectSetText( "Barll", ".:T2E:.", Font_Size,Font, TextTime_CL );
  // ObjectSet("Barll",OBJPROP_SELECTABLE,false);
 //  ObjectSet("Barll",OBJPROP_CORNER,Corner);
  // ObjectSet("Barll",OBJPROP_XDISTANCE,X+90);
 //  ObjectSet("Barll",OBJPROP_YDISTANCE,Y+425);

   ObjectSetText( "Bartt",barstr, Font_Size+1,Font,Time_CL);   
   ObjectSet("Bartt",OBJPROP_SELECTABLE,false);
   ObjectSet("Bartt",OBJPROP_CORNER,Corner);
   ObjectSet("Bartt",OBJPROP_XDISTANCE,X+30);
   ObjectSet("Bartt",OBJPROP_YDISTANCE,Y+30);
//---------------------------------------------------------------------+
//                              This is My SL                          |
//---------------------------------------------------------------------+
  // ObjectSetText( "sL1", "[ S L ]", Font_Size,Font, SLText_CL );
 //  ObjectSet("sL1",OBJPROP_SELECTABLE,false);
  // ObjectSet("sL1",OBJPROP_CORNER,Corner);
  // ObjectSet("sL1",OBJPROP_XDISTANCE,X+90);
 //  ObjectSet("sL1",OBJPROP_YDISTANCE,Y+110);

   ObjectSetText( "sL2","[ "+MSL+" ]", Font_Size,Font,SLNumber_CL);   
   ObjectSet("sL2",OBJPROP_SELECTABLE,false);
   ObjectSet("sL2",OBJPROP_CORNER,Corner+2);
   ObjectSet("sL2",OBJPROP_XDISTANCE,X+38);
   ObjectSet("sL2",OBJPROP_YDISTANCE,Y+135);

//---------------------------------------------------------------------+
//                              This is Live                           |
//---------------------------------------------------------------------+
  // ObjectSetText( "live1", ".:LIV:.", Font_Size,Font, Text_CL );
  // ObjectSet("live1",OBJPROP_SELECTABLE,false);
  // ObjectSet("live1",OBJPROP_CORNER,Corner);
 //  ObjectSet("live1",OBJPROP_XDISTANCE,X+90);
  // ObjectSet("live1",OBJPROP_YDISTANCE,Y+40);

   ObjectSetText( "live2","[ "+hilo+" ]", Font_Size,Font,ColorCh);   
   ObjectSet("live2",OBJPROP_SELECTABLE,false);
   ObjectSet("live2",OBJPROP_CORNER,Corner);
   ObjectSet("live2",OBJPROP_XDISTANCE,X+35);
   ObjectSet("live2",OBJPROP_YDISTANCE,Y+115);

//---------------------------------------------------------------------+
//                              This is Spread                         |
//---------------------------------------------------------------------+
 //  ObjectSetText( "sp1", ".:SPR:.", Font_Size,Font, Text_CL );
 //  ObjectSet("sp1",OBJPROP_SELECTABLE,false);
 //  ObjectSet("sp1",OBJPROP_CORNER,Corner);
 //  ObjectSet("sp1",OBJPROP_XDISTANCE,X+90);
 //  ObjectSet("sp1",OBJPROP_YDISTANCE,Y+435);

   ObjectSetText( "sp2",DoubleToStr(S/10,1), Font_Size-1,Font,Spread_CL);   
   ObjectSet("sp2",OBJPROP_SELECTABLE,false);
   ObjectSet("sp2",OBJPROP_CORNER,Corner);
   ObjectSet("sp2",OBJPROP_XDISTANCE,X+13);
   ObjectSet("sp2",OBJPROP_YDISTANCE,Y+15);

//---------------------------------------------------------------------+
//                              This is Step                           |
//---------------------------------------------------------------------+
   ObjectSetText( "leg1", "[ "+leg2+" ]", Font_Size,Font,Live_CL );
   ObjectSet("leg1",OBJPROP_SELECTABLE,false);
   ObjectSet("leg1",OBJPROP_CORNER,Corner);
   ObjectSet("leg1",OBJPROP_XDISTANCE,X+30);
   ObjectSet("leg1",OBJPROP_YDISTANCE,Y+165);

   ObjectSetText( "leg2",leg1, Font_Size,Font,Number_CL);   
   ObjectSet("leg2",OBJPROP_SELECTABLE,false);
   ObjectSet("leg2",OBJPROP_CORNER,Corner);
   ObjectSet("leg2",OBJPROP_XDISTANCE,X+75);
   ObjectSet("leg2",OBJPROP_YDISTANCE,Y+150);
   
   ObjectSetText( "leg3",lega, Font_Size,Font,Curent_CL);   
   ObjectSet("leg3",OBJPROP_SELECTABLE,false);
   ObjectSet("leg3",OBJPROP_CORNER,Corner);
   ObjectSet("leg3",OBJPROP_XDISTANCE,X+45);
   ObjectSet("leg3",OBJPROP_YDISTANCE,Y+150);
   
   ObjectSetText( "leg4",leg3, Font_Size,Font,Number_CL);   
   ObjectSet("leg4",OBJPROP_SELECTABLE,false);
   ObjectSet("leg4",OBJPROP_CORNER,Corner);
   ObjectSet("leg4",OBJPROP_XDISTANCE,X+15);
   ObjectSet("leg4",OBJPROP_YDISTANCE,Y+150);
   
//---------------------------------------------------------------------+
//                              This is TimeFrame                      |
//---------------------------------------------------------------------+
//  ObjectSetText( "time1", "STP", Font_Size,Font,Text_CL );
 //  ObjectSet("time1",OBJPROP_SELECTABLE,false);
 //  ObjectSet("time1",OBJPROP_CORNER,Corner);
  // ObjectSet("time1",OBJPROP_XDISTANCE,X+38);
  //ObjectSet("time1",OBJPROP_YDISTANCE,Y+55);

   ObjectSetText( "time2",Time1, Font_Size,Font,Text_CL);   
   ObjectSet("time2",OBJPROP_SELECTABLE,false);
   ObjectSet("time2",OBJPROP_CORNER,Corner);
   ObjectSet("time2",OBJPROP_XDISTANCE,X+70);
   ObjectSet("time2",OBJPROP_YDISTANCE,Y+65);
   
   ObjectSetText( "time3",Time2, Font_Size,Font,Live_CL);   
   ObjectSet("time3",OBJPROP_SELECTABLE,false);
   ObjectSet("time3",OBJPROP_CORNER,Corner);
   ObjectSet("time3",OBJPROP_XDISTANCE,X+40);
   ObjectSet("time3",OBJPROP_YDISTANCE,Y+65);
   
   ObjectSetText( "time4",Time3, Font_Size,Font,Text_CL);   
   ObjectSet("time4",OBJPROP_SELECTABLE,false);
   ObjectSet("time4",OBJPROP_CORNER,Corner);
   ObjectSet("time4",OBJPROP_XDISTANCE,X+10);
   ObjectSet("time4",OBJPROP_YDISTANCE,Y+65);
   
//---------------------------------------------------------------------+
//                              This is Profit                         |
//---------------------------------------------------------------------+
   ObjectSetText( "profit1",  "Current", Font_Size-1,Font,ecText);
   ObjectSet("profit1",OBJPROP_SELECTABLE,false);
   ObjectSet("profit1",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit1",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit1",OBJPROP_YDISTANCE,Y+70);

   ObjectSetText( "profit2","Today", Font_Size-1,Font,ecText);   
   ObjectSet("profit2",OBJPROP_SELECTABLE,false);
   ObjectSet("profit2",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit2",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit2",OBJPROP_YDISTANCE,Y+55);
   
   ObjectSetText( "profit3","Week", Font_Size-1,Font,ecText);   
   ObjectSet("profit3",OBJPROP_SELECTABLE,false);
   ObjectSet("profit3",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit3",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit3",OBJPROP_YDISTANCE,Y+40);
   
   ObjectSetText( "profit4","Month", Font_Size-1,Font,ecText);   
   ObjectSet("profit4",OBJPROP_SELECTABLE,false);
   ObjectSet("profit4",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit4",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit4",OBJPROP_YDISTANCE,Y+25);
   
   ObjectSetText( "profit5", "Year", Font_Size-1,Font,ecText);
   ObjectSet("profit5",OBJPROP_SELECTABLE,false);
   ObjectSet("profit5",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit5",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit5",OBJPROP_YDISTANCE,Y+10);

   ObjectSetText( "profit6",DoubleToStr (tu/MathPow(10,DecPts()), DecPts()), Font_Size-1,Font,ColorOnSign(tp));   
   ObjectSet("profit6",OBJPROP_SELECTABLE,false);
   ObjectSet("profit6",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit6",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit6",OBJPROP_YDISTANCE,Y+70);
   
   ObjectSetText( "profit7",DoubleToStr(u0/MathPow(10,DecPts()), DecPts()), Font_Size-1,Font,ColorOnSign(u0));   
   ObjectSet("profit7",OBJPROP_SELECTABLE,false);
   ObjectSet("profit7",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit7",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit7",OBJPROP_YDISTANCE,Y+55);
   
   ObjectSetText( "profit8",DoubleToStr (u5/MathPow(10,DecPts()), DecPts()), Font_Size-1,Font,ColorOnSign(u5));   
   ObjectSet("profit8",OBJPROP_SELECTABLE,false);
   ObjectSet("profit8",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit8",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit8",OBJPROP_YDISTANCE,Y+40);
   
   ObjectSetText( "profit9",DoubleToStr (u6/MathPow(10,DecPts()), DecPts()), Font_Size-1,Font,ColorOnSign(u6) );
   ObjectSet("profit9",OBJPROP_SELECTABLE,false);
   ObjectSet("profit9",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit9",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit9",OBJPROP_YDISTANCE,Y+25);

   ObjectSetText( "profit10",DoubleToStr (u8/MathPow(10,DecPts()), DecPts()), Font_Size-1,Font,ColorOnSign(u8));   
   ObjectSet("profit10",OBJPROP_SELECTABLE,false);
   ObjectSet("profit10",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit10",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit10",OBJPROP_YDISTANCE,Y+10);
   
   ObjectSetText( "profit11",DoubleToStr (tp, 1)+" $", Font_Size-1,Font,ColorOnSign(tp));   
   ObjectSet("profit11",OBJPROP_SELECTABLE,false);
   ObjectSet("profit11",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit11",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit11",OBJPROP_YDISTANCE,Y+70);
   
   ObjectSetText( "profit12",DoubleToStr (p0, 1)+" $", Font_Size-1,Font,ColorOnSign(p0));   
   ObjectSet("profit12",OBJPROP_SELECTABLE,false);
   ObjectSet("profit12",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit12",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit12",OBJPROP_YDISTANCE,Y+55);
   
   ObjectSetText( "profit13",DoubleToStr (p5, 1)+" $", Font_Size-1,Font,ColorOnSign(p5) );
   ObjectSet("profit13",OBJPROP_SELECTABLE,false);
   ObjectSet("profit13",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit13",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit13",OBJPROP_YDISTANCE,Y+40);

   ObjectSetText( "profit14",DoubleToStr (p6, 1)+" $", Font_Size-1,Font,ColorOnSign(p6));   
   ObjectSet("profit14",OBJPROP_SELECTABLE,false);
   ObjectSet("profit14",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit14",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit14",OBJPROP_YDISTANCE,Y+25);
   
   ObjectSetText( "profit15",DoubleToStr (p8, 1)+" $", Font_Size-1,Font,ColorOnSign(p8));   
   ObjectSet("profit15",OBJPROP_SELECTABLE,false);
   ObjectSet("profit15",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit15",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit15",OBJPROP_YDISTANCE,Y+10);
   
   ObjectSetText( "profit16",DoubleToStr (tr, 1)+" %", Font_Size-1,Font,ColorOnSign(tr));   
   ObjectSet("profit16",OBJPROP_SELECTABLE,false);
   ObjectSet("profit16",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit16",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit16",OBJPROP_YDISTANCE,Y+70);
   
   ObjectSetText( "profit17",DoubleToStr (r0, 1)+" %", Font_Size-1,Font,ColorOnSign(r0));
   ObjectSet("profit17",OBJPROP_SELECTABLE,false);
   ObjectSet("profit17",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit17",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit17",OBJPROP_YDISTANCE,Y+55);

   ObjectSetText( "profit18",DoubleToStr (r5, 1)+" %", Font_Size-1,Font,ColorOnSign(r5));   
   ObjectSet("profit18",OBJPROP_SELECTABLE,false);
   ObjectSet("profit18",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit18",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit18",OBJPROP_YDISTANCE,Y+40);
   
   ObjectSetText( "profit19",DoubleToStr (r6, 1)+" %", Font_Size-1,Font,ColorOnSign(r6));   
   ObjectSet("profit19",OBJPROP_SELECTABLE,false);
   ObjectSet("profit19",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit19",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit19",OBJPROP_YDISTANCE,Y+25);
   
   ObjectSetText( "profit20",DoubleToStr (r8, 1)+" %", Font_Size-1,Font,ColorOnSign(r8));   
   ObjectSet("profit20",OBJPROP_SELECTABLE,false);
   ObjectSet("profit20",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit20",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit20",OBJPROP_YDISTANCE,Y+10);


   ObjectSetText( "profit21","Prcent", Font_Size-1,Font,ecText);   
   ObjectSet("profit21",OBJPROP_SELECTABLE,false);
   ObjectSet("profit21",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit21",OBJPROP_XDISTANCE,X+15);
   ObjectSet("profit21",OBJPROP_YDISTANCE,Y+85);
   
   ObjectSetText( "profit22","Money", Font_Size-1,Font,ecText);   
   ObjectSet("profit22",OBJPROP_SELECTABLE,false);
   ObjectSet("profit22",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit22",OBJPROP_XDISTANCE,X+85);
   ObjectSet("profit22",OBJPROP_YDISTANCE,Y+85);
   
   ObjectSetText( "profit23","Point", Font_Size-1,Font,ecText);   
   ObjectSet("profit23",OBJPROP_SELECTABLE,false);
   ObjectSet("profit23",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit23",OBJPROP_XDISTANCE,X+155);
   ObjectSet("profit23",OBJPROP_YDISTANCE,Y+85);
   
   ObjectSetText( "profit24","Date", Font_Size-1,Font,ecText);   
   ObjectSet("profit24",OBJPROP_SELECTABLE,false);
   ObjectSet("profit24",OBJPROP_CORNER,Corner+2);
   ObjectSet("profit24",OBJPROP_XDISTANCE,X+225);
   ObjectSet("profit24",OBJPROP_YDISTANCE,Y+85);
   
   
   return(0);
  }
  
//+------------------------------------------------------------------+
void OnTimer()
  {
  
  }
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   if(id==CHARTEVENT_KEYDOWN)
     {
      short key2=TranslateKey((int) lparam);
      short key=TranslateKey((int) lparam);
      if(key==YourLetter)
        {
    if(Set_Hide)
     {
     
         Set_Hide = false;
   ObjectSetInteger(0,"tC1",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"tC3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   
   ObjectSetInteger(0,"leg4",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"leg1",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"leg2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"leg3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   
   ObjectSetInteger(0,"tH1",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"tH3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   
   ObjectSetInteger(0,"tHM1",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"tHM2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"tHM3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   
   ObjectSetInteger(0,"time2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"time4",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);

   ObjectSetInteger(0,"sL2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);

   ObjectSetInteger(0,"profit1",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit4",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit5",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit6",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit7",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit8",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit9",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit10",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit11",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit12",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit13",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit14",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit15",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit16",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit17",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit18",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit19",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit20",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit21",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit22",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit23",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"profit24",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
    
     }
    else
     {
     
   ObjectSetInteger(0,"tC1",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"tC3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   
   ObjectSetInteger(0,"leg4",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"leg1",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"leg2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"leg3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);

   ObjectSetInteger(0,"tH1",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"tH3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   
   ObjectSetInteger(0,"tHM1",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"tHM2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"tHM3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   
   ObjectSetInteger(0,"time2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"time4",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);

   ObjectSetInteger(0,"sL2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   
   ObjectSetInteger(0,"profit1",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit4",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit5",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit6",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit7",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit8",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit9",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit10",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit11",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit12",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit13",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit14",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit15",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit16",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit17",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit18",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit19",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit20",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit21",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit22",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit23",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"profit24",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);

      Set_Hide = true;
     }
     }

     
     if(key2==106)
     {
     if(Set_Hide2)
     {
     Set_Hide2 = false;
   ObjectSetInteger(0,"tC2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"tH2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"time3",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
   ObjectSetInteger(0,"live2",OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS);
     }
     else
     {
   ObjectSetInteger(0,"tC2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"tH2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"time3",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);
   ObjectSetInteger(0,"live2",OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS);

   Set_Hide2 = true;
     }
   }
  }
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

  color    ColorOnSign(double nu) {
  color    lcColor=ecText;
  if       (nu>0) lcColor=ecProfit;
  if       (nu<0) lcColor=ecLoss;
  return   (lcColor);
  }
//+--------------------------------------------------------------------------+
  datetime DateBeginQuarter(int nk=0) {
  int      ye=Year()-MathFloor(nk/4);
           nk=MathMod(nk, 4);
  int      mo=Month()-MathMod(Month()+2, 3)+3*nk;
  if       (mo<1) {
           mo+=12;
           ye--; }
  if       (mo>12) {
           mo-=12;
           ye++; }
  return   (StrToTime(ye+"."+mo+".01"));
  }
//+--------------------------------------------------------------------------+
  datetime DateOfMonday(int no=0) {
  datetime dt=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));
  while    (TimeDayOfWeek(dt)!=1) dt-=24*60*60;
           dt+=no*7*24*60*60;
  return   (dt);
  }
//+--------------------------------------------------------------------------+
  void     DeleteObjects() {
  for(int i=ObjectsTotal()-1; i>-1; i--)
   if (StringFind(ObjectName(i),"iProfit")>=0)  ObjectDelete(ObjectName(i));  
 }
//+--------------------------------------------------------------------------+
  double GetProfitFromDateInCurrency(string sy="", int op=-1, int mn=-1, datetime dt=0)
  {
  double p=0;
  int    i, k=OrdersHistoryTotal();
  if     (sy=="0") sy=Symbol();
  for    (i=0; i<k; i++) {
  if     (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
  if     ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
  if     (OrderType()==OP_BUY || OrderType()==OP_SELL) {
  if     (mn<0 || OrderMagicNumber()==mn) {
  if     (dt<OrderCloseTime()) {
         p+=OrderProfit()+OrderCommission()+OrderSwap();
  } } } } } }
  return (p);
  }
//+--------------------------------------------------------------------------+
  double GetProfitFromDateInPoint(string sy="", int op=-1, int mn=-1, datetime dt=0)
  {
  double p=0, po;
  int    i, k=OrdersHistoryTotal();
  if     (sy=="0") sy=Symbol();
  for    (i=0; i<k; i++) {
  if     (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
  if     ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
  if     (OrderType()==OP_BUY || OrderType()==OP_SELL) {
  if     (mn<0 || OrderMagicNumber()==mn) {
  if     (dt<OrderCloseTime()) {
         po=MarketInfo(OrderSymbol(), MODE_POINT);
  if     (po==0) if (StringFind(sy, "JPY")<0) po=0.0001; else po=0.01;
  if     (OrderType()==OP_BUY) {
         p+=(OrderClosePrice()-OrderOpenPrice())/po;
  }
  if     (OrderType()==OP_SELL) {
         p+=(OrderOpenPrice()-OrderClosePrice())/po;
  } } } } } } }
  return (p);
  }
//+--------------------------------------------------------------------------+
  int    GetProfitOpenPosInPoint(string sy="", int op=-1, int mn=-1) {
  double p;
  int    i, k=OrdersTotal(), pr=0;

  if     (sy=="0") sy=Symbol();
  for    (i=0; i<k; i++) {
  if     (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
  if     ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
  if     (mn<0 || OrderMagicNumber()==mn) {
         p=MarketInfo(OrderSymbol(), MODE_POINT);
  if     (p==0) if (StringFind(OrderSymbol(), "JPY")<0) p=0.0001; else p=0.01;
  if     (OrderType()==OP_BUY) {
         pr+=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p;
  }
  if (OrderType()==OP_SELL) {
         pr+=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p;
  } } } } }
  return (pr);
  }
//+--------------------------------------------------------------------------+
//| cr - room corner bindings - (0 - upper left)                             |
//| fs - font size - (9 - default)                                           |
//+--------------------------------------------------------------------------+
  void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=1, int fs=9)
  {
  if           (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
  ObjectSetText(nm, tx, fs);
  ObjectSet    (nm, OBJPROP_COLOR    , cl);
  ObjectSet    (nm, OBJPROP_XDISTANCE, xd);
  ObjectSet    (nm, OBJPROP_YDISTANCE, yd);
  ObjectSet    (nm, OBJPROP_CORNER   , cr);
  ObjectSet    (nm, OBJPROP_FONTSIZE , fs);
  }
//+--------------------------------------------------------------------------+


  
int DecPts() {

 if (Digits==3 || Digits==5) 
    return(1); 
  else if (Digits==2 || Digits==4) 
    return(0); 
  else
    return(0);            
} // end funcion()
  
//+------------------------------------------------------------------+