Check trend before check BUY/SELL signal. You can't counter the trend in long run.
Trend
------
Bull = MACD()>0
Bear = MACD()<0
Signal
------
Buy = Cross(MACD(),Peak(1,MACD(),5))
BuyMore = Cross(MACD(),0)
Sell = Cross(Peak(1,MACD(),5),MACD())
SellMore = Cross(0,MACD())
HighLight
-----
Bullish = MACD()>0 AND MACD()>Mov(MACD(),9,E)
Bearish = MACD()<0 AND MACD()<Mov(MACD(),9,E)
PreBull = MACD()>Mov(MACD(),9,E) AND MACD()<0
Prebear = MACD()<Mov(MACD(),9,E) AND MACD()>0
You can use or apply these formulars in your stock charting software. My friends who give these formular to me use MetaStock , good software.
Note : If you have some basic programming skill you can embed TREND in to SIGNAL. ;-)