I do not really understand the spread issue. All brokers deliver live spread and it's available in the "Spread" variable. marketVal is for an arbitrary additional parameter, not necessarily for spread.

As to retrieving more than 2 additional parameters from the broker - can you give me an example of which other parameters from which broker you would need?