See below, when using the Bar Day of Week building block, random generation negates the rule for the opposite trade. This is clearly incorrect and the strategies generated only trade then in one direction.
//--------------------------------------------------------------------
// Trading rule: Trading signals (On Bar Open)
//--------------------------------------------------------------------
LongEntrySignal = ((((((Bar closes below Exponential Moving Average(Main chart,50))
and (Bar Closes below KeltnerChannel(Main chart,67, 2.7).Lower))
and (Bar closes below Smoothed Moving Average(Main chart,50)))
and (Bar Day of Week != 0))
and (Bar Day of Week != 6))
and (Bar closes below Simple Moving Average(Subchart1, H1,50)));
ShortEntrySignal = ((((((Bar closes above Exponential Moving Average(Main chart,50))
and (Bar Closes above KeltnerChannel(Main chart,67, 2.7).Upper))
and (Bar closes above Smoothed Moving Average(Main chart,50)))
and (Bar Day of Week = 0))
and (Bar Day of Week = 6))
and (Bar closes above Simple Moving Average(Subchart1, H1,50)));
LongExitSignal = (((Bar closes above Simple Moving Average(Main chart,50))
and (Bar Day of Week != 4))
and (Bar Closes below KeltnerChannel(Subchart1, H1,20, 2.5).Lower));
ShortExitSignal = (((Bar closes below Simple Moving Average(Main chart,50))
and (Bar Day of Week = 4))
and (Bar Closes above KeltnerChannel(Subchart1, H1,20, 2.5).Upper));