It’s hard when you feel like this - and even harder when people say you just have to stop the anger and the self-hatred - cause you can’t simply just stop! It’s not that easy, or that simple.
If you have money you could pay for counselling. Getting someone who is impartial to listen to your concerns; someone who is properly trained, can be immensely helpful. I think a lot depends on how old you are. If you are young, you have a better chance of beating these demons. Think of your problems like a tree with roots. The longer those roots have been growing down the harder they are to get at!
But they can be got at - you just have to keep digging away. So pay for the help if you can.
Otherwise get some help from books. There is a technique called neuro linguistic programing (NLP) which is very useful and successful and can help you can learn and retrain how you look at things and behave. I’m sure you can borrow books about it from your library - they will be in the self-help section, but start with something easy.
Friends and family are often not the best people to share with as they can be too close and too concerned and end up making you feel worse. However I do think you need to share with someone. If you are able you could speak to your doctor or pastor and be honest about how you feel.
What’s wrong with you is that you need some help - like the rest of us - to make sense of this life. Be gentle on yourself, you would be gentle with someone else wouldn’t you? Take care. X