Add framework for BollingerBandView

This commit is contained in:
2025-06-13 16:54:40 -04:00
parent b337170c39
commit 9d7a18df54
13 changed files with 916 additions and 67 deletions

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using Avalonia.Media;
namespace PortfolioManager.UIUtils
{
public static class UIConstants
{
public const String CONST_ALL = "{ALL}";
}
}

View File

@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Avalonia.Controls;
using Avalonia.Media;
using Avalonia.Platform.Storage;
using CommunityToolkit.Mvvm.Input;
using Eremex.AvaloniaUI.Controls;
using MarketData;
using MarketData.DataAccess;
using MarketData.Generator;
using MarketData.Generator.CMMomentum;
using MarketData.Generator.Interface;
using MarketData.Generator.Model;
using MarketData.MarketDataModel;
using MarketData.Utils;
using PortfolioManager.DataSeriesViewModels;
using PortfolioManager.Dialogs;
using PortfolioManager.Models;
using PortfolioManager.UIUtils;
using Position = MarketData.Generator.CMMomentum.Position;
namespace PortfolioManager.ViewModels
{
public partial class BollingerBandViewModel : WorkspaceViewModel
{
private bool isBusy = false;
public BollingerBandViewModel()
{
DisplayName = "BollingerBand View";
}
public bool IsBusy
{
get
{
return isBusy;
}
set
{
isBusy = value;
base.OnPropertyChanged("IsBusy");
}
}
// ******************************************************************* P E R S I S T E N C E ***************************************************
public override bool CanPersist()
{
return false;
}
public override SaveParameters GetSaveParameters()
{
return null;
}
public override void SetSaveParameters(SaveParameters saveParameters)
{
return;
}
}
}

View File

