A.C.
I would find a good naturopathic doctor and have him do some tests. They test for things (hormones) differently than an allopathic doctor. That is, the naturopath will look for any issues that are starting to show or that you are showing signs of, so that he can start helping your body heal and the issues will go away before you get sick. The allopathic doctor will take tests and, even if the tests show that your hormones are off or low, will say that you're perfectly healthy, because the way he is taught, unless you have a dis-ease or disorder, they is nothing wrong with you.
You could have issues with your thyroid or your adrenals or your female hormones (or some other hormone) that is messing with your weight and your menustration. As far as your allopathic doctor is concerned, your tests show that you are "in the range" for "being okay/not sick." And until those results change and you actually have a dis-ease--the allopathic doctor isn't able to help you.
Whereas the naturopathic doctor will be able to see that this hormone or that hormone is off and can start helping you get your body healthy before you get terribly sick.
You know there's something wrong. Go and find a doctor who can help you get better. That's what I had to do. My allopathic doctor refused to help me, so I went to alternative medicine. It was the best decision I ever made.