You can't trade players whose contracts expired this season, but their old contracts still count against team salary caps until they are either re-signed or become free agents.
If a player has been signed within the past 15 games, he is not allowed to be traded.