//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#property copyright "SMC"
#property link      "https://www.mql5.com"
#property version   "1.00"
  extern int NoOfDays=129;
  
  int       cnt,paircnt;
  string    cnttxt;
  double    tmp1; 
  double    tmp2; 
  int       tdw;
  double    Hi,Lo,HiBrk,LoBrk,LongProfit,ShortProfit;
  double    PointVal;
  int       Pair,Analyse;
  double    Percent=0.15;
  double    Cond1,Cond2,Cond3,Cond4;
  int       DayLongBrk;
  int       DayShortBrk;
  int       file_handle;
  string    name;
  double    FriClose,HiBrkVal,LoBrkVal,SL,TPLong,TPShort,SL_LossLong,SL_LossShort;
  int       AnalysisDay,AnalysisMonth;
  double    PPL,PPS,Mid,Range;
  string    Trend;
  
  double    Trades,Profit,Loss;
//######################################################################################################################################

int init()
   {
   
    ObjectsDeleteAll();

      FriClose=0;
      LongProfit=0;
      ShortProfit=0;
      Hi=0;
      Lo=0;
      HiBrk=0;
      LoBrk=0;
      SL=0;
      TPLong=0;
      TPShort=0;
      HiBrkVal=0;LoBrkVal=0;
      SL_LossLong=0;
      SL_LossShort=0;   



 for(cnt=NoOfDays;cnt>=0;cnt--)
  { 
   tdw=TimeDayOfWeek(iTime(name,1440,cnt));
   
   if(tdw==1){AnalysisDay=TimeDay(iTime(name,1440,cnt));
              AnalysisMonth=TimeMonth(iTime(name,1440,cnt));
              double MA1=iMA(name,1440,55,0,MODE_SMA,PRICE_CLOSE,cnt);
              double MA2=iMA(name,1440,55,0,MODE_SMA,PRICE_CLOSE,cnt+5);
              if(MA1>MA2) {Trend="Long";}
              if(MA1<MA2) {Trend="Short";}
              } 
   
   if(tdw==2)
   {
      FriClose=0;
      LongProfit=0;
      ShortProfit=0;
      Hi=0;
      Lo=0;
      HiBrk=0;
      LoBrk=0;
      SL=0;
      TPLong=0;
      TPShort=0;
      HiBrkVal=0;LoBrkVal=0;
      SL_LossLong=0;
      SL_LossShort=0;   
      
   name=Symbol();
   
   Hi=iHigh(NULL,1440,cnt+1); if(iHigh(NULL,1440,cnt)>iHigh(NULL,1440,cnt+1))  {Hi=iHigh(NULL,1440,cnt);}
   Lo=iLow(NULL,1440,cnt+1);  if(iLow(NULL,1440,cnt)<iLow(NULL,1440,cnt+1))    {Lo=iLow(NULL,1440,cnt);}
   HiBrk=Hi+((Hi-Lo)*Percent);  GlobalVariableSet(Pair+"-HiBrk",HiBrk); GlobalVariableSet(Pair+"-Hi",Lo);
   LoBrk=Lo-((Hi-Lo)*Percent);  GlobalVariableSet(Pair+"-LoBrk",LoBrk);  GlobalVariableSet(Pair+"-Lo",Lo);
   Mid=(Hi-Lo)/2;
   Range=Hi-Lo;
   
   ObjectCreate("Hi"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),Hi,iTime(NULL,1440,cnt+1)+(5*1440*60),Hi);
   ObjectSetText("Hi"+cnt," ");
   ObjectSet("Hi"+cnt,OBJPROP_COLOR,DarkGray);
   ObjectSet("Hi"+cnt,OBJPROP_BACK,0);
   ObjectSet("Hi"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("Hi"+cnt,OBJPROP_STYLE,2);
   ObjectSet("Hi"+cnt,OBJPROP_RAY,0);

   ObjectCreate("Lo"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),Lo,iTime(NULL,1440,cnt+1)+(5*1440*60),Lo);
   ObjectSetText("Lo"+cnt," ");
   ObjectSet("Lo"+cnt,OBJPROP_COLOR,DarkGray);
   ObjectSet("Lo"+cnt,OBJPROP_BACK,0);
   ObjectSet("Lo"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("Lo"+cnt,OBJPROP_STYLE,2);
   ObjectSet("Lo"+cnt,OBJPROP_RAY,0);

   ObjectCreate("HiBrk"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),HiBrk,iTime(NULL,1440,cnt+1)+(5*1440*60),HiBrk);
   ObjectSetText("HiBrk"+cnt,"Long");
   ObjectSet("HiBrk"+cnt,OBJPROP_COLOR,Blue);
   ObjectSet("HiBrk"+cnt,OBJPROP_BACK,0);
   ObjectSet("HiBrk"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("HiBrk"+cnt,OBJPROP_STYLE,2);
   ObjectSet("HiBrk"+cnt,OBJPROP_RAY,0);

   ObjectCreate("LoBrk"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),LoBrk,iTime(NULL,1440,cnt+1)+(5*1440*60),LoBrk);
   ObjectSetText("LoBrk"+cnt,"Short");
   ObjectSet("LoBrk"+cnt,OBJPROP_COLOR,Red);
   ObjectSet("LoBrk"+cnt,OBJPROP_BACK,0);
   ObjectSet("LoBrk"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("LoBrk"+cnt,OBJPROP_STYLE,2);
   ObjectSet("LoBrk"+cnt,OBJPROP_RAY,0);

   ObjectCreate("Mid"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),Lo+((Hi-Lo)*.50),iTime(NULL,1440,cnt+1)+(5*1440*60),Lo+((Hi-Lo)*.50));
   ObjectSetText("Mid"+cnt,"??");
   ObjectSet("Mid"+cnt,OBJPROP_COLOR,DarkOrange);
   ObjectSet("Mid"+cnt,OBJPROP_BACK,0);
   ObjectSet("Mid"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("Mid"+cnt,OBJPROP_STYLE,2);
   ObjectSet("Mid"+cnt,OBJPROP_RAY,0);

   ObjectCreate("LongProfit"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),Hi+Range,iTime(NULL,1440,cnt+1)+(5*1440*60),Hi+Range);
   ObjectSetText("LongProfit"+cnt,"??");
   ObjectSet("LongProfit"+cnt,OBJPROP_COLOR,DarkOrange);
   ObjectSet("LongProfit"+cnt,OBJPROP_BACK,0);
   ObjectSet("LongProfit"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("LongProfit"+cnt,OBJPROP_STYLE,2);
   ObjectSet("LongProfit"+cnt,OBJPROP_RAY,0);

   ObjectCreate("ShortProfit"+cnt,OBJ_TREND,0,iTime(NULL,1440,cnt+1),Lo-Range,iTime(NULL,1440,cnt+1)+(5*1440*60),Lo-Range);
   ObjectSetText("ShortProfit"+cnt,"??");
   ObjectSet("ShortProfit"+cnt,OBJPROP_COLOR,DarkOrange);
   ObjectSet("ShortProfit"+cnt,OBJPROP_BACK,0);
   ObjectSet("ShortProfit"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("ShortProfit"+cnt,OBJPROP_STYLE,2);
   ObjectSet("ShortProfit"+cnt,OBJPROP_RAY,0);
    

    HiBrkVal=0;LoBrkVal=0;
    Hi=iHigh(name,1440,cnt+1); if(iHigh(name,1440,cnt+1)<iHigh(name,1440,cnt))  {Hi=iHigh(name,1440,cnt);}
    Lo=iLow(name,1440,cnt+1);  if(iLow(name,1440,cnt+1)>iLow(name,1440,cnt))    {Lo=iLow(name,1440,cnt);}
    HiBrk=Hi+((Hi-Lo)*Percent);
    LoBrk=Lo-((Hi-Lo)*Percent);
    SL=Hi-((Hi-Lo)*0.5);
    TPLong=HiBrk+(Hi-Lo);
    TPShort=LoBrk-(Hi-Lo);
    
   }

   
   if(tdw>2 && HiBrkVal==0 && iHigh(name,1440,cnt)>HiBrk) {HiBrkVal=tdw;CreateArrow(1);}
   if(tdw>2 && LoBrkVal==0 &&iLow(name,1440,cnt)<LoBrk)  {LoBrkVal=tdw;CreateArrow(2);}


   
    }
  
Alert("Finished");

  return(0);
  }
  
//############################################################################  
int start()
{

return(0);
}  


int CreateArrow(int Dir)
 {
   if(Dir==1)
   {
   ObjectCreate("Arrow"+cnt,OBJ_ARROW,0,iTime(NULL,1440,cnt),Lo-Range
   );
   ObjectSet("Arrow"+cnt,OBJPROP_COLOR,White);
   ObjectSet("Arrow"+cnt,OBJPROP_BACK,0);
   ObjectSet("Arrow"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("Arrow"+cnt,OBJPROP_STYLE,2);
   ObjectSet("Arrow"+cnt,OBJPROP_ARROWCODE,225);
   }

   if(Dir==2)
   {
   ObjectCreate("Arrow"+cnt,OBJ_ARROW,0,iTime(NULL,1440,cnt),Hi+Range);
   ObjectSet("Arrow"+cnt,OBJPROP_COLOR,White);
   ObjectSet("Arrow"+cnt,OBJPROP_BACK,0);
   ObjectSet("Arrow"+cnt,OBJPROP_WIDTH,1);
   ObjectSet("Arrow"+cnt,OBJPROP_STYLE,2);
   ObjectSet("Arrow"+cnt,OBJPROP_ARROWCODE,226);
   }

 
 return(0);
 }
//+------------------------------------------------------------------+