Since this is an ongoing problem for years, I would first make sure you get a full blood work up. Which should check your Thyroid, if that is not working properly this can cause irregular bleeding.
There are tests that can also be taken to check regular hormones and the function of your ovaries as well.
Any bleeding longer than 10 days should be checked out by your doctor, so that is good you have an appt. Too much bleeding can cause you to become anemic. Without an in person evaluation would be hard to pin point exactly what is going on. However some most common causes can include: Stress, weight gain/loss, medication, illness, hormonal imbalance, thyroid, infection.. Some other causes too include: Ovarian cysts, as you know that. polyp of the cervix.
You can look up each of those that I have listed to get a feel for what they mean, and make sure to talk to your doctor and go with the proper testing. Once all the results come in, then go back over them and find the best course of treatment. Keep in mind, if your thyroid comes back in the low or high of normal, this can still indicate a problem, at that point if that occurs, or even with your hormone levels, follow up with an endocrinologist, as they are much more knowledgeable in that department.
Best of luck Hun, Hope this helps, If you need anything else please feel free to ask. If you found this helpful don't forget to click the *ACCEPT* button and leave *POSITIVE* feedback.