@@ -20,12 +20,13 @@ using MarketData.MarketDataModel.GainLoss;
using MarketData.Utils;
using PortfolioManager.DataSeriesViewModels;
using PortfolioManager.Models;
using PortfolioManager.UIUtils;
namespace PortfolioManager.ViewModels
{
public partial class GainLossViewModel : WorkspaceViewModel
{
private const String ALL = "{ALL}";
private const String ALL = UIConstants.CONST_ALL;
private enum Tasks { Accounts, SelectedSymbol, SelectedAccounts, LeastSquaresFit, UseDividends };
private Dictionary<Tasks, Semaphore> semaphorePool = new Dictionary<Tasks, Semaphore>();
private PortfolioTrades portfolioTrades = null;
@@ -54,7 +55,6 @@ namespace PortfolioManager.ViewModels
public GainLossViewModel()
{
DisplayName = "GainLossView";
semaphorePool.Add(Tasks.SelectedSymbol, new Semaphore(1, 1));
semaphorePool.Add(Tasks.SelectedAccounts, new Semaphore(1, 1));

View File

@@ -151,13 +151,6 @@ namespace PortfolioManager.ViewModels
HandleToggleReturnOrPercent();
}
// This is not currently being displayed
[RelayCommand]
public void Run()
{
RunCandidateGenerator();
}
[RelayCommand]
public async Task LoadFile()
{
@@ -285,36 +278,6 @@ namespace PortfolioManager.ViewModels
base.OnPropertyChanged("GraphTitle");
}
// This is not currently being dispplayed
private void RunCandidateGenerator()
{
try
{
if (null == sessionParams) return;
DateGenerator dateGenerator = new DateGenerator();
DateTime selectedDate = dateGenerator.FindPrevBusinessDay(sessionParams.TradeDate);
IsBusy = true;
Task workerTask = Task.Factory.StartNew(() =>
{
MGSHConfiguration localConfiguration = new MGSHConfiguration();
localConfiguration.MaxPositions = int.Parse(nvpDictionary["MaxPositions"].Value);
localConfiguration.HoldingPeriod = int.Parse(nvpDictionary["HoldingPeriod"].Value);
MGSHMomentumCandidates candidates = MGSHMomentumGenerator.GenerateMomentumWithFallback(selectedDate, configuration == null ? localConfiguration : configuration);
momentumCandidates = new ObservableCollection<MGSHMomentumCandidate>();
foreach (MGSHMomentumCandidate momentumCandidate in candidates) momentumCandidates.Add(momentumCandidate);
});
workerTask.ContinueWith((continuation) =>
{
IsBusy = false;
base.OnPropertyChanged("AllItems");
base.OnPropertyChanged("Title");
});
}
finally
{
}
}
public async Task LoadTradeFile()
{
TopLevel topLevel = TopLevel.GetTopLevel(GetTopLevelWindow());

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Runtime.CompilerServices;
using System.Text;
using Avalonia.Threading;
using MarketData.Cache;
@@ -94,6 +95,7 @@ namespace PortfolioManager.ViewModels
{
return new List<CommandViewModel>()
{
new CommandViewModel("Bollinger Bands", new MyRelayCommand(ParamArrayAttribute => this.ViewBollingerBands())),
new CommandViewModel("Gain/Loss", new MyRelayCommand(ParamArrayAttribute => this.ViewGainLoss())),
new CommandViewModel("Momentum Model", new MyRelayCommand(ParamArrayAttribute => this.ViewMomentum())),
new CommandViewModel("MGSHMomentum Model", new MyRelayCommand(ParamArrayAttribute => this.ViewMGSHMomentum())),
@@ -101,18 +103,34 @@ namespace PortfolioManager.ViewModels
new CommandViewModel("CMTrend Model", new MyRelayCommand(ParamArrayAttribute => this.ViewCMTrend()))
};
}
private void ViewCMTrend()
private void ViewBollingerBands()
{
CMTrendViewModel workspace = null;
BollingerBandViewModel workspace = null;
if (null == workspace)
{
workspace = new CMTrendViewModel();
workspace = new BollingerBandViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
this.Workspaces.Add(workspace);
}
this.SetActiveWorkspace(workspace);
}
private void ViewCMTrend()
{
CMTrendViewModel workspace = null;
if (null == workspace)
{
workspace = new CMTrendViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
}
this.SetActiveWorkspace(workspace);
}
private void ViewGainLoss()
{
@@ -121,8 +139,9 @@ namespace PortfolioManager.ViewModels
{
workspace = new GainLossViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
this.Workspaces.Add(workspace);
}
this.SetActiveWorkspace(workspace);
}
@@ -134,6 +153,7 @@ namespace PortfolioManager.ViewModels
{
workspace = new MGSHMomentumViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
}
@@ -147,8 +167,9 @@ namespace PortfolioManager.ViewModels
{
workspace = new MomentumViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
this.Workspaces.Add(workspace);
}
this.SetActiveWorkspace(workspace);
}
@@ -160,9 +181,11 @@ namespace PortfolioManager.ViewModels
{
workspace = new CMMomentumViewModel();
workspace.WorkspaceInstantiator = InstantiateWorkspace;
workspace.Referer = GetReferal();
// AddMenuItem(workspace);
this.Workspaces.Add(workspace);
this.Workspaces.Add(workspace);
}
this.SetActiveWorkspace(workspace);
}
@@ -220,20 +243,26 @@ namespace PortfolioManager.ViewModels
SelectedIndex = itemIndex;
}
private WorkspaceViewModel GetReferal()
{
if (null == workspaces || 0 == workspaces.Count) return null;
return workspaces[workspaces.Count-1];
}
public int SelectedIndex
{
get
{
get
{
return selectedIndex;
}
set
{
selectedIndex = value;
TabIndexArgs args = new TabIndexArgs() { Index = selectedIndex };
OnIndexChangeEventHandler.Invoke(this, args);
base.OnPropertyChanged("SelectedIndex");
}
return selectedIndex;
}
set
{
selectedIndex = value;
TabIndexArgs args = new TabIndexArgs() { Index = selectedIndex };
OnIndexChangeEventHandler.Invoke(this, args);
base.OnPropertyChanged("SelectedIndex");
}
}
public void InstantiateWorkspace(SaveParameters saveParameters)
{

View File

@@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -220,7 +219,6 @@ namespace PortfolioManager.ViewModels
}
}
public CompositeDataSource Data
{
get
@@ -493,7 +491,6 @@ namespace PortfolioManager.ViewModels
base.OnPropertyChanged("Title");
base.OnPropertyChanged("DisplayName");
base.OnPropertyChanged("AllPositions");
// base.OnPropertyChanged("CanMonitor");
base.OnPropertyChanged("CashBalance");
base.OnPropertyChanged("NonTradeableCash");
base.OnPropertyChanged("ModelExpectation");

View File

@@ -2,13 +2,10 @@
using System.IO;
using System.Collections.Generic;
using System.Collections.ObjectModel;
//using System.Windows.Data;
//using System.Windows.Forms;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
//using MarketData;
using System.Reflection;
using MarketData;
@@ -115,6 +112,7 @@ namespace PortfolioManager.ViewModels
for (int index = 0; index < workspaceViewModelPersistenceCollection.Count; index++)
{
WorkspaceViewModelPersistenceHolder workspaceViewModelPersistenceHolder = workspaceViewModelPersistenceCollection[index];
if (index > 0) workspaceViewModelPersistenceHolder.Workspace.Referer = workspaceViewModelPersistenceCollection[index - 1].Workspace;
workspaces.Add(workspaceViewModelPersistenceHolder.Workspace);
workspaceViewModelPersistenceHolder.Workspace.SetSaveParameters(workspaceViewModelPersistenceHolder.WorkspaceParameters);
if (index == workspaceViewModelPersistenceCollection.Count - 1)

View File

@@ -0,0 +1,79 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:PortfolioManager.ViewModels"
xmlns:vw="using:PortfolioManager.Views"
xmlns:md="using:PortfolioManager.Models"
xmlns:local="using:PortfolioManager.UIUtils"
xmlns:li="using:LoadingIndicators.Avalonia"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
xmlns:mxc="https://schemas.eremexcontrols.net/avalonia/charts"
x:DataType="vm:BollingerBandViewModel"
x:Class="PortfolioManager.Views.BollingerBandView"
>
<UserControl.Resources>
<local:CurrencyValueConverter x:Key="CurrencyFormat"/>
<local:DoubleValueConverter x:Key="DoubleFormat"/>
<local:IntValueConverter x:Key="IntFormat"/>
<local:DateValueConverter x:Key="DateFormat"/>
<local:RMultipleValueConverter x:Key="RMultipleFormat"/>
<local:BoolValueConverter x:Key="BoolFormat"/>
</UserControl.Resources>
<Grid Background="LightGray">
<li:LoadingIndicator ZIndex="1" IsActive="{Binding IsBusy}" Mode="Arcs" SpeedRatio="1.2" Width="200" Height="200"/>
<DockPanel>
<Grid Margin="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="6" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="3" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="89*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
<!-- Fields go here -->
<!-- <Label Content="Watch List" HorizontalAlignment="Left"></Label>
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList}" ></ComboBox>
<Label Content="Symbol" HorizontalAlignment="Left"></Label>
<ComboBox Name="cbSymbols" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol}" UseLayoutRounding="False" >
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel/>
</ItemsPanelTemplate>true
</ComboBox.ItemsPanel>
</ComboBox>
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount}" ></ComboBox>
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button> -->
</StackPanel>
<!-- <CheckBox Content="Sync Trade To Band" IsChecked="{Binding Mode=TwoWay,Path=SyncTradeToBand}" Grid.ColumnSpan="3" Grid.Row="3" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
<CheckBox Content="Show Trade Labels" IsChecked="{Binding Mode=TwoWay,Path=ShowTradeLabels}" Grid.ColumnSpan="3" Grid.Row="4" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
<CheckBox Content="Show Insider Transactions" IsChecked="{Binding Mode=TwoWay,Path=CheckBoxShowInsiderTransactions}" Grid.ColumnSpan="3" Grid.Row="5" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
<CheckBox Content="Legend Visible" IsChecked="{Binding Mode=TwoWay,Path=CheckBoxLegendVisible}" Grid.ColumnSpan="3" Grid.Row="6" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
<CheckBox Content="Least Squares Fit" IsChecked="{Binding Mode=TwoWay,Path=LeastSquaresFit}" Grid.ColumnSpan="3" Grid.Row="7" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
<CheckBox Content="Show Risk Free" IsChecked="{Binding Mode=TwoWay,Path=ShowRiskFree}" Grid.ColumnSpan="3" Grid.Row="8" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" /> -->
</Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="3*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- The Chart goes here at grid.row =0 -->
</Grid>
</DockPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace PortfolioManager.Views;
public partial class BollingerBandView : UserControl
{
public BollingerBandView()
{
InitializeComponent();
}
}

