If you wanted to close 3 days later independent of bar size alternatively you could use dates and times:
DateTime barTime = Bars.Current.PriceDateTime; // Date and time of current bar
foreach(Position pos in OpenPositions)
. . . pos.OpenDate.Date . . . // Pseudo code. To illustrate that each position has a time stamp.
So you could base your logic off the difference in these time quantities as well.