I am sorry for late answer.
Do you mean I edited my Bios incorrectly or just setting OC settings ?
Your mining hashrate isn't stable mainly because of the tweaking you've done to your card.
Try playing around the overclock settings. Alter the core and memory clocks until you find a stable setting.
Changes in the hashrate should be about +5/-5.
Look for rejected shares in the miner.
When I press the 's' button and get total and there are no incorrect shares.
I reduce the overclock but notting is changing. Even I do more overclock the same result, nothing is changing.
Overclocking/undervolting too much can affect effective hash rate. Your friend has probably found good stable clocks so that his effective hash rates are closer to reported.
Try reducing the overclock. Your reported hash rates may come down, but it should get closer to effective. Look for cards that are submitting incorrect shares. If you're using Claymore, you can find this by pressing 's' and it will show you submitted shares per card and incorrect shares per card. If there are cards that have low shares/any incorrect shares, start by underclocking those. I do 10mhz at a time, let it run and do it again like a day later.
hashrate is ok its not changing but the cars are finding and accepting more shares. so is it all because of OC settings ?
I noticed my power settings can cause huge fluctuations and also how you are OC'ng the card (if you are)--also var difficulty can change the hashrate. But I never see a flat rope. I wouldn't worry about it unless you are getting a much lower hashrate than your friend.