Yes, the price series must be inside the asset loop as in your first example.
Also the declaration string CurrentAsset = Asset; is redundant.
The Asset variable already holds the current Asset, so no need to also define CurrentAsset