My Question is why I can't speak right English when sometime I write very right english
The main issue of speaking correct English is to think in English.
Start thinking in English and always try to speak to your self.
Make yourself in an English environment,try to watch English t.v. series without any subtitles and try to understand every word and what they are meant to say,at first you may find it difficult,but once you get used to it you can understand every sentence and you can try to use them in your practice.
Not to worry,no one's good in foreign languages by birth,it takes years of practice to master them.