Apart from that does this look a reasonable approach to only trading at a specified time?
int sessionStartHour=8
int sessionStartMinute=0
int sessionEndHour=16
int sessionEndMinute=0
int sessionMode=1
int Weekends=0
privatebool InValidSession()
{
//Print("InValidSession");
bool result = true;
try
{
if ((Weekends == 0) && (Time[0].DayOfWeek == DayOfWeek.Saturday || Time[0].DayOfWeek == DayOfWeek.Sunday))
{
result = false;
}
int TimeNow = ToTime(Time[0].Hour, Time[0].Minute, Time[0].Second);
if (result && sessionMode == 1)
{
timeStart = ToTime(sessionStartHour, sessionStartMinute, 0);
timeEnd = ToTime(sessionEndHour, sessionEndMinute, 0);
result = (TimeNow >= timeStart) && (TimeNow <= timeEnd);
}
}
catch (Exception ex)
{
Log(ex.ToString(), LogLevel.Error);
}
return result;
}

Comment