Here are five things that many successful learners do.
1. Be consistent!
Study a little every day. Even 5-10 minutes is good if you're busy at work or school. But 20-30 minutes every day is even better. Find ways that you can build learning English into your daily schedule: read at the bus stop or on the train; write a diary before you go to bed, including what you did or how you felt during the day; practise conversations with an imaginary friend when you're cooking or doing household chores; get into the habit of watching or reading international news stories in English.
I can't emphasise this enough! We have a saying: "If you don't use it, you lose it" and it's very true for learning a language.
But what if you can't find someone to speak to? Join a community group on Google+ or Skype (try a group of people who share the same hobbies or interests as you) or start up an English evening in your town once a week - even once a month! You need to find ways to put what you learn into practice.
3. Don't fight it - and don't translate it!
Many learners of English get frustrated because the rules don't seem logical. For example, I sometimes hear:
"In my language I can .... Why can't I do this in English?"
"In my language there's a word for ... What's the equivalent in English?"
The problem is that languages aren't always organised in the same ways. For example, your first language might not have the differences that English has between the Past Simple and the Present Perfect - but English might not have other concepts that your language has.
Don't "fight" these differences. It's better to accept the strange things that we do in English rather than keep looking for similarities.
4. Follow your interests - but in English
Do you love watching films? Then get into the habit of watching a little part of a film but in English. (Don't force yourself into watching hours and hours if you don't understand much. But a little a day helps - see point 1.)
Do you love watching sports? Watch sports programmes or videos on the internet.
Do you spend a lot of time doing crafts or making things? Watch some YouTube tutorials in English...
If you're using English for something you love, it becomes a pleasure rather than an exercise. It might be difficult at first, but as you start watching more, your English will improve.
5. Be patient
We also have another expression in English: "Rome wasn't built in a day!" It means that it takes time to achieve something, and the same is true for language learning. One frustrating thing is that learning a language isn't "linear" like learning how to use a computer program. Some days we remember things, some days we don't. Some days it's easy to have a conversation - but the next day it can be difficult. All this is completely natural, so don't give up! Accept that tomorrow will be a better day.