public static IEnumerable<IPosition> GetClosedPositions(this ISecurity sec, int barNum)//IList<double> IPosition
{

IEnumerable<IPosition> m_lastCache = null;
IPosition m_lastClosed = null;

var last = sec.Positions.GetLastPositionClosed(barNum);
if (m_lastCache == null || last != m_lastClosed)
{
m_lastClosed = last;
m_lastCache = sec.Positions.GetClosedForBar(barNum).OrderByDescending(pos => pos.ExitBar.Date).ToArray();
}
return m_lastCache;