View File

@@ -29,7 +29,6 @@
</Style>
</UserControl.Styles>
<Grid Background="LightGray">
<li:LoadingIndicator ZIndex="1" IsActive="{Binding IsBusy}" Mode="Arcs" SpeedRatio="1.2" Width="200" Height="200"/>
<DockPanel>
@@ -70,8 +69,6 @@
<Label Content="Hedge Cash" HorizontalAlignment="Center" ></Label>
<TextBox Height="24" MinWidth="80" HorizontalAlignment="Stretch" IsReadOnly="true" Text="{Binding Path=HedgeCash, Mode=OneWay, DataType={x:Type vm:MGSHMomentumViewModel}}" />
<Button Content="Find Candidates" HorizontalAlignment="Stretch" Command="{Binding Path=RunCommand, DataType={x:Type vm:MGSHMomentumViewModel}}"></Button>
<Button Content="Load Trade File" HorizontalAlignment="Stretch" Command="{Binding Path=LoadFileCommand}"></Button>
<Button Content="Reload" HorizontalAlignment="Stretch" Command="{Binding Path=ReloadCommand}" IsEnabled="{Binding Path=ReloadEnabled}"></Button>

View File

@@ -34,6 +34,9 @@
<DataTemplate DataType="vm:GainLossViewModel">
<vw:GainLossView />
</DataTemplate>
<DataTemplate DataType="vm:BollingerBandViewModel">
<vw:BollingerBandView />
</DataTemplate>
</Window.DataTemplates>
<Window.Styles>

