I think the key here is practice! By the sound of it your receptive English is pretty good, putting it to use -actively- is the next step. The most effective way is probably taking conversational lessons or, a cheaper solution, to find someone to practice speaking English with. You can also improve your active language skills by simply writing letters or e-mails.
My opinion is that learning through interaction, functional use of language, is the most stimulating way. Having said that, independent home (audio) language courses can also be very instructive.
- For Teachers