Ok I may be answering my own question here, but please correct me if I'm wrong:
based on some more testing, I think I've figured out that v0...v7 are arguments that can be sent to a TMF (as in the above example). However, once a trade is triggered, it seems like this value cannot be changed for the same trade (for example, on successive iterations of the run() function, presumably since the tmf is called only at the time of trade entry).
However, if I set a changing value (such as a series output that I want to evaluate with each run() iteration) in TradeVar[0], then that is like a global static that can then be evaluated inside the TMF.
So if I wanted to create a series in the run() function and then from bar-to-bar evaluate that series' current value inside my active TMF, I would need to use a TradeVar[]
I think the confusion for me is that v0...v7 sounds similar to TradeVar[0]...TradeVar[7] in the description, but they are really not the same at all.
Please correct if any of this is wrong, thank you