This paper proposes a novel precoding algorithm for multiple-input multiple-output (MIMO) systems. The novel predcoding algorithm utilizes the imperfect channel state information (CSI) to pre-equalize the interlayer interference for the MIMO systems. Providing same channel condition, the proposed algorithm, with consideration of channel estimation error and feedback quantization error, improves the receiving performance compared with the conventional precoding algorithms in MIMO systems. Simultaneously, a modified ordering scheme is proposed in this paper. Ordering of the rows in channel matrix can result in distinct system structure. The modified ordering scheme, called modified preorder-tree-traversal algorithm, utilizes channel transformation and regrouping to optimize the system structure. At high signal-to-noise ratios (SNR), for example 6∼10dB, the proposed ordering scheme plays a more important role than the no-ordering schemes. Simulation results show that the proposed precoding algorithm and the optimal ordering can achieve 1dB and 0.6dB performance advantage separately, compared with previous proposals.