Hello,
Three year is a really long time, learning English is not a difficult exercise, it's not an alien language,it's just similar to learning any new language. You can do it even within few months, if you're consistent.
To start with the basics, first of all you need to have a grip on the grammar part, for this the best grammar book is Wren and Martin. To understand a language, you need to have a strong hold on its grammar and vocabulary, this will not only make your speaking improve, but writing as well.
As I said, you need to keep a timeframe within which you aim to achieve this, for those consistent months think, read and speak only in English. You may find it difficult but I'll say keep trying, don't give up.
Read any newspaper, The Hindu or Indian Express daily, you'll get acquainted with the writing pattern of authors, you'll learn new words and your English will get stronger day by day.You can read blogs or even books/novels regarding this.
Now, coming to the listening part, you'll only be able to speak fluently by watching and listening, for this I will recommend watch news or any educational videos in Youtube(English), you can watch English movies that comes with subtitles. It'll help you a lot in the sense, you will be able to get acquaint with the speaking words, diction and expression.
Finally, try communicating in English with your friends, family or acquaintances for this matter, it'll make you confident with this language.
Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile