Improving English or any language for that matter is all about practice. You cannot just learn grammar rules and memorize word lists and expect to be fluent in English. Fluency in English will come to those who can think in a language, without doing any mental translations. The most important aspect of your practice should be to practice English speaking with real native speakers.
Let’s test this hypothesis on a little focus group. Out of all the people you know who speaks English as a second language, who speaks English the best? Mark down these names in a piece of paper. How did they get to where they are? You will find that some of them spoke English at their homes. Some studied in schools where English was taught and spoken from a young age. There would be others who studied or worked in an English speaking country for a few years. Almost everyone who speaks fluent English has got opportunities to immerse in conversational English.
Spending too much time trying to master grammar is a common mistake that most ESL students make. English as most other languages have complex and often times counter-intuitive grammar rules. Go back to the previous focus group. Did your friends who spent time in an English speaking country learn any new grammar rules in order to become more fluent in English? No. The reason they became fluent is because they got opportunities to have real conversations with real native speakers.
It is said that, only 20% of native English speakers know all the grammar rules of English. So if your goal is to master oral English, stop wasting time on grammar before you can speak. Learn to speak first and the correct grammar will follow.
Also, think of how you learnt your first language. Did you learn all the grammar rules first or did you just start speaking with whatever grammar you knew? The same rule applies to speaking any language.
The same rule applies to learning vocabulary. If you are like most ESL students, your vocabulary is more than enough for you to start speaking.
Think of every time you get stuck in the middle of a conversation. Was it because you did not know the word you were searching for? In most cases you will find that you just did not find the word you were looking for although it was a word you knew very well.
In the science of language learning, this falls under the concept of active vocabulary. You have your vocabulary and then you have an active vocabulary, which is a subset of your vocabulary. Your goal should be to develop your active vocabulary to be of equal size to your vocabulary.
The fact of the matter is, this is extremely hard unless you practice speaking continuously and get to a state where you think in English.
The only way to get to this level is by practice conversational English with native speakers. There is no alternative to this.