When using Williams%R is higher than level and Williams%R is lower than level building blocks, the rule is not inverted for long and short signals. Since W%R is a directional indicator, the rules should be inverted for long and short.
//--------------------------------------------------------------------
// Trading rule: Trading signals (On Bar Open)
//--------------------------------------------------------------------
LongEntrySignal = ((((Williams % R(Main chart,30) > -80.0)
and Open above BollingerBands(Main chart,50, 2.1).UpperBand after opened below)
and (StdDev(Main chart,30) < 0.2701))
and Open above BollingerBands(Main chart,59, 1.4).UpperBand after opened below);
ShortEntrySignal = ((((Williams % R(Main chart,30) > -80)
and Open below BollingerBands(Main chart,50, 2.1).LowerBand after opened above)
and (StdDev(Main chart,30) < 0.2701))
and Open below BollingerBands(Main chart,59, 1.4).LowerBand after opened above);