Stuck between 1600-1800 since the last two years

Analyse your lost games and learn from your mistakes.
Study annotated grandmaster games.
Study endgames.

Challenge yourself by playing against stronger opponents. Analyze these games carefully to learn from their strategies and tactics.
I was stuck around 1600 for a very long time. When I played, i played far too many games so that my quality for each game dropped. I kept being slightly worse out of the openings, especially when playing white in a sicilian. I didn't improve my tactical awareness.
When I changed my openings and got into better positions I could then improve my positional chess, to get into better tactical positions. Since I played fewer games my rating drops on my bad days weren't as deep.
To go past 1900 I do have to fix some new issues I found that I do in the opening. There are also a few recurring problems I'm getting myself into in the middlegame and if I don't fix them I'm endlessly stuck at 1900.

Well, for me, No. 1, try to study some openings that are easy to understand, memorize, and play. Honestly, Sicilian is really tough because there are a lot of moves to consider and strictly follow. But if you want to really play it, maybe learn some short and basic lines of it!
No. 2, yepp, tactics really help you in this stage of yours, I'll give a secret tip for you, before playing a game, do tactics for maybe 30 mins. to 1 hour, the intensity of the tactics is your call. I remember I just did intense tactics, my rating skyrocketed to 1800-1900.
No. 3, don't play blitz or bullet yet, its really unhealthy for your growth, I can testify to that because after an hour of bullet, my rapid games are soo badd. Play rapid or classical games more often. Also, if you do want to play bullet or blitz, maybe a maximum of 5 games only, I usually do mine in minimum which is 3 games. The only benefit from playing this formats is memorization of the openings but don't focus on these formats that much. If you really want to memorize the openings by heart, move it on the board, I know its a bit of a hassle but when you do it, its going to become a muscle memory that even you close your eyes, you'll still know the moves.
No. 4, review your games whether its a win or a loss, not all games of ours are accurate and we can also learn from it.
No. 5, also, don't really learn extensive lines, its actually recommended if you're 2000 and above, so its best to use only basic and short lines.
Last of all, most of your time must be on training and not in games, playing a lot of games doesn't help you that much. Its like chopping vegetables or meat using a knife, eventually that knife will become dull, and that's why you sharpen it everyday. And what sharpens the knife is your training, so if you are a busy person, I suggest train for 1-2 hours everyday but if you are not busy and have all free time in the world, just start slow and maybe for 3-4 hours everyday. You might say its quite long but it depends on you because you can attest your capabilities and stamina too. Also, don't worry too much of the training time, its a bit long but if you're gonna reach the higher levels.... well its going to be more longer. Minimum for us is 4 hours and the max is 8 hours or more. As a kid, I have a lot of free time so that's why I tend to train 8 hours or more. If you think I don't take breaks, we actually do take breaks and you'll need it!
That's all and I hope this message helps you to break the 1600-1800 stage of yours!