Say I'm long on some symbol.  What's the difference betwen:

MarketOrder(item.Symbol, -Portfolio[item.Symbol].Quantity);

and

SetHoldings(item.Symbol, 0, true);

In my algorithm, on the "sell" or "close" side of things when I receive a trigger to get rid of the investment, I've tried both of the calls above, and they yield signifantly different overall backtesting results over the period and symbols I'm using.  

I guess I would have expected SetHoldings to 0 would be the same as a MarketOrder to sell however many shares of the stock I'm holding in my portfolio.  

But, that appears to not be the case.