Sell Dates must have a timetsamp of 12:00 a.m.

This commit is contained in:
2025-09-04 11:45:12 -04:00
parent da42893a01
commit 7412152ac8
3 changed files with 23 additions and 9 deletions

View File

@@ -248,6 +248,20 @@ namespace MarketData.Generator.MGSHMomentum
}
}
/// <summary>
/// Retrieve open/closed positions on specified date for the given session.
/// </summary>
/// <param name="sessionParams"></param>
/// <param name="currentDate"></param>
/// <returns></returns>
public static (MGSHPositions openPositions, MGSHPositions closedPositions) GetPositionsOn(MGSHSessionParams sessionParams,DateTime currentDate)
{
MGSHPositions combinedPositions=sessionParams.GetCombinedPositions();
MGSHPositions openPositions=new MGSHPositions(combinedPositions.Where(x => (x.PurchaseDate<=currentDate&&(!Utility.IsEpoch(x.SellDate)&&x.SellDate>currentDate))||(x.PurchaseDate<=currentDate&&Utility.IsEpoch(x.SellDate))).ToList());
MGSHPositions closedPositions=new MGSHPositions(combinedPositions.Where(x => (!Utility.IsEpoch(x.SellDate)&&x.SellDate.Equals(currentDate))).ToList());
return (openPositions, closedPositions);
}
public static ModelPerformanceSeries GetModelPerformance(MGSHSessionParams sessionParams)
{
Profiler profiler=new Profiler();