I like that.
But this is tricky and there is great room for mistakes. I want you to be aware. For example, if Entry and EntryTime are used, the position may not be entered in the same bar it is placed. In that case, TradeTime can't help you. There is no such thing as TradeOrderPlacedTime. For that, I need to store the bar number in a TradeVar myself.