Fix AnalysisDate when Editing/Closing Positions

This commit is contained in:
2025-06-02 18:58:41 -04:00
parent ebe19e0ff3
commit 4f0f4e79f6
6 changed files with 58 additions and 40 deletions

View File

@@ -743,9 +743,10 @@ namespace MarketData.Generator.CMMomentum
public void SaveSession()
{
DateGenerator dateGenerator = new DateGenerator();
MDTrace.WriteLine(LogLevel.DEBUG, String.Format("Saving session to '{0}'", PathSessionFileName));
CMSessionParams sessionParams = new CMSessionParams();
CMSessionManager sessionManager = new CMSessionManager();
if (Utility.IsEpoch(AnalysisDate)) AnalysisDate = dateGenerator.GetPrevBusinessDay(Today());
Parameters.TradeDate = TradeDate;
Parameters.AnalysisDate = AnalysisDate;
sessionParams.LastUpdated = Today();
@@ -758,16 +759,15 @@ namespace MarketData.Generator.CMMomentum
sessionParams.Cycle = Cycle;
sessionParams.CashBalance = CashBalance;
sessionParams.NonTradeableCash = NonTradeableCash;
sessionManager.SaveSession(sessionParams, PathSessionFileName);
CMSessionManager.SaveSession(sessionParams, PathSessionFileName);
}
public bool BackupSession()
{
String[] parts=PathSessionFileName.Split('.');
String backupFileName=parts[0]+"_"+Utility.DateTimeToStringYYYYMMDDMMSSTT(DateTime.Now)+".bak";
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Saving session to '{0}'",backupFileName));
String[] parts = PathSessionFileName.Split('.');
String backupFileName = parts[0] + "_" + Utility.DateTimeToStringYYYYMMDDMMSSTT(DateTime.Now) + ".bak";
MDTrace.WriteLine(LogLevel.DEBUG, String.Format("Saving session to '{0}'", backupFileName));
CMSessionParams sessionParams = new CMSessionParams();
CMSessionManager sessionManager = new CMSessionManager();
sessionParams.LastUpdated = Today();
sessionParams.TradeDate = TradeDate;
sessionParams.StartDate = StartDate;
@@ -778,7 +778,7 @@ namespace MarketData.Generator.CMMomentum
sessionParams.Cycle = Cycle;
sessionParams.CashBalance = CashBalance;
sessionParams.NonTradeableCash = NonTradeableCash;
return sessionManager.SaveSession(sessionParams, backupFileName);
return CMSessionManager.SaveSession(sessionParams, backupFileName);
}
}
}

View File

@@ -29,11 +29,13 @@ namespace MarketData.Generator.CMMomentum
public class CMSessionManager
{
private static String SIGNATURE="CMSESSIONv1.00";
public bool SaveSession(CMSessionParams sessionParams, String pathSessionFile)
public static bool SaveSession(CMSessionParams sessionParams, String pathSessionFile)
{
try
{
DateGenerator dateGenerator = new DateGenerator();
if (null == pathSessionFile) return false;
if (Utility.IsEpoch(sessionParams.AnalysisDate)) sessionParams.AnalysisDate = dateGenerator.GetPrevBusinessDay(DateTime.Now);
pathSessionFile = GetSessionFileName(pathSessionFile);
FileStream outStream = new FileStream(pathSessionFile, FileMode.Create);
StreamWriter streamWriter = new StreamWriter(outStream);