The problem of universal sequential investment in stock markets is considered. We construct an algorithmic trading strategy that is asymptotically at least as good as any trading strategy that is not excessively complex and that computes the investment at each step using a fixed continuous function of the side information. This strategy uses predictions of stock prices computed using the theory of well-calibrated forecasting. Unlike in statistical theory, no stochastic assumptions are made about stock prices. The empirical results obtained on historical markets provide strong evidence that this type of technical trading can "beat" some generally accepted trading strategies if transaction costs are ignored.