
extern string News_Trading = "Trade on News";
extern bool Trade_On_News = TRUE;//extern bool Trade_On_News = TRUE;
// EA Setting variables
extern bool    UseNewsFilter = TRUE;
extern int     MinsBeforeNews = 60; 
extern int     MinsAfterNews  = 60;
extern int     NewsImpact = 2;
//int minutesUntilNextEvent;
//int minutesSincePrevEvent;
//bool News=false;
string sInfo="";

int init() {
   Comment("Initialization ..."); 
   return (0);
}

int deinit() {
   Comment("");
   return (0);
}

int start() {

//minutesSincePrevEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 1, 0);
//minutesUntilNextEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 1, 1);

//impactOfPrevEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 2, 0);
//impactOfNextEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 2, 1);

if (NewsTime()) {
Check4Trades();
   }

//if (NewsTime == False) {
//   sInfo=sInfo+"\nNo News, No Trades";}
  Comment("\n"+
              "\n"+
              "\n--------------------------------------------------------------"+
              "\n"+sInfo+
              //"\nCurrent News setting : "+NewsTime()+
              //"\nCurrent minutesSincePrevEvent settins :" +minutesSincePrevEvent+
              //"\nCurrent minutesUntilNextEvent settins :" +minutesUntilNextEvent+
              "\n--------------------------------------------------------------"+
              "\n"+
              "\n"
             );
   return (0);   
}

//+------------------------------------------------------------------+
//| Trade Function
//+------------------------------------------------------------------+
int Check4Trades()
{
  sInfo="\nEA Open Trades - Worked!!!";
  Print("EA Open Trades - Worked!!!");
   return (0);   
}

//+------------------------------------------------------------------+
//| Function to check if it is news time 
//+------------------------------------------------------------------+

bool NewsTime() {
   bool News=false;
   static int PrevMinute = -1;
   if (UseNewsFilter && Minute() != PrevMinute && !IsTesting()) {
      PrevMinute = Minute();
         int minutesSincePrevEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 1, 0);
         int minutesUntilNextEvent = iCustom(NULL, 0, "FFCal", true, true, false, true, true,0,true,-1,-1, 1, 1);
      if ((minutesUntilNextEvent <= MinsBeforeNews) || (minutesSincePrevEvent <= MinsAfterNews)) {
         int impactOfNextEvent = iCustom(Symbol(), 0, "FFCal", true, true, false, true, true, 2, 1);
         if (impactOfNextEvent >= NewsImpact) {
            News = true;
            }
         }
       else {
         News = false;
         sInfo=" No News Time";
         }
      }
   return(News);
}

