I'm a little confused by some of the documentation (trading-and-orders) and I was hoping someone could clarify quickly for me.

The documentation shows:

# Set fixed percentages of known tickers:
self.SetHoldings("IBM", 0.25)
self.SetHoldings("GOOG", 0.25)
self.SetHoldings("AAPL", 0.25)
self.SetHoldings("MSFT", 0.25)

so it appears that we give SetHoldings() the ticker symbol as a string. However, a little bit higher in the documentation it states:

self.SetHoldings(Symbol symbol, double percentage, bool liquidateExistingHoldings = false)

Which to me indicates that we should be giving it a Security object (unique security identifier).

Or is it the case that we can use either a string or unique security identifier.