I understand how difficult it is for foreign people to be able to speak fluently. I guess you should try some new methods.
I used to have a difficulties in speaking english fluently. I read a lot of english books, i have many kinds of dictionaries, etc.
I love watching movies, especially american movies. I have lots of american dvds. When watching dvd, instead of setting off the subtitle, you turn it on. Set the english subtitle on. That way, you will be learning english pronunciation, vocabularies, grammar, listening, and speaking. How? you have new and unfamiliar english words when watching a dvd. You know how to pronounce the word because the actor in the movie can say it correctly. furthermore, you can know english expression the form of grammar, etc, as you see the subtitle. you'll also improve your listening because when you're listening to them, if you miss some words, you can always rewind and replay. and the last but not least, you can speak in english because you can practice how to speak correctly by listening to the actors' pronunciation.
and, always bring a dictionary when you're watching a dvd. When you see, new words, you can always pause and look em up in your dictionary.
when finding a hard or unfamiliar expression, dont just stand there. find someone who can give a comprehensive explanation--foreign speakers. ask them. or if it's too hard to find a foreign speaker, just chat online. find an all-american-or -english room. chat with them and ask them what you need to know.
good luck.