Monthly Processing and enhancement of buy/sell display
Some checks failed
Build .NET Project / build (push) Has been cancelled

This commit is contained in:
2025-12-01 11:46:19 -05:00
parent 4f3bcd10e2
commit 182a2f8bf2
8 changed files with 162 additions and 49 deletions

View File

@@ -652,6 +652,7 @@ namespace MarketData.Generator.CMTrend
return result;
}
ActivePositions.Add(positions);
DisplayPurchases(positions, TradeDate);
CashBalance-=positions.GetExposure();
}
DisplayRealtimeBlotter(TradeDate);
@@ -753,6 +754,7 @@ namespace MarketData.Generator.CMTrend
return result;
}
ActivePositions.Add(positions);
DisplayPurchases(positions, TradeDate);
CashBalance-=positions.GetExposure();
}
MDTrace.WriteLine(LogLevel.DEBUG,"\n");
@@ -884,7 +886,7 @@ namespace MarketData.Generator.CMTrend
private void ManageOpenPositions(DateTime tradeDate)
{
if(0==ActivePositions.Count) return;
List<Position> closedPositions=new List<Position>();
Positions closedPositions = new Positions();
foreach(Position position in ActivePositions)
{
Price price=GBPriceCache.GetInstance().GetPrice(position.Symbol,tradeDate);
@@ -948,6 +950,7 @@ namespace MarketData.Generator.CMTrend
}
if(0!=closedPositions.Count)
{
DisplaySales(closedPositions, TradeDate);
MDTrace.WriteLine(LogLevel.DEBUG,"********************* S E L L *********************");
foreach(Position closedPosition in closedPositions)
{
@@ -1788,5 +1791,33 @@ namespace MarketData.Generator.CMTrend
sessionParams.NonTradeableCash=NonTradeableCash;
return CMTSessionManager.SaveSession(sessionParams,backupFileName);
}
/// <summary>
/// This makes for easier reading of the sales
/// </summary>
/// <param name="positions"></param>
/// <param name="tradeDate"></param>
private static void DisplaySales(Positions positions,DateTime tradeDate)
{
MDTrace.WriteLine(LogLevel.DEBUG,"********* S E L L S *********");
foreach (Position position in positions)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Sell {0} {1} @ {2} on {3}",position.Symbol,Utility.FormatNumber(position.Shares,3),Utility.FormatCurrency(position.CurrentPrice,2),tradeDate.ToShortDateString()));
}
}
/// <summary>
/// This makes for easier reading of the purchases
/// </summary>
/// <param name="positions"></param>
/// <param name="tradeDate"></param>
private static void DisplayPurchases(Positions positions, DateTime tradeDate)
{
MDTrace.WriteLine(LogLevel.DEBUG,"********* B U Y S *********");
foreach (Position position in positions)
{
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Buy {0} {1} @ {2} on {3}",position.Symbol,Utility.FormatNumber(position.Shares,3),Utility.FormatCurrency(position.PurchasePrice,2),tradeDate.ToShortDateString()));
}
}
}
}