Below are two ways of dealing with multiple assets and algos. Both examples can be found in the manual, the first one is at "C Course > Portfolios, Money Management", the second one is at "Functions > Trading > loop".

My question is, is there any difference between the two methods?

Quote:
while(asset(loop("EUR/USD","USD/JPY")))
while(algo(loop("TRND","CNTR")))
{
Margin = 0.5 * OptimalF * Capital;
if(Algo == "TRND")
tradeTrend();
else if(Algo == "CNTR")
tradeCounterTrend();
}


Quote:
function tradeFunc(); // empty function pointer

function run()
{
while(loop(
"EUR/USD",
"USD/CHF",
"GBP/USD")) // loop through 3 assets
while(tradeFunc = loop(
tradeTrendLong,
tradeTrendShort,
tradeBollinger)) // and 3 different trade algorithms
{
asset(Loop1); // select asset
tradeFunc(); // call the trade function
}
}