View File

@@ -41207,3 +41207,689 @@ PortfolioManager Error: 0 : Unable to connect to any of the specified MySQL host
[Thread=1][TRACE.VERBOSE][6/11/2025 7:13:53 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/11/2025 7:13:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/11/2025 7:13:54 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/12/2025 10:06:15 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/12/2025 10:06:16 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 294(ms)
[Thread=7][TRACE.VERBOSE][6/12/2025 10:06:16 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 129(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1760(ms)
[Thread=11][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1998(ms)
[Thread=11][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 57(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2470(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 26(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:06:18 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 62(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:06:22 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 29(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:06:22 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 29(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:31 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:31 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:35 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:35 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:35 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$91,822.67
[Thread=9][TRACE.VERBOSE][6/12/2025 10:06:36 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 374(ms)
[Thread=1][TRACE.DEBUG][6/12/2025 10:07:38 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/12/2025 10:07:38 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/12/2025 10:07:39 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:0
[Thread=1][TRACE.VERBOSE][6/12/2025 10:07:39 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/12/2025 10:07:39 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/12/2025 10:07:39 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/12/2025 10:07:39 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/12/2025 10:38:57 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/12/2025 10:38:58 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 315(ms)
[Thread=7][TRACE.VERBOSE][6/12/2025 10:38:58 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 100(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:38:59 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1676(ms)
[Thread=11][TRACE.VERBOSE][6/12/2025 10:39:00 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1933(ms)
[Thread=11][TRACE.VERBOSE][6/12/2025 10:39:00 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 48(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:00 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2405(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 10:39:00 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 29(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:00 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 54(ms)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:05 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:05 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:08 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:09 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:09 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$91,872.84
[Thread=10][TRACE.VERBOSE][6/12/2025 10:39:09 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 371(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:22 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 38(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:22 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 29(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:28 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 48(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:28 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 51(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:30 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 38(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:30 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 31(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:31 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 42(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:31 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 30(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:33 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 51(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:33 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 45(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:34 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 46(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 10:39:34 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 41(ms)
[Thread=18][TRACE.VERBOSE][6/12/2025 10:41:02 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:43:04 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 10:44:02 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:45:06 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:47:08 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 10:49:06 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:49:10 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:51:12 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:53:15 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 10:54:10 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:55:17 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:57:19 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 10:59:13 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 10:59:21 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:01:23 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:03:25 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:04:17 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:05:28 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:07:30 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:09:21 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:09:32 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:11:34 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:13:35 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:14:24 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:15:37 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:17:39 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:19:27 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:19:41 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:21:42 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:23:44 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:24:29 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:25:46 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:27:47 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:29:32 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:29:49 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Visual] windows::UI::Composition::ICompositor5.RequestCommitAsync timed out, force-triggering next tick (RunLoopHandler #65314045)
[Thread=18][TRACE.VERBOSE][6/12/2025 11:31:51 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:33:53 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:34:35 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:35:55 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:37:57 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:39:39 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:39:59 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:42:02 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:44:04 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:44:43 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:46:06 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:48:09 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:49:48 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:50:11 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:52:13 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:54:16 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:54:52 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:56:18 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 11:58:21 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 11:59:57 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:00:23 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:02:25 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:04:28 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:05:01 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:06:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:08:32 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:10:05 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:10:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:12:37 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:14:40 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:15:10 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:16:42 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:18:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:20:14 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:20:47 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:22:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:24:52 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:25:19 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:26:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:28:56 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:30:23 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:30:59 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:33:01 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:35:04 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:35:28 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:37:06 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:39:08 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:40:32 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:41:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:43:13 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:45:15 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:45:37 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:47:18 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:49:20 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:50:41 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:51:22 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:53:25 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:55:27 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 12:55:45 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:57:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 12:59:32 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:00:50 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:01:34 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:03:37 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:05:39 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:05:54 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:07:41 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:09:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:10:59 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:11:46 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:13:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:15:51 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:16:03 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:17:53 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:19:56 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:21:07 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:21:58 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:24:00 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:26:03 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:26:12 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:28:05 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:30:07 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:31:16 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:32:10 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:34:12 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Visual] windows::UI::Composition::ICompositor5.RequestCommitAsync timed out, force-triggering next tick (RunLoopHandler #65314045)
[Thread=18][TRACE.VERBOSE][6/12/2025 1:36:14 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:36:20 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:38:17 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:40:19 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:41:25 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:42:21 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:44:24 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:46:26 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:46:30 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:48:29 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:50:31 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:51:34 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:52:34 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:54:36 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:56:38 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 1:56:38 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 1:58:41 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:00:43 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:01:43 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:02:45 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:04:48 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:06:47 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:06:50 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:08:53 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:10:55 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:11:52 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:12:57 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:15:00 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:16:56 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:17:02 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:19:04 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:21:07 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:22:00 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:23:09 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Visual] windows::UI::Composition::ICompositor5.RequestCommitAsync timed out, force-triggering next tick (RunLoopHandler #65314045)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:03 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:03 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=25][TRACE.VERBOSE][6/12/2025 2:24:05 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=25][TRACE.VERBOSE][6/12/2025 2:24:05 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=25][TRACE.VERBOSE][6/12/2025 2:24:05 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,017.80
[Thread=25][TRACE.VERBOSE][6/12/2025 2:24:05 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 337(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:10 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 40(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:10 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 33(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:10 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 42(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:10 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 27(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 49(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:24:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 54(ms)
[Thread=18][TRACE.VERBOSE][6/12/2025 2:25:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:27:05 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:27:14 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:29:16 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:31:18 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:32:09 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:33:21 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:35:23 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:37:14 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:37:26 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:39:28 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=1][TRACE.VERBOSE][6/12/2025 2:40:39 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 97(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:40:39 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 33(ms)
[Thread=18][TRACE.VERBOSE][6/12/2025 2:41:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:02 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 42(ms)
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:03 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 39(ms)
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:06 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 22(ms)
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:06 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 29(ms)
[Thread=40][TRACE.VERBOSE][6/12/2025 2:42:09 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 70(ms)
[Thread=40][TRACE.VERBOSE][6/12/2025 2:42:09 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 64(ms)
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:13 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 42(ms)
[Thread=17][TRACE.VERBOSE][6/12/2025 2:42:13 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 27(ms)
[Thread=16][TRACE.VERBOSE][6/12/2025 2:42:18 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,207.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:43:33 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:45:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:47:22 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,207.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:47:38 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:49:40 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:51:42 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 2:52:27 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,207.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:53:45 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=19][TRACE.VERBOSE][6/12/2025 2:55:28 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 26(ms)
[Thread=19][TRACE.VERBOSE][6/12/2025 2:55:28 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 26(ms)
[Thread=19][TRACE.VERBOSE][6/12/2025 2:55:33 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 23(ms)
[Thread=19][TRACE.VERBOSE][6/12/2025 2:55:34 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 18(ms)
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:37 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 70(ms)
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:38 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 47(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 2:55:41 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 30(ms)
[Thread=9][TRACE.VERBOSE][6/12/2025 2:55:41 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 60(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 2:55:46 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/12/2025 2:55:46 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=18][TRACE.VERBOSE][6/12/2025 2:55:47 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:47 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:48 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:48 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,026.04
[Thread=21][TRACE.VERBOSE][6/12/2025 2:55:48 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 329(ms)
[Thread=16][TRACE.VERBOSE][6/12/2025 2:57:31 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:57:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 2:59:52 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:01:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:02:36 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:03:56 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:05:59 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:07:40 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:08:01 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:10:04 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:12:06 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:12:44 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:14:08 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:16:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:17:49 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:18:13 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:20:16 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:22:18 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:22:53 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:24:20 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:26:23 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:27:58 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:28:25 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:30:27 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:32:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:33:02 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:34:32 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:36:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:38:07 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:38:37 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:40:39 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:42:42 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:43:11 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:44:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:46:47 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:48:16 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:48:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:50:51 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:52:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:53:20 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:54:56 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:56:58 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 3:58:24 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 3:59:01 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:01:03 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:03:06 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:03:29 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:05:08 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:07:10 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:08:33 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:09:13 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:11:15 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:13:17 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:13:37 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:15:19 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:17:22 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:18:41 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:19:24 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:21:26 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:23:28 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:23:46 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:25:31 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:27:33 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:28:50 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:29:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:31:38 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:33:40 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:33:54 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:35:42 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:37:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:38:58 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:39:47 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:41:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:43:51 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:44:03 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:45:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:47:56 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:49:07 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:49:58 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:52:01 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:54:03 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:54:11 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:56:05 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 4:58:08 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 4:59:16 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:00:10 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:02:13 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:04:15 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:04:20 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:06:17 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:08:19 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:09:24 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:10:22 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:12:24 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:14:27 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:14:29 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:16:29 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:18:32 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:19:33 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:20:34 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:22:36 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:24:38 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:24:39 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:26:41 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:28:43 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:29:42 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:30:46 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:32:48 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:34:46 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:34:50 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:36:53 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:38:55 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:39:51 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:40:57 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:43:00 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:44:55 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:45:02 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:47:04 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:49:07 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:49:59 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:51:09 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:53:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 5:55:04 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:55:14 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:57:16 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 5:59:19 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:00:08 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:01:21 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:03:23 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:05:12 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:05:26 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:07:28 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:09:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:10:17 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:11:33 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:13:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:15:21 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:15:37 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:17:40 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:19:42 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:20:26 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:21:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:23:47 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:25:30 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:25:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:27:51 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Visual] windows::UI::Composition::ICompositor5.RequestCommitAsync timed out, force-triggering next tick (RunLoopHandler #65314045)
[Thread=18][TRACE.VERBOSE][6/12/2025 6:29:54 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:30:34 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:31:55 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:33:57 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:35:36 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:35:58 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:38:00 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/12/2025 6:40:02 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/12/2025 6:40:39 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,273.
[Visual] windows::UI::Composition::ICompositor5.RequestCommitAsync timed out, force-triggering next tick (RunLoopHandler #65314045)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:04 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:04 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:06 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:06 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:06 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,039.68
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:06 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 375(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 6:41:09 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/12/2025 6:41:09 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:11 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:11 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:11 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,039.68
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:12 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 360(ms)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:22 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 32(ms)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:22 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 48(ms)
[Thread=50][TRACE.VERBOSE][6/12/2025 6:41:25 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 32(ms)
[Thread=50][TRACE.VERBOSE][6/12/2025 6:41:25 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 31(ms)
[Thread=1][TRACE.VERBOSE][6/12/2025 6:41:30 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/12/2025 6:41:30 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:36 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:36 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:36 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,039.68
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:36 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 369(ms)
[Thread=50][TRACE.VERBOSE][6/12/2025 6:41:48 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=50][TRACE.VERBOSE][6/12/2025 6:41:48 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:50 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:50 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:50 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/12/2025 TotalGainLoss:$92,039.68
[Thread=32][TRACE.VERBOSE][6/12/2025 6:41:51 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 342(ms)
[Thread=1][TRACE.DEBUG][6/12/2025 6:42:01 PM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/12/2025 6:42:01 PM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/12/2025 6:42:01 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:408,273
[Thread=1][TRACE.VERBOSE][6/12/2025 6:42:01 PM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/12/2025 6:42:01 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/12/2025 6:42:02 PM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/12/2025 6:42:02 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:04:40 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 9:04:41 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 301(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 9:04:42 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 92(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:04:43 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1619(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:04:43 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1842(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:04:43 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 44(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:04:43 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2289(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:04:44 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 28(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:04:44 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 64(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:04:55 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 149(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:04:55 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 147(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:04:57 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=9][TRACE.VERBOSE][6/13/2025 9:04:57 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:00 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:01 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:01 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$93,929.64
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:01 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 393(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:06 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=9][TRACE.VERBOSE][6/13/2025 9:05:06 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:07 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$88,841.70
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetGainLoss(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossHelper::GetMarketValue(holdingDate,portfolioTrade)]No price for SPY on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.ActiveGainLossGenerator::GenerateGainLoss(portfolioTrades,maxDateRef)]ActiveGainLossGenerator:GenerateGainLoss 'GainLossHoldings' is null for on 06-13-2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.Generator.GainLoss.GainLossGeneratorCum::GenerateTotalGainLoss(portfolioTrades,maxDateRef)]No price for SPY on 6/13/2025
[Thread=10][TRACE.VERBOSE][6/13/2025 9:05:08 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 377(ms)
[Thread=18][TRACE.VERBOSE][6/13/2025 9:06:45 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 9:08:47 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 9:09:45 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,727.
[Thread=18][TRACE.VERBOSE][6/13/2025 9:10:50 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:10:53 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/13/2025 9:10:53 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=20][TRACE.VERBOSE][6/13/2025 9:10:55 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=20][TRACE.VERBOSE][6/13/2025 9:10:55 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=20][TRACE.VERBOSE][6/13/2025 9:10:55 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$93,929.64
[Thread=20][TRACE.VERBOSE][6/13/2025 9:10:55 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 335(ms)
[Thread=1][TRACE.DEBUG][6/13/2025 9:11:02 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 9:11:02 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 9:11:02 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:408,727
[Thread=1][TRACE.VERBOSE][6/13/2025 9:11:02 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 9:11:02 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 9:11:03 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:11:03 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:12:16 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 9:12:24 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 317(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 9:12:25 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 126(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:12:27 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 2935(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:12:27 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 3321(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:12:27 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 52(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:12:28 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 3763(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:12:28 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 19(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:12:28 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 49(ms)
[Thread=15][TRACE.VERBOSE][6/13/2025 9:13:18 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 20(ms)
[Thread=15][TRACE.VERBOSE][6/13/2025 9:13:18 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 19(ms)
[Thread=1][TRACE.DEBUG][6/13/2025 9:13:31 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:0
[Thread=1][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:13:31 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:13:38 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 9:13:39 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 294(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 9:13:40 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 129(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1679(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1905(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 49(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2375(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 26(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:13:41 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 55(ms)
[Thread=18][TRACE.VERBOSE][6/13/2025 9:15:43 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 9:17:45 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 9:18:43 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 445. Items in cache: 46,796.
[Thread=18][TRACE.VERBOSE][6/13/2025 9:19:47 AM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=1][TRACE.DEBUG][6/13/2025 9:19:50 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:46,796
[Thread=1][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:19:50 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:52:31 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 9:52:32 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 408(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 9:52:32 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 90(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:52:33 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1738(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:52:33 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1953(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:52:33 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 47(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:52:34 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2419(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:52:34 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 23(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:52:34 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 61(ms)
[Thread=1][TRACE.DEBUG][6/13/2025 9:52:40 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 9:52:40 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 9:52:40 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:0
[Thread=1][TRACE.VERBOSE][6/13/2025 9:52:40 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 9:52:40 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 9:52:41 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:52:41 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:14 AM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 9:59:15 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 295(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 9:59:16 AM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 90(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1616(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 1860(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 47(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2330(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 29(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:59:17 AM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 52(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 9:59:25 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=9][TRACE.VERBOSE][6/13/2025 9:59:25 AM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:29 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:29 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:29 AM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$93,572.04
[Thread=11][TRACE.VERBOSE][6/13/2025 9:59:30 AM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 389(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:37 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 39(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:37 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 29(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:51 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 40(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:52 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 31(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:53 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 37(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:53 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 31(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:53 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 31(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:54 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 37(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:54 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 34(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:56 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 32(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:56 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 32(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:58 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 36(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 9:59:58 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 37(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:00 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 45(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:01 AM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 34(ms)
[Thread=1][TRACE.DEBUG][6/13/2025 10:00:04 AM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:04 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 10:00:04 AM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:0
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:04 AM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:04 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 10:00:05 AM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 10:00:05 AM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.
[Thread=1][TRACE.VERBOSE][6/13/2025 3:14:52 PM] [PortfolioManager.Program::Main(args)][STARTING]
[Thread=7][TRACE.VERBOSE][6/13/2025 3:15:00 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 352(ms)
[Thread=7][TRACE.VERBOSE][6/13/2025 3:15:00 PM] [MarketData.Generator.MGSHMomentum.MGSHMomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 97(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:02 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 1797(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 3:15:02 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 2041(ms)
[Thread=10][TRACE.VERBOSE][6/13/2025 3:15:02 PM] [MarketData.Generator.CMMomentum.CMMomentumBacktest::GetModelPerformance(sessionParams)]Done, took 41(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 3:15:02 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 2595(ms)
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:03 PM] [MarketData.Generator.CMTrend.CMTTrendModel::GetModelPerformance(sessionParams)]Done, total took 38(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 3:15:03 PM] [MarketData.Generator.Momentum.MomentumBacktest::GetModelPerformance(sessionParams)]Done, total took 130(ms)
[Thread=9][TRACE.VERBOSE][6/13/2025 3:15:12 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=9][TRACE.VERBOSE][6/13/2025 3:15:12 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:15 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$93,667.57
[Thread=11][TRACE.VERBOSE][6/13/2025 3:15:17 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 385(ms)
[Thread=18][TRACE.VERBOSE][6/13/2025 3:17:03 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:19:05 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:20:02 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:21:06 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:23:08 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:25:05 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:25:09 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:27:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:29:13 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:30:07 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:31:14 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:33:16 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:35:10 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:35:17 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:37:19 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:39:20 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:40:12 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=1][TRACE.VERBOSE][6/13/2025 3:41:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 102(ms)
[Thread=1][TRACE.VERBOSE][6/13/2025 3:41:16 PM] [PortfolioManager.ViewModels.GainLossViewModel::get_Parity()][Parity]Done, total took 35(ms)
[Thread=18][TRACE.VERBOSE][6/13/2025 3:41:22 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:43:24 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:45:15 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:45:25 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:47:27 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:49:28 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:50:17 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:51:30 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:53:32 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 3:55:19 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:55:33 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:57:35 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 3:59:36 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 4:00:22 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:01:38 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:03:39 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 4:05:24 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:05:41 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:07:43 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:09:44 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 4:10:27 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=1][TRACE.VERBOSE][6/13/2025 4:10:51 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()]HandleSelectedSymbol:{ALL}
[Thread=1][TRACE.VERBOSE][6/13/2025 4:10:51 PM] [PortfolioManager.ViewModels.GainLossViewModel::HandleSelectedSymbol()][GainLossViewModel::OnGainLossViewModelPropertyChanged]SelectedSymbol '{ALL}'
[Thread=34][TRACE.VERBOSE][6/13/2025 4:10:52 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingActiveGainLoss
[Thread=34][TRACE.VERBOSE][6/13/2025 4:10:53 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]GeneratingTotalGainLoss)
[Thread=34][TRACE.VERBOSE][6/13/2025 4:10:53 PM] [PortfolioManager.ViewModels.GainLossViewModel::<HandleSelectedSymbol>b__41_0()]Date:6/13/2025 TotalGainLoss:$93,642.87
[Thread=34][TRACE.VERBOSE][6/13/2025 4:10:53 PM] [MarketData.MarketDataModel.GainLoss.GainLossSummaryItemCollection::.ctor(portfolioTrades,gainLossGenerator,activeGainLossGenerator,maxDateRef)][GainLossSummaryItemCollection] Done, took 344(ms)
[Thread=18][TRACE.VERBOSE][6/13/2025 4:11:46 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:13:48 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=16][TRACE.VERBOSE][6/13/2025 4:15:30 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Symbols: 486. Items in cache: 408,728.
[Thread=18][TRACE.VERBOSE][6/13/2025 4:15:49 PM] [MarketData.Cache.GBPriceCache::ThreadProc()]Clearing GBPriceCache price cache.
[Thread=1][TRACE.DEBUG][6/13/2025 4:16:09 PM] [PortfolioManager.App+<>c__DisplayClass1_1::<OnFrameworkInitializationCompleted>b__1(<p0>,<p1>)]ClosingHandler
[Thread=1][TRACE.VERBOSE][6/13/2025 4:16:09 PM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=16][TRACE.VERBOSE][6/13/2025 4:16:10 PM] [MarketData.Cache.LocalPriceCache::ThreadProc()][LocalPriceCache:ThreadProc] Thread ended. Items in cache:408,728
[Thread=1][TRACE.VERBOSE][6/13/2025 4:16:10 PM] [MarketData.Cache.LocalPriceCache::Dispose()][LocalPriceCache:Dispose] End
[Thread=1][TRACE.VERBOSE][6/13/2025 4:16:10 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose]Thread state is 'WaitSleepJoin'. Joining main thread...
[Thread=18][TRACE.VERBOSE][6/13/2025 4:16:11 PM] [MarketData.Cache.GBPriceCache::ThreadProc()][GBPriceCache:ThreadProc]Thread ended.
[Thread=1][TRACE.VERBOSE][6/13/2025 4:16:11 PM] [MarketData.Cache.GBPriceCache::Dispose()][GBPriceCache:Dispose] End.

View File

@@ -1,4 +1,4 @@
Type,PortfolioManager.ViewModels.MGSHMomentumViewModel,PathFileName,C:\boneyard\marketdata\Sessions\MGSH20250331.TXT
Type,PortfolioManager.ViewModels.CMTrendViewModel,PathFileName,C:\boneyard\marketdata\Sessions\CMT20200817.TXT
Type,PortfolioManager.ViewModels.MomentumViewModel,PathFileName,C:\boneyard\marketdata\Sessions\MG20180131.TXT
Type,PortfolioManager.ViewModels.CMMomentumViewModel,PathFileName,C:\boneyard\marketdata\Sessions\CM20191031.TXT
Type,PortfolioManager.ViewModels.CMTrendViewModel,PathFileName,C:\boneyard\marketdata\Sessions\CMT20200817.TXT