More changes to support BollingerBands.

This commit is contained in:
2025-06-15 13:56:48 -04:00
parent 9bbfc9831f
commit 9b1135b5ec
18 changed files with 631 additions and 221 deletions

View File

@@ -59,87 +59,132 @@
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount}"/>
<Button Content="Refresh" HorizontalAlignment="Stretch" Command="{Binding Path=Refresh}"></Button>
<CheckBox Content="Sync Trade To Band" IsChecked="{Binding Mode=TwoWay,Path=SyncTradeToBand}" HorizontalAlignment="Stretch" />
<CheckBox Content="Show Trade Labels" IsChecked="{Binding Mode=TwoWay,Path=ShowTradeLabels}" HorizontalAlignment="Stretch" />
<CheckBox Content="Show Insider Transactions" IsChecked="{Binding Mode=TwoWay,Path=CheckBoxShowInsiderTransactions}" HorizontalAlignment="Stretch" />
</StackPanel>
<!--
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button> -->
<!-- <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>
<Grid.RowDefinitions>
<RowDefinition Height="3*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<mxc:CartesianChart Grid.Row="0">
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="24" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" FontSize="16" Text="{Binding Path=GraphTitle}" HorizontalAlignment="Center"></TextBlock>
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.AxesY>
<mxc:AxisY Title="Price">
<mxc:AxisY Title="Price" >
<mxc:AxisYRange AlwaysShowZeroLevel="False" />
</mxc:AxisY>
</mxc:CartesianChart.AxesY>
<mxc:CartesianChart.AxesX>
<mxc:AxisX />
</mxc:CartesianChart.AxesX>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="KSeries" DataAdapter="{Binding K.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="3"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="3"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="KL1Series" DataAdapter="{Binding KL1.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="LSeries" DataAdapter="{Binding L.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="3"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="3"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="LP1Series" DataAdapter="{Binding LP1.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="HighSeries" DataAdapter="{Binding High.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Blue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Blue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="LowSeries" DataAdapter="{Binding Low.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Red" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Red" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="CloseSeries" DataAdapter="{Binding Close.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Black" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Black" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="LeastSquares" DataAdapter="{Binding LeastSquares.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Orange" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Orange" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="SMANSeries" DataAdapter="{Binding SMAN.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Purple" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Purple" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphDisposedSmall" DataAdapter="{Binding InsiderTransactionPointDisposedSmall.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="red" MarkerSize="10"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphDisposedMedium" DataAdapter="{Binding InsiderTransactionPointDisposedMedium.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="red" MarkerSize="20"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphDisposedLarge" DataAdapter="{Binding InsiderTransactionPointDisposedLarge.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="red" MarkerSize="30"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphAcquiredSmall" DataAdapter="{Binding InsiderTransactionPointAcquiredSmall.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="green" MarkerSize="10"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphAcquiredMedium" DataAdapter="{Binding InsiderTransactionPointAcquiredMedium.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="green" MarkerSize="20"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="InsiderTransactionsPointMarkersPointsGraphAcquiredLarge" DataAdapter="{Binding InsiderTransactionPointAcquiredLarge.DataAdapter}" >
<mxc:CartesianPointSeriesView ShowInCrosshair="False" Color="green" MarkerSize="30"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
</mxc:CartesianChart>
</Grid>
</Grid>
</DockPanel>

View File

@@ -86,7 +86,7 @@
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="PerformanceSeries" DataAdapter="{Binding Data.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
</mxc:CartesianChart>

View File

@@ -86,7 +86,7 @@
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="PerformanceSeries" DataAdapter="{Binding Data.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
</mxc:CartesianChart>

View File

@@ -91,25 +91,25 @@
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="GainLossSeries" DataAdapter="{Binding Data.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="MA21" DataAdapter="{Binding MA21.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Green" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="MA55" DataAdapter="{Binding MA55.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="LimeGreen" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="LimeGreen" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="LeastSquares" DataAdapter="{Binding LeastSquares.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="Orange" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="Orange" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
@@ -244,6 +244,11 @@
</Style>
</DataGrid.Styles>
<DataGrid.ContextMenu>
<ContextMenu ItemsSource="{Binding GainLossMenuItems}">
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Date" >

View File

@@ -102,7 +102,7 @@
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="PerformanceSeries" DataAdapter="{Binding Data.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
</mxc:CartesianChart>

View File

@@ -86,7 +86,7 @@
<mxc:CartesianChart Grid.Row="1">
<mxc:CartesianChart.Series>
<mxc:CartesianSeries Name="PerformanceSeries" DataAdapter="{Binding Data.DataAdapter}" >
<mxc:CartesianLineSeriesView Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
<mxc:CartesianLineSeriesView ShowInCrosshair="False" Color="MidnightBlue" MarkerSize="4" ShowMarkers="{Binding Path=ShowMarkers, Mode=TwoWay}" Thickness="2"/>
</mxc:CartesianSeries>
</mxc:CartesianChart.Series>
</mxc:CartesianChart>