Practise writting.
In my opinion, practise writing to learn English is one of the most difficult challeges for me.
One reason is because is difficult to write words correctly. When you are reading a written text you can imagine the meaning of very words by the context.
Another difficulty is the grammar: you can know a lot of vocabulary but the order of the words in sentences normally is different in English than in your language.
At last, what about expressions?. There are a lot of them that you must learn yes o yes. For example, in English it said "it's raining cats and dogs" to mean that is raining a lot, but in Spanish it's said "está lloviendo a cántaros" or "está lloviendo a mares.