pub fn trade_profiles(
flow: &Footprint,
ranges: &TradeProfileRanges,
) -> Vec<TradeProfile>Expand description
Builds exact profiles from footprint rows. No OHLC volume is distributed across prices.
Ranges select whole bars, so session and split boundaries must align with the footprint’s
bar clock. Unknown aggressor volume remains separate and contributes only to total volume.
Bars before Footprint::complete_from, whose executions are not all held, are left
out; TradeProfile::complete tells whether a range starts before it.