I've been learning English seriously for 5 years. Now I can understand most what native speaker say and I can communicate in English with them and with other English learners. But I still can't master it. Every time I post something on italki or on my Facebook's wall, it turns out there are too many mistakes. I send my sentences to my British friend, and he always corrects them a lot. I learned the grammar rules, I've read a book in English, I listen to podcats and watch TV. But EVERY TIME I make mistakes. I don't want to be understandable, I want to be as perfect as I can. So, who else has the same problem? I know some friends who's never been to an English speaking country, but it seems their English great. I read their post and it seems that they construct sentences very easily. For example this sentence: the Internet connection was down and I and I had to call a halt to doing my homework. I was following the grammar when I was creating this sentence, but it was totally corrected. My friends from Italy, Poland, Spain, France etc never have mistakes. Sometimes I think that everyone is bilingual around me!!!
it seems that you may have reached a plateau in your learning and you cannot go higher by yourself. After reading your explanation,I may be able to offer you a two pieces of advice, if you are ready to take it. It sounds like you've mastered the technical aspects of the language but not the art. So that means you understand very well when a native speaker talks to you but cannot speak back to them without making mistakes: here's my tip. You need to do two things, which are to essentially listen more to native speakers, and then repeat to yourself whole sentences and phrases EXACTLY how they say it. This is important, because the thing I think you may lack is that you may still see English from your side( translating in your head). You need to imagine yourself like a native and see how they construct sentences and then copy it. When you hear a sentence from a native that describes what you want to say, you try to remember it(or write it down) and then you practice by repeating it many times till it becomes automatic. So to summarise:
1. Listen to natives MORE
2. Choose sentences you want to use and PRACTICE by REPEATING it constantly, to yourself or somebody else. You could also practice repeating by recording yourself in audio.
I hope this was clear
PS would you like to know the corrections to your sentences?
You need more immersion and exposure to real life English and you need to become a different personality in your targeted language.
Every language has a certain cultural aspect to it. How do British or Americans express certain things? What idioms do they use? What sentence structures are preferred? How do they carry themselves? The grammar rules don't tell you how to use the language in real life. They pave the way for you but in order to master the language you have to be exposed to the language. Do babies learn from textbooks or by listening to their parents? You have to be willing to let go of the "Russian' way of saying certain things. It is really important to embrace the cultural aspect of your targeted language and learn to become your new 'you' in that language. Maybe your friends can relate to America or England more than you? Maybe you have a mind block because you are too attached to your native language. For instance, I dream in German and English at the same time. Sometimes I forget words and phrases in my native langauge because I'm so used to say something a certain way in English.
Well,somewhere I read that one of the hardest parts of life is deciding whether to walk away or try harder.So I think later one is the best option .So don't just give up,think positive and success will be at your hand,that is for sure:)