I highly recommend Cognitive Behavioral Therapy, its basically about learning why and how you move between different emotional states and learns you to move from one to the other.
I had very similar problems, but through CBT i basically learned how to switch my emotional state to a more positive...