When I was in discussion with one of the reader of the blog this question popped up and I have answered it partly in Know your risk and investment profile but still there is one more aspect to it. In that I discussed about the level of shares as the strategy for investment but today I would suggest the time horizon you should have when investing in stocks. This is just my personal opinion.
When you are investing in any company you actually believe in the strategies and growth of the company and companies take time to grow. Companies cannot multiply their revenues overnight. You need to invest in companies which you think have the market share or will gain market share and you can make money off your investments.
If you believe in this strategy, you would not think about offloading your investment when they start cracking but you would try to make more investment into that company.
Share your at least one stock which you have an investment for a long long term. Mine is Dish TV currently.