Removed some source code that appears to have been placed here by mistake.
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.AnalystRatingsView"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading Analyst Ratings...">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=symbolLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Date" HorizontalAlignment="Left" Target="{Binding ElementName=ratingDateLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Dates, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDate, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Reset" HorizontalAlignment="Left" Command="{Binding Path=ResetCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<telerik:RadGridView SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllItems, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Date" DataMemberBinding="{Binding Path=Date,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:AnalystRatingsView}},Path=DataContext.Description}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Company Name" DataMemberBinding="{Binding Path=CompanyName}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Brokerage Firm" DataMemberBinding="{Binding Path=BrokerageFirm}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Type" DataMemberBinding="{Binding Path=Type}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="RatingsChange" DataMemberBinding="{Binding Path=RatingsChange}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Price Target" DataMemberBinding="{Binding Path=PriceTarget,StringFormat='{}{0:C}'}" />
|
||||
<!--<telerik:GridViewDataColumn IsReadOnly="True" Header="ZacksRank" DataMemberBinding="{Binding Path=ZacksRank}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:AnalystRatingsView}},Path=DataContext.ZacksRank}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>-->
|
||||
<!--<telerik:GridViewDataColumn IsReadOnly="True" Header="ZacksRankType" DataMemberBinding="{Binding Path=ZacksRankType}" />-->
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for AnalystRatingsView.xaml
|
||||
/// </summary>
|
||||
public partial class AnalystRatingsView : UserControl
|
||||
{
|
||||
public AnalystRatingsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,158 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.BlotterView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:local="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
>
|
||||
<UserControl.Resources>
|
||||
<CollectionViewSource
|
||||
x:Key="Trades"
|
||||
Source="{Binding Path=AllTrades,Mode=TwoWay}"
|
||||
>
|
||||
</CollectionViewSource>
|
||||
|
||||
<GroupStyle x:Key="TradeGroupStyle">
|
||||
<GroupStyle.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock
|
||||
x:Name="txt"
|
||||
Background="{StaticResource Brush_HeaderBackground}"
|
||||
FontWeight="Bold"
|
||||
Foreground="white"
|
||||
Margin="1"
|
||||
Padding="4,2,0,2"
|
||||
Text="People"
|
||||
/>
|
||||
<DataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding Path=Name}" Value="True">
|
||||
<Setter TargetName="txt" Property="Text" Value="Companies" />
|
||||
</DataTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</GroupStyle.HeaderTemplate>
|
||||
</GroupStyle>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Bottom" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<TextBlock Margin="5,0,5,0" Text="Exposure:" /><ContentPresenter Content="{Binding Path=TotalExposure}" ContentStringFormat="c"/>
|
||||
<TextBlock Margin="5,0,5,0" Text="|" />
|
||||
<TextBlock Margin="5,0,5,0" Text="MV:" /><ContentPresenter Content="{Binding Path=TotalMarketValue}" ContentStringFormat="c"/>
|
||||
<TextBlock Margin="5,0,5,0" Text="|" />
|
||||
<TextBlock Margin="5,0,5,0" Text="Gain/Loss (Open):" /><ContentPresenter Content="{Binding Path=TotalGainLoss}" ContentStringFormat="c"/>
|
||||
<TextBlock Margin="5,0,5,0" Text="|" />
|
||||
<TextBlock Margin="5,0,5,0" Text="Return (Open):" /><ContentPresenter Content="{Binding Path=TotalReturn}" ContentStringFormat="c"/>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="2" Grid.Column="0" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<TextBlock Margin="5,0,5,0" Text="Total Gain/Loss:" /><ContentPresenter Content="{Binding Path=TotalGainLossAll}" ContentStringFormat="c"/>
|
||||
<TextBlock Margin="5,0,5,0" Text="|" />
|
||||
<TextBlock Margin="5,0,5,0" Text="Total Return:" /><ContentPresenter Content="{Binding Path=TotalReturnAll}" ContentStringFormat="c"/>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="4" Grid.Column="0" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<Button Margin="5,0,5,0" Width="100" Content="Update Prices" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Delete" HorizontalAlignment="Left" Command="{Binding Path=DeleteCommand}"></Button>
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Edit" HorizontalAlignment="Left" Command="{Binding Path=EditCommand}"></Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<telerik:RadGridView CanUserSelect="True" dc:GridDataChangeBehavior.GridDataChangeProperty="{Binding Path=GridChanged}" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" Grid.Row="0" Grid.Column="2" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllTrades, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="TradeId" DataMemberBinding="{Binding Path=TradeId}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}">
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:BlotterView}},Path=DataContext.CompanyDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Account" DataMemberBinding="{Binding Path=Account}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Trade Date" DataMemberBinding="{Binding Path=TradeDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Buy/Sell" DataMemberBinding="{Binding Path=BuySell}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Status" DataMemberBinding="{Binding Path=Status}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Shares" DataMemberBinding="{Binding Path=Shares,StringFormat='{}{0:0.000}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionShares />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Price" DataMemberBinding="{Binding Path=Price,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="DaysHeld" DataMemberBinding="{Binding Path=DaysHeld}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Exposure" DataMemberBinding="{Binding Path=Exposure,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionExposure />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Current Price" DataMemberBinding="{Binding Path=CurrentPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Timestamp" DataMemberBinding="{Binding Path=PriceDate}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Market Value" DataMemberBinding="{Binding Path=MarketValue,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionMarketValue/>
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Weight" DataMemberBinding="{Binding Path=Weight,StringFormat='{}{0:P}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionWeight/>
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<!--DataMemberBinding="{Binding Path=GainLoss,StringFormat='{}{0:C}'}"-->
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Gain/Loss" >
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=GainLoss,StringFormat='{}{0:C}'}" Foreground="{Binding Path=GainLossColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionGainLoss />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<!--DataMemberBinding="{Binding Path=Return,StringFormat='{}{0:P}'}"-->
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Return" >
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=Return,StringFormat='{}{0:P}'}" Foreground="{Binding Path=ReturnColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:TotalReturnFunction />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Todays Change" >
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=TodaysChange,StringFormat='{}{0:C}'}" Foreground="{Binding Path=TodaysChangeColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:SumFunctionTodaysChange />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="SellDate" DataMemberBinding="{Binding Path=SellDate}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="SellPrice" DataMemberBinding="{Binding Path=SellPrice}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Commission" DataMemberBinding="{Binding Path=Commission,StringFormat='{}{0:C}'}" >
|
||||
</telerik:GridViewDataColumn>
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for BlotterView.xaml
|
||||
/// </summary>
|
||||
public partial class BlotterView : UserControl
|
||||
{
|
||||
public BlotterView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,193 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.BollingerBandView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300"
|
||||
>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<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">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<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>
|
||||
</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>
|
||||
<d3:ChartPlotter Grid.Row="0" Margin="10,10,20,10" x:Name="bollinger" BorderThickness="0" Background="WhiteSmoke" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding LegendVisible}" LegendVisibility="Hidden" d3:Viewport2D.UsesApproximateContentBoundsComparison="False">
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis x:Name="countAxis" MaxWidth="40" MinWidth="40"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis x:Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:LineGraph x:Name="K" d3:NewLegend.Description="K" DataSource="{Binding K}" Stroke="Green" StrokeThickness="3"/>
|
||||
<d3:LineGraph x:Name="L" d3:NewLegend.Description="L" DataSource="{Binding L}" Stroke="Green" StrokeThickness="3"/>
|
||||
<d3:LineGraph x:Name="KL1" d3:NewLegend.Description="KL1" DataSource="{Binding KL1}" Stroke="Green"/>
|
||||
<d3:LineGraph x:Name="LP1" d3:NewLegend.Description="LP1" DataSource="{Binding LP1}" Stroke="Green"/>
|
||||
<d3:LineGraph x:Name="High" d3:NewLegend.Description="High" DataSource="{Binding High}" Stroke="Blue" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="Low" d3:NewLegend.Description="Low" DataSource="{Binding Low}" Stroke="Red" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="Close" d3:NewLegend.Description="Close" DataSource="{Binding Close}" Stroke="Black" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="LeastSquares" d3:NewLegend.Description="LeastSquares" DataSource="{Binding LeastSquares}" Stroke="Orange" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="SMAN" d3:NewLegend.Description="SMAN" DataSource="{Binding SMAN}" Stroke="Purple" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph x:Name="cursorGraph" LineStrokeThickness="1" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy"/>
|
||||
<!--<d3:AxisCursorGraph/>-->
|
||||
<d3:MarkerPointsGraph x:Name="MarkerPointsGraph" DataSource="{Binding TradePoints}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Yellow" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="ZeroPointMarkerPoints" DataSource="{Binding ZeroPoint}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Blue" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="RiskFreeRatePointMarkerPoints" DataSource="{Binding RiskFreeRatePoint}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Purple" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsDisposedSmall" DataSource="{Binding InsiderTransactionPointDisposedSmall}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Red" Orientation="down" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsDisposedMedium" DataSource="{Binding InsiderTransactionPointDisposedMedium}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Red" Orientation="down" Size="13">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsDisposedLarge" DataSource="{Binding InsiderTransactionPointDisposedLarge}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Red" Orientation="down" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsAcquiredSmall" DataSource="{Binding InsiderTransactionPointAcquiredSmall}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsAcquiredMedium" DataSource="{Binding InsiderTransactionPointAcquiredMedium}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="13">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="InsiderTransactionPointMarkerPointsAcquiredLarge" DataSource="{Binding InsiderTransactionPointAcquiredLarge}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
|
||||
<d3:Header Content="{Binding Title}" FontFamily="Arial"/>
|
||||
<d3:VerticalAxisTitle Content="Price" FontFamily="Arial"/>
|
||||
<d3:HorizontalAxisTitle Content="" FontFamily="Arial"/>
|
||||
<d3:MarkersPointsGraph x:Name="TradeMarkersPointsGraph" DataSource="{Binding TradePoints}" Markers="{Binding Markers}"/>
|
||||
<d3:MarkersPointsGraph x:Name="ZeroPointMarkersPointsGraph" DataSource="{Binding ZeroPoint}" Markers="{Binding ZeroPointMarkers}"/>
|
||||
<d3:MarkersPointsGraph x:Name="RiskFreeRatePointMarkersPointsGraph" DataSource="{Binding RiskFreeRatePoint}" Markers="{Binding RiskFreeRatePointMarkers}"/>
|
||||
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphDisposedSmall" DataSource="{Binding InsiderTransactionPointDisposedSmall}" Markers="{Binding InsiderTransactionPointMarkersDisposedSmall}"/>
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphDisposedMedium" DataSource="{Binding InsiderTransactionPointDisposedMedium}" Markers="{Binding InsiderTransactionPointMarkersDisposedMedium}"/>
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphDisposedLarge" DataSource="{Binding InsiderTransactionPointDisposedLarge}" Markers="{Binding InsiderTransactionPointMarkersDisposedLarge}"/>
|
||||
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphAcquiredSmall" DataSource="{Binding InsiderTransactionPointAcquiredSmall}" Markers="{Binding InsiderTransactionPointMarkersAcquiredSmall}"/>
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphAcquiredMedium" DataSource="{Binding InsiderTransactionPointAcquiredMedium}" Markers="{Binding InsiderTransactionPointMarkersAcquiredMedium}"/>
|
||||
<d3:MarkersPointsGraph x:Name="InsiderTransactionsPointMarkersPointsGraphAcquiredLarge" DataSource="{Binding InsiderTransactionPointAcquiredLarge}" Markers="{Binding InsiderTransactionPointMarkersAcquiredLarge}"/>
|
||||
|
||||
</d3:ChartPlotter>
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="1" Margin="10,0,20,10" Name="volume" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="volumedateAxis" />
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="volumecountAxis" MinWidth="40" MaxWidth="40" />
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:Viewport2D.UsesApproximateContentBoundsComparison="False" x:Name="Volume" DataSource="{Binding Path=Volume}" Stroke="Black" StrokeThickness="1" />
|
||||
<d3:CursorCoordinateGraph Name="volumeCursorGraphX" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" dc:CoordinateGraphBehavior.YTextMappingProperty="#,#" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content=""/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for BollingerBandView.xaml
|
||||
/// </summary>
|
||||
public partial class BollingerBandView : UserControl
|
||||
{
|
||||
public BollingerBandView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,182 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.DCFValuationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="600">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Calculating discounted cashflows...">
|
||||
<Grid Background="LightGray">
|
||||
<!--<AdornerDecorator>-->
|
||||
<Grid>
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox BorderBrush="Black" Grid.Row="0" Grid.Column="0" Header="Parameters">
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".12*" />
|
||||
<RowDefinition Height=".8*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width=".01*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<GridSplitter Background="LightBlue" ResizeDirection="Columns" Grid.Column="1" Grid.RowSpan="3" Grid.Row="0" Width="5" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
<Label Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="3" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<DockPanel Grid.Row="1" Grid.Column="0" >
|
||||
<telerik:RadGridView CanUserSelect="True" FontSize="10" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupPanel="false" ShowGroupFooters="False" ItemsSource="{Binding Path=AllDCF, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Dates" IsReadOnly="true" DataMemberBinding="{Binding Path=Date,StringFormat={}{0:MM/dd/yyyy}}" />
|
||||
<telerik:GridViewDataColumn Header="Free Cashflow" IsReadOnly="true" DataMemberBinding="{Binding Path=Value,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Return" IsReadOnly="true" DataMemberBinding="{Binding Path=Return,StringFormat={}{0:P}}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
<GroupBox BorderBrush="Black" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" Header="Assumptions" FontSize="11" >
|
||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="19*" />
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="19*" />
|
||||
<RowDefinition Height="24*" />
|
||||
<RowDefinition Height="18*" />
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="19*" />
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="19*" />
|
||||
<RowDefinition Height="23*" />
|
||||
<RowDefinition Height="19*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="62*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="56*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" FontSize="10" Content="Beta" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The 3 year market beta." Grid.Row="1" Grid.Column="0" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=Beta, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="2" FontSize="10" Content="Market Return" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Hard coded to 11%." Grid.Row="1" Grid.Column="2" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=HistoricalMarketReturn, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="4" FontSize="10" Content="Risk Free Rate" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Current yield on 90 day Treasury." Grid.Row="1" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=RiskFreeRate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="6" FontSize="10" Content="Total Equity MV(E)" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Market Capitalization.." Grid.Row="1" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=TotalEquity, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="8" FontSize="10" Content="Total Debt MV(D)" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Total Long and Short Term Debt." Grid.Row="1" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=TotalDebt, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="0" FontSize="10" Content="Total Capital Invested (V)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="V=MV(D)+MV(E)" Grid.Row="3" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=TotalCapitalInvested, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0" FontSize="10" Content="WACC" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="WACC=rE*(E/V)+rD(1-Tc)*(D/V)" Background="{Binding Path=CapitalBackground}" Grid.Row="5" Grid.Column="0" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=WACC, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="2" FontSize="10" Content="ROIC" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Return on Invested Capital" Background="{Binding Path=CapitalBackground}" Grid.Row="5" Grid.Column="2" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=ROIC, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="2" FontSize="10" Content="Cost of Debt (rD)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="rD=(Ei/D)*(1-Tc)" Grid.Row="3" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=CostOfDebt, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="4" FontSize="10" Content="Cost of Equity (rE)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="rE=RFR+Beta*(Rm-RFR)" Grid.Row="3" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=CostOfEquity, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="6" FontSize="10" Content="Tax Rate (Tc)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Tc=Tax Rate." Grid.Row="3" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=TaxRate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="8" FontSize="10" Content="Interest Expense (Ei)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Interest Expense (Balance Sheet)." Grid.Row="3" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=InterestExpense, Mode=OneWay}" ></TextBox>
|
||||
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="4" FontSize="10" Content="Oustanding Shares" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Outstanding Shares (Fundamentals)" Grid.Row="5" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=OutstandingShares, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="6" FontSize="10" Content="MOS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Est. Stock Price *.5" Grid.Row="5" Grid.Column="6" Background="{Binding Path=MOSBackground}" FontSize="10" IsReadOnly="true" Text="{Binding Path=MOS, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="8" FontSize="10" Content="MOS80" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Est. Stock Price *.8" Grid.Row="5" Grid.Column="8" Background="{Binding Path=MOS80Background}" FontSize="10" IsReadOnly="true" Text="{Binding Path=MOS80, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="0" FontSize="10" Content="Present Value" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Sum of discounted cashflows." Grid.Row="7" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=PresentValue, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="2" FontSize="10" Content="Est. Stock Price" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="(Present Value - Debt) / Outstanding Shares." Grid.Row="7" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=EstimatedStockPrice, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="4" FontSize="10" Content="Latest Price" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Latest closing price in database." Grid.Row="7" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=CurrentPrice, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="6" FontSize="10" Content="Price Date" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Date of latest closing price in database." Grid.Row="7" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=PriceDate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="0" FontSize="10" Content="Intrinsic Value" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Benjamin Graham : EPS*(8.5+(2*EPSGrowth))" Grid.Row="9" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=IntrinsicValue, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="2" FontSize="10" Content="RGV(Intrinsic)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Intrinsic value / Last closing price." Grid.Row="9" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=RGVIntrinsic, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="4" FontSize="10" Content="Intrinsic Value(Rev.)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Benjamin Graham : (EPS*(8.5+(2*EPSGrowth))+4.4) / Yield on 20-year AAA bonds." Grid.Row="9" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=IntrinsicValueRevised, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="6" FontSize="10" Content="RGV(Instrinsic Rev.)" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Intrinsic Value Rev./ Last closing price." Grid.Row="9" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=RGVIntrinsicValueRevised, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="8" FontSize="10" Content="FreeCashflow Growth" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Mean of freecashflow returns." Grid.Row="9" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=FreeCashflowGrowth, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="10" Grid.Column="0" FontSize="10" Content="Message" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox Grid.Row="11" Grid.Column="0" Grid.ColumnSpan="4" IsReadOnly="true" Text="{Binding Path=Message, Mode=OneWay}" ></TextBox>
|
||||
|
||||
</Grid>
|
||||
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
<!--</AdornerDecorator>-->
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for DCFValuationView.xaml
|
||||
/// </summary>
|
||||
public partial class DCFValuationView : UserControl
|
||||
{
|
||||
public DCFValuationView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.DividendView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<GroupStyle x:Key="PricingGroupStyle">
|
||||
<GroupStyle.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock
|
||||
x:Name="txt"
|
||||
Background="{StaticResource Brush_HeaderBackground}"
|
||||
FontWeight="Bold"
|
||||
Foreground="White"
|
||||
Margin="1"
|
||||
Padding="4,2,0,2"
|
||||
Text="People"
|
||||
/>
|
||||
<DataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding Path=Name}" Value="True">
|
||||
<Setter TargetName="txt" Property="Text" Value="Companies" />
|
||||
</DataTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</GroupStyle.HeaderTemplate>
|
||||
</GroupStyle>
|
||||
|
||||
<Style x:Key="ValuationItemStyle" TargetType="{x:Type ListViewItem}">
|
||||
<!--
|
||||
Stretch the content of each cell so that we can
|
||||
right-align text in the Total Sales column.
|
||||
-->
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
||||
<!--
|
||||
Bind the IsSelected property of a ListViewItem to the
|
||||
IsSelected property of a PricingViewModel object.
|
||||
-->
|
||||
<Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
|
||||
<Style.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="ItemsControl.AlternationIndex" Value="1" />
|
||||
<Condition Property="IsSelected" Value="False" />
|
||||
<Condition Property="IsMouseOver" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Background" Value="#EEEEEEEE" />
|
||||
</MultiTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading Dividend History...">
|
||||
<Grid Background="LightGray">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Margin="2,0" Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox Margin="2,1" ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Margin="2,0" Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Margin="2,0" Content="Symbol" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox Margin="2,1" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Button Margin="2,1" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<Button Margin="2,1" Content="Get Latest DivExDates" HorizontalAlignment="Left" Command="{Binding Path=GetLatestDivExDatesCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.RowSpan="3" Grid.Column="2" >
|
||||
<telerik:RadGridView AlternationCount="2" AlternateRowBackground="Bisque" IsReadOnly="true" ShowGroupFooters="False" ItemsSource="{Binding Path=AllDividendHistory, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" />
|
||||
<telerik:GridViewDataColumn Header="DividendType" DataMemberBinding="{Binding Path=DividendType}" />
|
||||
<telerik:GridViewDataColumn Header="CashAmount" DataMemberBinding="{Binding Path=CashAmount,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="DivExDate" DataMemberBinding="{Binding Path=DivExDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn Header="DeclarationDate" DataMemberBinding="{Binding Path=DeclarationDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn Header="RecordDate" DataMemberBinding="{Binding Path=RecordDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn Header="PaymentDate" DataMemberBinding="{Binding Path=PaymentDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn Header="Modified" DataMemberBinding="{Binding Path=Modified,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for DividendView.xaml
|
||||
/// </summary>
|
||||
public partial class DividendView : UserControl
|
||||
{
|
||||
public DividendView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.ETFHoldingView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<CollectionViewSource
|
||||
x:Key="ETFHoldings"
|
||||
Source="{Binding Path=AllETFHoldings}"
|
||||
>
|
||||
</CollectionViewSource>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading ETF Holdings...">
|
||||
<Grid Background="LightGray">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="ETFSymbol" HorizontalAlignment="Center"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=ETFSymbols, Mode=OneTime}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Search For..." HorizontalAlignment="Center" Target="{Binding ElementName=searchTypeLbl}" ></Label>
|
||||
<TextBox Text="{Binding Path=SearchValue, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="False" />
|
||||
<RadioButton Content="Search Symbol" IsChecked="{Binding Path=IsSearchSymbolChecked}"></RadioButton>
|
||||
<RadioButton Content="Search Text" IsChecked="{Binding Path=IsSearchTextChecked}"></RadioButton>
|
||||
<Button Content="Search" Command="{Binding Path=SearchCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<telerik:RadGridView AlternationCount="2" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" AlternateRowBackground="Bisque" ShowGroupFooters="True" ItemsSource="{Binding Path=AllETFHoldings, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="ETFSymbol" DataMemberBinding="{Binding Path=ETFHoldingSymbol}" />
|
||||
<telerik:GridViewDataColumn Header="Symbol" DataMemberBinding="{Binding Path=HoldingSymbol}" />
|
||||
<telerik:GridViewDataColumn Header="Share Class" DataMemberBinding="{Binding Path=HoldingSymbolShareClass}" />
|
||||
<telerik:GridViewDataColumn Header="Company" DataMemberBinding="{Binding Path=HoldingCompanyName}" />
|
||||
<telerik:GridViewDataColumn Header="Percent of Assets" DataMemberBinding="{Binding Path=PercentOfAssets}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ETFHoldingsView.xaml
|
||||
/// </summary>
|
||||
public partial class ETFHoldingView : UserControl
|
||||
{
|
||||
public ETFHoldingView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.EarningsAnnouncementView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300"
|
||||
>
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="Select Days Out..." HorizontalAlignment="Center"></Label>
|
||||
<TextBox Text="{Binding Path=DaysOut, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="False" />
|
||||
<Button Content="Go" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<telerik:RadGridView CanUserSelect="True" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllItems, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Company Name" DataMemberBinding="{Binding Path=CompanyName}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Next Earnings Date" DataMemberBinding="{Binding Path=NextEarningsDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Days" DataMemberBinding="{Binding Path=DaysFromToday}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Last Price" DataMemberBinding="{Binding Path=LastPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Upside" DataMemberBinding="{Binding Path=Upside,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Downside" DataMemberBinding="{Binding Path=Downside,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Upside(%)" DataMemberBinding="{Binding Path=UpsidePcnt,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Downside(%)" DataMemberBinding="{Binding Path=DownsidePcnt,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="PE" DataMemberBinding="{Binding Path=PE,StringFormat='{}{0:F}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="PEG" DataMemberBinding="{Binding Path=PEG,StringFormat='{}{0:F}'}" />
|
||||
<!--<telerik:GridViewDataColumn IsReadOnly="True" Header="Implied Earnings Growth" DataMemberBinding="{Binding Path=AnticipatedEarningsGrowth,StringFormat='{}{0:P}'}" />-->
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Implied Earnings Growth" DataMemberBinding="{Binding Path=AnticipatedEarningsGrowthStr}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="PEG Valuation" DataMemberBinding="{Binding Path=PEGValuation}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Pricing Date" DataMemberBinding="{Binding Path=PricingDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Fundamental Date" DataMemberBinding="{Binding Path=FundamentalDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Price Target Date" DataMemberBinding="{Binding Path=PriceTargetDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for EarningsAnnouncementView.xaml
|
||||
/// </summary>
|
||||
public partial class EarningsAnnouncementView : UserControl
|
||||
{
|
||||
public EarningsAnnouncementView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.GainLossView"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="1024">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}" >
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid Margin="4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="10*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Account" HorizontalAlignment="Left" Target="{Binding ElementName=accountListLbl}" ></Label>
|
||||
<wpfx:CheckComboBox ItemsSource="{Binding Path=Accounts, Mode=OneTime}" MaxWidth="100" SelectedValue="{Binding Path=SelectedAccounts, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></wpfx:CheckComboBox>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Content="Suspend Update" IsChecked="{Binding Path=CheckBoxSuspendUpdate,Mode=TwoWay}" HorizontalAlignment="Left" />
|
||||
</StackPanel>
|
||||
<Label Content="Symbols" HorizontalAlignment="Left" Target="{Binding ElementName=symbolListLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=TwoWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Button Margin="0,2" Content="{Binding Path=PercentButtonText}" HorizontalAlignment="Left" Command="{Binding Path=ToggleReturnOrPercentCommand}"></Button>
|
||||
<Button Margin="0,2" Content="{Binding Path=ActiveTotalButtonText}" HorizontalAlignment="Left" Command="{Binding Path=ToggleActiveOrTotalCommand}"></Button>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Content="Legend Visible" IsChecked="{Binding Path=CheckBoxLegendVisible}" Grid.ColumnSpan="3" Grid.Row="5" 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="Include Dividends" IsChecked="{Binding Mode=TwoWay,Path=CheckBoxIncludeDividends}" Grid.ColumnSpan="3" Grid.Row="9" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
|
||||
</StackPanel>
|
||||
<Grid Grid.Column="1" Grid.RowSpan="2" >
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height="2" />
|
||||
<RowDefinition Height=".5*" />
|
||||
</Grid.RowDefinitions>
|
||||
<GridSplitter Background="LightBlue" ResizeDirection="Rows" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="1" Width="Auto" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
<Border CornerRadius="6" BorderBrush="WhiteSmoke" Background="LightGray" BorderThickness="2" Padding="8">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="0" Name="gainLoss" Margin="10,10,20,10" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" LegendVisibility="Hidden" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="Gain/Loss" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" x:Name="Data" DataSource="{Binding Path=Data}" Stroke="MidnightBlue" StrokeThickness="2"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="MA21" x:Name="MA21" DataSource="{Binding Path=MA21}" Stroke="Green" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA55" x:Name="MA55" DataSource="{Binding Path=MA55}" Stroke="LimeGreen" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA90" x:Name="MA90" DataSource="{Binding Path=MA90}" Stroke="LightGreen" StrokeThickness="2" />
|
||||
<d3:LineGraph x:Name="LeastSquares" d3:NewLegend.Description="{Binding Path=LeastSquaresTitle}" DataSource="{Binding LeastSquares}" Stroke="Orange" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Gain/Loss"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<Grid Grid.Row="2" Grid.Column="1" >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="3" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<telerik:RadGridView Background="WhiteSmoke" Grid.Row="0" Grid.Column="0" SelectedItem="{Binding SelectedGainLossCompoundItem, Mode=TwoWay}" ItemsSource="{Binding Path=GainLossCompoundModelCollection, ValidatesOnDataErrors=False,Mode=OneWay}" CanUserSelect="True" SelectionMode="Single" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" AutoGenerateColumns="False" Margin="0,3,0.5,-3" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Date" DataMemberBinding="{Binding Path=Date,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Exposure" DataMemberBinding="{Binding Path=ActiveExposure,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Dividends" IsVisible="{Binding Path=CheckBoxIncludeDividends}" DataMemberBinding="{Binding Path=TotalDividendsPaid,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Active G/L" DataMemberBinding="{Binding Path=ActiveGainLoss,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Active G/L(%)" DataMemberBinding="{Binding Path=ActiveGainLossPercent,StringFormat='{}{0:N3}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Total G/L" DataMemberBinding="{Binding Path=TotalGainLoss,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Total G/L(%)" DataMemberBinding="{Binding Path=TotalGainLossPercent,StringFormat='{}{0:N3}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
<telerik:RadGridView Background="WhiteSmoke" Grid.Row="0" Grid.Column="2" SelectedItem="{Binding SelectedGainLossSummaryItem, Mode=TwoWay}" ItemsSource="{Binding Path=GainLossSummaryItemCollection, ValidatesOnDataErrors=False,Mode=OneWay}" CanUserSelect="True" SelectionMode="Single" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" AutoGenerateColumns="False" Margin="0,3,0.5,-3" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Date" DataMemberBinding="{Binding Path=Date,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:GainLossView}},Path=DataContext.Parity}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Current G/L" DataMemberBinding="{Binding Path=CurrentGainLoss,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:SumFunction ResultFormatString="{}{0:C}" />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Previous G/L" DataMemberBinding="{Binding Path=PreviousGainLoss,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Change(%)" DataMemberBinding="{Binding Path=ChangePercent,StringFormat='{}{0:N3}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Change" DataMemberBinding="{Binding Path=Change,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:SumFunction ResultFormatString="{}{0:C}" />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
<GridSplitter Background="LightBlue" ResizeDirection="Columns" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using TradeBlotter.UIUtils;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for GainLossView.xaml
|
||||
/// </summary>
|
||||
public partial class GainLossView : UserControl
|
||||
{
|
||||
public GainLossView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.HeadlinesView"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading Headlines...">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=symbolLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Date" HorizontalAlignment="Left" Target="{Binding ElementName=ratingDateLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Dates, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDate, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<telerik:RadGridView SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllItems, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Date" DataMemberBinding="{Binding Path=Date,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Updated" DataMemberBinding="{Binding Path=Modified,StringFormat='{}{0:HH:mm:ss}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:HeadlinesView}},Path=DataContext.Parity}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Company Name" DataMemberBinding="{Binding Path=CompanyName}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:HeadlinesView}},Path=DataContext.Description}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" MaxWidth="1024" Header="Headline" DataMemberBinding="{Binding Path=Entry}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Source" DataMemberBinding="{Binding Path=Source}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for HeadlinesView.xaml
|
||||
/// </summary>
|
||||
public partial class HeadlinesView : UserControl
|
||||
{
|
||||
public HeadlinesView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,445 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.HistoricalView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
|
||||
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="StandardBorder" TargetType="Border">
|
||||
<Setter Property="BorderBrush" Value="Gainsboro" />
|
||||
<Setter Property="BorderThickness" Value="1,1,1,0" />
|
||||
<Setter Property="Background" Value="GhostWhite" />
|
||||
</Style>
|
||||
<Style x:Key="RedBorder" TargetType="Border">
|
||||
<Setter Property="BorderBrush" Value="Red" />
|
||||
<Setter Property="BorderThickness" Value="0,0,0,1" />
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading Historical Time Series...">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox x:Name="symbolCmb" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Button Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<ScrollViewer x:Name="scrollviewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Left" FontSize="20"></Label>
|
||||
<!-- Revenue-->
|
||||
<Border Grid.Row="1" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="1" Grid.Column="0" Name="revenue" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="revenueDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="revenueCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=Revenue}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphRevenue" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=RevenueTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Annual Revenue (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Quarterly Revenue-->
|
||||
<Border Grid.Row="1" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="1" Grid.Column="2" Name="quarterlyrevenue" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="quarterlyRevenueDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="quarterlyRevenueCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=QuarterlyRevenue}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphQuarterlyRevenue" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=QuarterlyRevenueTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Quarterly Revenue (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Working Capital-->
|
||||
<Border Grid.Row="1" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="1" Grid.Column="4" Name="workingcapital" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="workingCapitalDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="workingCapitalCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=WorkingCapital}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphWorkingCapital" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=WorkingCapitalTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Working Capital (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Inventory-->
|
||||
<Border Grid.Row="3" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="3" Grid.Column="0" Name="inventory" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="inventoryDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="inventoryCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=Inventory}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphInventory" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=InventoryTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Annual Inventory (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Quarterly Inventory-->
|
||||
<Border Grid.Row="3" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="3" Grid.Column="2" Name="quarterlyinventory" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="quarterlyInventoryDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="quarterlyInventoryCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=QuarterlyInventory}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphQuarterlyInventory" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=QuarterlyInventoryTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Quarterly Inventory (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- BVPS -->
|
||||
<Border Grid.Row="3" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="3" Grid.Column="4" Name="bvps" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="bvpsDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="bvpsCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=BVPS}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphBVPS" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=BVPSTitle}" HorizontalAlignment="Right" FontSize="12" />
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="BVPS"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Goodwill-->
|
||||
<Border Grid.Row="5" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="5" Grid.Column="0" Name="goodwill" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="goodwillDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="goodwillCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=Goodwill}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphGoodwill" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=GoodwillTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Annual Goodwill (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Quarterly Goodwill-->
|
||||
<Border Grid.Row="5" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="5" Grid.Column="2" Name="quarterlygoodwill" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="quarterlyGoodwillDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="quarterlyGoodwillCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=QuarterlyGoodwill}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphQuarterlyGoodwill" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=QuarterlyGoodwillTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Quarterly Goodwill (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Net Income Available To Common Shareholders-->
|
||||
<Border Grid.Row="5" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="5" Grid.Column="4" Name="niatcs" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="niatcsDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="niatcsCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=NetIncomeAvailableToCommonShareholders}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphNIATCS" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=NetIncomeAvailableToCommonShareholdersTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="NIACS (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- ROIC-->
|
||||
<Border Grid.Row="7" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="7" Grid.Column="0" Name="roic" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="roicDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="roicCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=ROIC}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphROIC" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=ROICTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="ROIC"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- ROA-->
|
||||
<Border Grid.Row="7" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="11" Grid.Column="0" Name="roa" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="roaDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="roaCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=ROA}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphROA" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=ROATitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="ROA"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- ROIC/WACC-->
|
||||
<Border Grid.Row="7" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="7" Grid.Column="4" Name="roicwacc" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="roicwaccDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="roicwaccCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=ROICWACC}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphROICWACC" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=ROICWACCTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="ROIC - WACC"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- FreeCashflow -->
|
||||
<Border Grid.Row="9" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="9" Grid.Column="0" Name="freecashflow" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="fcfDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="fcfCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=FreeCashflow}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphFreeCashflow" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=FCFTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Free Cashflow (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- OperatingCashflow-->
|
||||
<Border Grid.Row="9" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="9" Grid.Column="2" Name="operatingcashflow" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="ocfDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="ocfCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=OperatingCashflow}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphOperatingCashflow" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=OCFTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Operating Cashflow"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- OperatingIncome-->
|
||||
<Border Grid.Row="9" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="9" Grid.Column="4" Name="operatingIncome" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="oiDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="oiCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=OperatingIncome}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphOperatingIncome" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=OITitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Operating Income - EBIT"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Profit Margin-->
|
||||
<Border Grid.Row="11" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="11" Grid.Column="0" Name="pm" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="pmDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="pmCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=ProfitMargin}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphPM" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=ProfitMarginTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Profit Margin (%)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- EPS -->
|
||||
<Border Grid.Row="11" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="11" Grid.Column="2" Name="eps" Margin="10,19,20,0.5" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="epsDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="epsCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=EPS}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphEPS" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=EPSTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="EPS ($)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- PE-->
|
||||
<Border Grid.Row="11" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="11" Grid.Column="4" Name="pe" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="peDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="peCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=PE}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphPE" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=PETitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="PE (1xStdDev)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
<!-- Total Cash -->
|
||||
<Border Grid.Row="13" Grid.Column="0" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="13" Grid.Column="0" Name="TotalCash" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="totalCashDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalNumericAxis Name="totalCashCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=TotalCash}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphTotalCash" dc:CoordinateGraphBehavior.YTextMappingProperty="C" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=TotalCashTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Total Cash (Mils)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
|
||||
<!-- Dividend Load -->
|
||||
<Border Grid.Row="13" Grid.Column="2" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="13" Grid.Column="2" Name="DividendLoad" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dividendLoadDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalNumericAxis Name="dividendLoadCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=DividendLoad}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphDividendLoad" dc:CoordinateGraphBehavior.YTextMappingProperty="N2" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=DividendLoadTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Dividend Load (%) (1xStdDev)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
|
||||
<!-- DebtToEquity -->
|
||||
<Border Grid.Row="13" Grid.Column="4" Style="{StaticResource StandardBorder}">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="13" Grid.Column="4" Name="DebtToEquity" Margin="10,10,20,10" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="debtToEquityDateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalNumericAxis Name="debtToEquityCountAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph DataSource="{Binding Path=DebtToEquity}" Stroke="Green" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphDebtToEquity" dc:CoordinateGraphBehavior.YTextMappingProperty="N2" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=DebtToEquityTitle}" HorizontalAlignment="Right" FontSize="12"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Debt To Equity (Ratio)"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</Border>
|
||||
|
||||
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for HistoricalView.xaml
|
||||
/// </summary>
|
||||
public partial class HistoricalView : UserControl
|
||||
{
|
||||
public HistoricalView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,164 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.MACDView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Generating MACD...">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol:" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol:" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox x:Name="symbolCmb" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Margin="0,2" Content="Legend Visible" HorizontalAlignment="Left" IsChecked="{Binding Path=CheckBoxLegendVisible, Mode=TwoWay}"></CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="3" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="0" Grid.Column="0 " Name="MACDSlow" Margin="10,10,20,10" LegendVisibility="Hidden" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" >
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxisSlow"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="countAxisSlow"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="Signal" DataSource="{Binding Path=SignalSlow}" Stroke="Red" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MACD" DataSource="{Binding Path=MACDSlow}" Stroke="Blue" StrokeThickness="2" />
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphMACDSlow" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
|
||||
<d3:MarkerPointsGraph x:Name="MACDSlowWeakBuy" DataSource="{Binding MACDSlowWeakBuy}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDSlowStrongBuy" DataSource="{Binding MACDSlowStrongBuy}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDSlowWeakSell" DataSource="{Binding MACDSlowWeakSell}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="red" Orientation="down" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDSlowStrongSell" DataSource="{Binding MACDSlowStrongSell}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="red" Orientation="down" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:Header FontFamily="Arial" FontSize="12" Content="{Binding Path=TitleSlow}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Signal"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="0" Grid.Column="2" Name="MACDFast" Margin="10,10,20,10" LegendVisibility="Hidden" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" >
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxisFast"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalIntegerAxis Name="countAxisFast"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="Signal" DataSource="{Binding Path=SignalFast}" Stroke="Red" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MACD" DataSource="{Binding Path=MACDFast}" Stroke="Blue" StrokeThickness="2" />
|
||||
<d3:CursorCoordinateGraph Name="cursorGraphMACDFast" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
|
||||
<d3:MarkerPointsGraph x:Name="MACDFastWeakBuy" DataSource="{Binding MACDFastWeakBuy}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDFastStrongBuy" DataSource="{Binding MACDFastStrongBuy}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="Green" Orientation="up" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDFastWeakSell" DataSource="{Binding MACDFastWeakSell}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="red" Orientation="down" Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="MACDFastStrongSell" DataSource="{Binding MACDFastStrongSell}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Fill="red" Orientation="down" Size="17">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Brush="Black" Thickness="1"/>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
|
||||
<d3:Header FontFamily="Arial" FontSize="12" Content="{Binding Path=TitleFast}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Signal"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MACDView.xaml
|
||||
/// </summary>
|
||||
public partial class MACDView : UserControl
|
||||
{
|
||||
public MACDView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,218 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.MomentumView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:local="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="340" d:DesignWidth="768">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="MomentumItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*" />
|
||||
<ColumnDefinition Width="3" />
|
||||
<ColumnDefinition Width="11*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="1*" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="2*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.RowSpan="5" Grid.Column="0">
|
||||
<Label Content="Date" HorizontalAlignment="Left" ></Label>
|
||||
<telerik:RadDatePicker SelectableDateStart="{Binding Path=SelectableDateStart}" SelectableDateEnd="{Binding Path=SelectableDateEnd}" VerticalAlignment="Top" HorizontalAlignment="Left" SelectedDate="{Binding Path=SelectedDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label Content="Parameters" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Parameters, Mode=OneWay}" SelectedItem="{Binding Path=SelectedParameter, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<TextBox Height="24" MinWidth="80" HorizontalAlignment="Stretch" IsReadOnly="true" Text="{Binding Path=ParameterValue, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
<Button Margin="0,2" Content="Find Candidates" HorizontalAlignment="Stretch" Command="{Binding Path=RunCommand}"></Button>
|
||||
<Label Content="Monitor Interval" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=MonitorIntervals, Mode=OneWay}" SelectedItem="{Binding Path=SelectedMonitorInterval, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Button Margin="0,2" IsEnabled="{Binding Path=CanMonitor}" Content="{Binding Path=MonitorStatus}" HorizontalAlignment="Stretch" Command="{Binding Path=Monitor}"></Button>
|
||||
|
||||
<Button Content="Load Trade File" HorizontalAlignment="Stretch" Command="{Binding Path=LoadFile}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel x:Name="DockPanel1" Grid.Row="2" Grid.Column="2">
|
||||
<telerik:RadGridView SelectedItem="{Binding Path=SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource MomentumItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllItems, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding CandidateMenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:MomentumView}},Path=DataContext.CompanyDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="AnalysisDate" DataMemberBinding="{Binding Path=AnalysisDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="CumReturn252" DataMemberBinding="{Binding Path=CumReturn252,StringFormat='{}{0:P2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="DayCount" DataMemberBinding="{Binding Path=DayCount,StringFormat='{}{0:N0}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="IDIndicator" DataMemberBinding="{Binding Path=IDIndicator,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="MaxDrawdown" DataMemberBinding="{Binding Path=MaxDrawdown,StringFormat='{}{0:P2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="MaxUpside" DataMemberBinding="{Binding Path=MaxUpside,StringFormat='{}{0:P2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="PE" DataMemberBinding="{Binding Path=PE,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Beta" DataMemberBinding="{Binding Path=Beta,StringFormat='{}{0:N2}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:MomentumView}},Path=DataContext.BetaDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Velocity" DataMemberBinding="{Binding Path=Velocity,StringFormat='{}{0:P2}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:MomentumView}},Path=DataContext.VelocityDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="ZacksRank" DataMemberBinding="{Binding Path=ZacksRank}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Volume" DataMemberBinding="{Binding Path=Volume,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Return1D" DataMemberBinding="{Binding Path=Return1D,StringFormat='{}{0:N3}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
<DockPanel x:Name="DockPanel2" Grid.Row="4" Grid.Column="2" >
|
||||
<Grid>
|
||||
<Grid x:Name="PositionsView" Visibility="Visible">
|
||||
<!--<Border Background="Blue"/>-->
|
||||
<telerik:RadGridView SelectedItem="{Binding Path=SelectedPosition, Mode=TwoWay}" ItemContainerStyle="{StaticResource MomentumItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllPositions, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="PositionGridContextMenu" StaysOpen="False" ItemsSource="{Binding PositionsMenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:MomentumView}},Path=DataContext.CompanyDescriptionSelectedPosition}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Slot" DataMemberBinding="{Binding Path=SlotAsString}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Purchased" DataMemberBinding="{Binding Path=PurchaseDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Sold" DataMemberBinding="{Binding Path=SellDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Days" DataMemberBinding="{Binding Path=DaysHeld}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Shares" DataMemberBinding="{Binding Path=Shares,StringFormat='{}{0:N0}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:MomentumPositionSumFunctionShares />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Purch.Price" DataMemberBinding="{Binding Path=PurchasePrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="CurrentPrice" >
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=CurrentPrice,StringFormat='{}{0:C}'}" Foreground="{Binding Path=CurrentPriceColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Updated" DataMemberBinding="{Binding Path=LastUpdated,StringFormat='{}{0:MM/dd/yyyy HH:mm:ss}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Exposure">
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:MomentumPositionSumFunctionExposure />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=ActiveExposure,StringFormat='{}{0:C}'}" Foreground="{Binding Path=ActiveExposureColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Mkt.Value">
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:MomentumPositionSumFunctionMarketValue />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=ActiveMarketValue,StringFormat='{}{0:C}'}" Foreground="{Binding Path=ActiveMarketValueColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="GainLoss" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:MomentumPositionSumFunctionGainLoss />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=GainLoss,StringFormat='{}{0:C}'}" Foreground="{Binding Path=GainLossColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="GainLoss(%)" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:MomentumPositionSumFunctionGainLossPcnt />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<telerik:GridViewDataColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=GainLossPcnt,StringFormat='{}{0:P3}'}" Foreground="{Binding Path=GainLossPcntColor}"/>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewDataColumn.CellTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="IDIndicator" DataMemberBinding="{Binding Path=IDIndicator,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="MaxDrawdown" DataMemberBinding="{Binding Path=MaxDrawdown,StringFormat='{}{0:P2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="MaxUpside" DataMemberBinding="{Binding Path=MaxUpside,StringFormat='{}{0:P2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="PE" DataMemberBinding="{Binding Path=PE,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Beta" DataMemberBinding="{Binding Path=Beta,StringFormat='{}{0:N2}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="ZacksRank" DataMemberBinding="{Binding Path=ZacksRank}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Volume" DataMemberBinding="{Binding Path=Volume,StringFormat='{}{0:N0}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</Grid>
|
||||
<!--<Grid x:Name="ConfigurationView" Visibility="Hidden">
|
||||
<Border Background="Red"/>
|
||||
</Grid>-->
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
<GridSplitter Panel.ZIndex="1" Background="LightBlue" ResizeDirection="Rows" Grid.Column="2" Grid.Row="3" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
<GridSplitter Grid.Row="1" Grid.Column="1" ResizeDirection="Columns" Grid.RowSpan="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightBlue" Width="3"/>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MomentumView.xaml
|
||||
/// </summary>
|
||||
public partial class MomentumView : UserControl
|
||||
{
|
||||
public MomentumView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.MovingAverageView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol:" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol:" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox x:Name="symbolCmb" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Margin="0,2" Content="Legend Visible" HorizontalAlignment="Left" IsChecked="{Binding Path=CheckBoxLegendVisible, Mode=TwoWay}"></CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<d3:ChartPlotter Name="movingaverage" Margin="10,10,20,10" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" LegendVisibility="Hidden" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" >
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="Close" x:Name="Close" DataSource="{Binding Path=Close}" Stroke="Black" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="High" x:Name="High" DataSource="{Binding Path=High}" Stroke="Blue" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="Low" x:Name="Low" DataSource="{Binding Path=Low}" Stroke="Red" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA200" x:Name="MA200" DataSource="{Binding Path=MA200}" Stroke="Lime" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA55" x:Name="MA55" DataSource="{Binding Path=MA55}" Stroke="LightGreen" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA21" x:Name="MA21" DataSource="{Binding Path=MA21}" Stroke="Green" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA5" x:Name="MA5" DataSource="{Binding Path=MA5}" Stroke="Goldenrod" StrokeThickness="2" />
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:MarkerPointsGraph x:Name="MarkerPointsGraph" DataSource="{Binding Path=TradePoints}" >
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Thickness="1">
|
||||
<Pen.Brush >
|
||||
<SolidColorBrush Color="Black">
|
||||
</SolidColorBrush>
|
||||
</Pen.Brush>
|
||||
</Pen>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
<d3:TrianglePointMarker.Fill>
|
||||
<SolidColorBrush Color="Yellow">
|
||||
</SolidColorBrush>
|
||||
</d3:TrianglePointMarker.Fill>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
|
||||
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Price"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MovingAverageView.xaml
|
||||
/// </summary>
|
||||
public partial class MovingAverageView : UserControl
|
||||
{
|
||||
public MovingAverageView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,188 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.OptionsView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="800" d:DesignWidth="600">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading...">
|
||||
<Grid>
|
||||
<AdornerDecorator>
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox BorderBrush="Black" Grid.Row="0" Grid.Column="0" Header="Parameters">
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol" HorizontalAlignment="Left"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Option Type" HorizontalAlignment="Left" Target="{Binding ElementName=optionTypeLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=OptionTypes, Mode=OneWay}" SelectedItem="{Binding Path=SelectedOptionType, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Expiration" HorizontalAlignment="Left" Target="{Binding ElementName=expirationLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=ExpirationDates, Mode=OneWay}" DisplayMemberPath="Value" SelectedItem="{Binding Path=SelectedExpirationDate}" ></ComboBox>
|
||||
<Button Margin="0,4" Content="Update" HorizontalAlignment="Left" Command="{Binding Path=UpdateCommand}" Height="21" Width="76"></Button>
|
||||
<CheckBox Margin="0,4" Content="Full History" HorizontalAlignment="Left" IsEnabled="{Binding Path=CheckBoxFullHistoryEnabled, Mode=OneWay}" IsChecked="{Binding Path=CheckBoxFullHistory, Mode=TwoWay}" Height="21" Width="76"></CheckBox>
|
||||
<CheckBox Margin="0,4" Content="Call/Put Ratio" HorizontalAlignment="Left" IsEnabled="{Binding Path=CheckBoxCallPutRatioEnabled, Mode=OneWay}" IsChecked="{Binding Path=CheckBoxCallPutRatio, Mode=TwoWay}" Height="21"></CheckBox>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox BorderBrush="Black" Grid.Row="1" Header="Assumptions">
|
||||
<StackPanel Grid.Row="1" Grid.Column="0">
|
||||
<Label Content="Risk Free Rate" HorizontalAlignment="Left" Target="{Binding ElementName=riskFreeRateLbl}" ></Label>
|
||||
<TextBox IsReadOnly="true" Text="{Binding Path=SelectedRiskFreeRate, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
<Label Content="Rate Type" HorizontalAlignment="Left" Target="{Binding ElementName=riskFreeRateTypeLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=RiskFreeRateTypes, Mode=OneWay}" SelectedItem="{Binding Path=SelectedRiskFreeRateType,Mode=TwoWay}" ></ComboBox>
|
||||
|
||||
<Label Content="Rate Date" HorizontalAlignment="Left" Target="{Binding ElementName=riskFreeRateDateLbl}" ></Label>
|
||||
<TextBox IsReadOnly="true" Text="{Binding Path=SelectedRiskFreeRateDate, Mode=OneWay, StringFormat={}{0:MM/dd/yyyy}}" ></TextBox>
|
||||
|
||||
<Label Content="Underlying Price" HorizontalAlignment="Left" Target="{Binding ElementName=underlyingPriceLbl}" ></Label>
|
||||
<TextBox IsReadOnly="true" Text="{Binding Path=UnderlyingPrice, Mode=OneWay}" ></TextBox>
|
||||
<Label Content="Pricing Date" HorizontalAlignment="Left" Target="{Binding ElementName=pricingDateLbl}" ></Label>
|
||||
<TextBox IsReadOnly="true" Text="{Binding Path=PricingDate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Content="Volatility" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox IsReadOnly="true" Text="{Binding Path=Volatility, Mode=OneWay}" ></TextBox>
|
||||
<Label Content="Volatility Days" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=VolatilityDays, Mode=OneWay}" SelectedItem="{Binding Path=SelectedVolatilityDays,Mode=TwoWay}" ></ComboBox>
|
||||
<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" />
|
||||
|
||||
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".12*" />
|
||||
<RowDefinition Height=".80*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<DockPanel Grid.Row="1" Grid.Column="2" >
|
||||
<telerik:RadGridView CanUserSelect="True" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="False" ItemsSource="{Binding Path=AllOptions, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Symbol" IsReadOnly="true" DataMemberBinding="{Binding Path=Symbol}" />
|
||||
<telerik:GridViewDataColumn Header="Expiration Date" IsReadOnly="true" DataMemberBinding="{Binding Path=Expiration,StringFormat={}{0:MM/dd/yyyy}}" />
|
||||
<telerik:GridViewDataColumn Header="Days" IsReadOnly="true" DataMemberBinding="{Binding Path=DaysToExpiration}" />
|
||||
<telerik:GridViewDataColumn Header="Option Type" IsReadOnly="true" DataMemberBinding="{Binding Path=Type}" />
|
||||
<telerik:GridViewDataColumn Header="Strike Price" IsReadOnly="true" DataMemberBinding="{Binding Path=Strike,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Ratio" IsReadOnly="true" DataMemberBinding="{Binding Path=Ratio,StringFormat={}{0:0.00}}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:OptionsView}},Path=DataContext.RatioDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Volume" IsReadOnly="true" DataMemberBinding="{Binding Path=Volume}" />
|
||||
<telerik:GridViewDataColumn Header="Open Interest" IsReadOnly="true" DataMemberBinding="{Binding Path=OpenInterest}" />
|
||||
<telerik:GridViewDataColumn Header="Bid" IsReadOnly="true" DataMemberBinding="{Binding Path=Bid,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Ask" IsReadOnly="true" DataMemberBinding="{Binding Path=Ask,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Option Value" IsReadOnly="true" DataMemberBinding="{Binding Path=OptionValue,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Money" IsReadOnly="true" DataMemberBinding="{Binding ElementName=Money, Path=MoneyTypeAsString}" />
|
||||
<telerik:GridViewDataColumn Header="Modified" IsReadOnly="true" DataMemberBinding="{Binding Path=Modified,StringFormat={}{0:MM/dd/yyyy}}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Grid.Row="0" Margin="10,16,20,4" Name="bollinger" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis" MinWidth="40" MaxWidth="40"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:Viewport2D.UsesApproximateContentBoundsComparison="True" x:Name="K" DataSource="{Binding Path=K}" Stroke="Green" StrokeThickness="3" />
|
||||
<d3:LineGraph x:Name="L" DataSource="{Binding Path=L}" Stroke="Green" StrokeThickness="3"/>
|
||||
<d3:LineGraph x:Name="KL1" DataSource="{Binding Path=KL1}" Stroke="Green"/>
|
||||
<d3:LineGraph x:Name="LP1" DataSource="{Binding Path=LP1}" Stroke="Green"/>
|
||||
<d3:LineGraph x:Name="High" DataSource="{Binding Path=High}" Stroke="Blue" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="Low" DataSource="{Binding Path=Low}" Stroke="Red" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="Close" DataSource="{Binding Path=Close}" Stroke="Black" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="SMAN" DataSource="{Binding Path=SMAN}" Stroke="Purple" StrokeThickness="2"/>
|
||||
<d3:LineGraph x:Name="LeastSquares" d3:NewLegend.Description="LeastSquares" DataSource="{Binding LeastSquares}" Stroke="Orange" StrokeThickness="2"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:MarkerPointsGraph x:Name="StrikeMarkerPointsGraph" DataSource="{Binding Path=OptionStrikePoints}" >
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Thickness="1">
|
||||
<Pen.Brush >
|
||||
<SolidColorBrush Color="Black">
|
||||
</SolidColorBrush>
|
||||
</Pen.Brush>
|
||||
</Pen>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
<d3:TrianglePointMarker.Fill>
|
||||
<SolidColorBrush Color="Yellow">
|
||||
</SolidColorBrush>
|
||||
</d3:TrianglePointMarker.Fill>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:MarkerPointsGraph x:Name="SelectedStrikeMarkerPointsGraph" DataSource="{Binding Path=SelectedOptionStrikePoints}" >
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:TrianglePointMarker Size="9">
|
||||
<d3:TrianglePointMarker.Pen>
|
||||
<Pen Thickness="1">
|
||||
<Pen.Brush >
|
||||
<SolidColorBrush Color="Black">
|
||||
</SolidColorBrush>
|
||||
</Pen.Brush>
|
||||
</Pen>
|
||||
</d3:TrianglePointMarker.Pen>
|
||||
<d3:TrianglePointMarker.Fill>
|
||||
<SolidColorBrush Color="Red">
|
||||
</SolidColorBrush>
|
||||
</d3:TrianglePointMarker.Fill>
|
||||
</d3:TrianglePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Price"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</AdornerDecorator>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for OptionsView.xaml
|
||||
/// </summary>
|
||||
public partial class OptionsView : UserControl
|
||||
{
|
||||
public OptionsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,222 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.OptionsWorksheetView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="600">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading options worksheet...">
|
||||
<Grid Background="LightGray">
|
||||
|
||||
|
||||
<Grid.Resources>
|
||||
<dc:EquityPriceShockPositionGLStyle x:Key="EquityPriceShockPositionGLStyle">
|
||||
<dc:EquityPriceShockPositionGLStyle.NegativeStyle>
|
||||
<Style TargetType="telerik:GridViewCell">
|
||||
<Setter Property="Foreground" Value="Red"/>
|
||||
</Style>
|
||||
</dc:EquityPriceShockPositionGLStyle.NegativeStyle>
|
||||
<dc:EquityPriceShockPositionGLStyle.PositiveStyle>
|
||||
<Style TargetType="telerik:GridViewCell">
|
||||
<Setter Property="Foreground" Value="Green" />
|
||||
</Style>
|
||||
</dc:EquityPriceShockPositionGLStyle.PositiveStyle>
|
||||
</dc:EquityPriceShockPositionGLStyle>
|
||||
|
||||
|
||||
|
||||
<dc:EquityPriceShockTransactionGLStyle x:Key="EquityPriceShockTransactionGLStyle">
|
||||
<dc:EquityPriceShockTransactionGLStyle.NegativeStyle>
|
||||
<Style TargetType="telerik:GridViewCell">
|
||||
<Setter Property="Foreground" Value="Red"/>
|
||||
</Style>
|
||||
</dc:EquityPriceShockTransactionGLStyle.NegativeStyle>
|
||||
<dc:EquityPriceShockTransactionGLStyle.PositiveStyle>
|
||||
<Style TargetType="telerik:GridViewCell">
|
||||
<Setter Property="Foreground" Value="Green" />
|
||||
</Style>
|
||||
</dc:EquityPriceShockTransactionGLStyle.PositiveStyle>
|
||||
</dc:EquityPriceShockTransactionGLStyle>
|
||||
</Grid.Resources>
|
||||
|
||||
|
||||
<AdornerDecorator>
|
||||
<Grid>
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".12*" />
|
||||
<RowDefinition Height=".8*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width=".01*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="3" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<DockPanel Grid.Row="1" Grid.Column="0" >
|
||||
</DockPanel>
|
||||
<GroupBox BorderBrush="Black" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" Header="Options Worksheet" Grid.RowSpan="2" FontSize="11" >
|
||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height="7" />
|
||||
<RowDefinition Height=".7*" />
|
||||
<RowDefinition Height="7" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="62*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="56*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" FontSize="10" Content="Investment" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The initial investment." Grid.Row="1" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=Investment, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="2" FontSize="10" Content="Bid" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The bid price of the option." Grid.Row="1" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=Bid, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="4" FontSize="10" Content="Strike" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The strike price of the option." Grid.Row="1" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=Strike, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="6" FontSize="10" Content="Expiration Date" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The expiration date of the option." Grid.Row="1" Grid.Column="6" FontSize="10" IsReadOnly="true" Background="{Binding Path=ExpirationDateBackground}" Text="{Binding Path=ExpirationDate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="0" FontSize="10" Content="Shares" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="The number of shares purchased with initial investment." Grid.Row="3" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=Shares, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="2" FontSize="10" Content="Contracts" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Number of contracts purchaseable with investment" Grid.Row="3" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=Contracts, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0" FontSize="10" Content="Open Interest" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Open Interest" Grid.Row="5" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=OpenInterest, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="2" FontSize="10" Content="Premium" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="The premium received for the option." Grid.Row="5" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=Premium, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="4" FontSize="10" Content="Underlier Price" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price when record created" Grid.Row="3" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=UnderlierPrice, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="6" FontSize="10" Content="Underlier Price Date" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Pricing date when record was created" Grid.Row="3" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=UnderlierPriceDate, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="4" FontSize="10" Content="Current Price" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Latest market price in database" Grid.Row="5" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=CurrentPrice, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="6" FontSize="10" Content="Current Price Date" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Latest market price date in database" Grid.Row="5" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=CurrentPriceDate, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="0" FontSize="10" Content="Volatility" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Volatility of stock." Grid.Row="7" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=Volatility, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="2" FontSize="10" Content="Volatility Days" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Number of days in volatility." Grid.Row="7" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=VolatilityDays, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="4" FontSize="10" Content="Loss Point" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price at which transaction is losing money." Grid.Row="7" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=LossPoint, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="6" FontSize="10" Content="Transaction G/L" HorizontalAlignment="Left"></Label>
|
||||
<TextBox ToolTipService.ToolTip="Current Gain/Loss." Grid.Row="7" Grid.Column="6" FontSize="10" IsReadOnly="true" Background="{Binding Path=TransactionGLBackground}" Text="{Binding Path=TransactionGL, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<CheckBox Grid.Row="9" Content="Realtime Price" IsChecked="{Binding Path=UseRealPrice}" Margin="0,1" ></CheckBox>
|
||||
|
||||
|
||||
<DockPanel Grid.Row="0" Grid.Column="8" Grid.ColumnSpan="4" Grid.RowSpan="8">
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Margin="10,10,20,10" x:Name="prices" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="2">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis x:Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis x:Name="countAxis" MinWidth="40" MaxWidth="40"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph x:Name="Close" DataSource="{Binding Close}" Stroke="Blue" StrokeThickness="1"/>
|
||||
<d3:CursorCoordinateGraph x:Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph/>-->
|
||||
<!--<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>-->
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Price"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
|
||||
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="5" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="93*"/>
|
||||
<ColumnDefinition Width="191*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<telerik:RadGridView Grid.Row="1" CanUserSelect="True" FontSize="10" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupPanel="false" ShowGroupFooters="False" ItemsSource="{Binding Path=EquityPriceShocks, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" Grid.ColumnSpan="2" Margin="0,0,0,15" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Equity Price Shocks" IsReadOnly="true" DataMemberBinding="{Binding Path=PriceShock}" />
|
||||
<telerik:GridViewDataColumn Header="Market Price" IsReadOnly="true" DataMemberBinding="{Binding Path=MarketPrice,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Strike Price" IsReadOnly="true" DataMemberBinding="{Binding Path=StrikePrice,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Premium" IsReadOnly="true" DataMemberBinding="{Binding Path=Premium,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Position G/L" CellStyleSelector="{StaticResource EquityPriceShockPositionGLStyle}" IsReadOnly="true" DataMemberBinding="{Binding Path=PositionGL,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Transaction G/L" CellStyleSelector="{StaticResource EquityPriceShockTransactionGLStyle}" IsReadOnly="true" DataMemberBinding="{Binding Path=TransactionGL,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Expected Outcome" IsReadOnly="true" DataMemberBinding="{Binding Path=ExpectedOutcome,StringFormat={}{0:C}}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</AdornerDecorator>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for OptionsWorksheetView.xaml
|
||||
/// </summary>
|
||||
public partial class OptionsWorksheetView : UserControl
|
||||
{
|
||||
public OptionsWorksheetView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,151 +0,0 @@
|
||||
<UserControl
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:Effects="clr-namespace:Telerik.Windows.Controls.ColorEditor.Effects;assembly=Telerik.Windows.Controls.Input" x:Class="TradeBlotter.Views.PricingView"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<GroupStyle x:Key="PricingGroupStyle">
|
||||
<GroupStyle.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock
|
||||
x:Name="txt"
|
||||
Background="{StaticResource Brush_HeaderBackground}"
|
||||
FontWeight="Bold"
|
||||
Foreground="White"
|
||||
Margin="1"
|
||||
Padding="4,2,0,2"
|
||||
Text="People"
|
||||
/>
|
||||
<DataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding Name}" Value="True">
|
||||
<Setter TargetName="txt" Property="Text" Value="Companies" />
|
||||
</DataTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</GroupStyle.HeaderTemplate>
|
||||
</GroupStyle>
|
||||
|
||||
<Style x:Key="ValuationItemStyle" TargetType="{x:Type ListViewItem}">
|
||||
<!--
|
||||
Stretch the content of each cell so that we can
|
||||
right-align text in the Total Sales column.
|
||||
-->
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
||||
<!--
|
||||
Bind the IsSelected property of a ListViewItem to the
|
||||
IsSelected property of a PricingViewModel object.
|
||||
-->
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Style.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="ItemsControl.AlternationIndex" Value="1" />
|
||||
<Condition Property="IsSelected" Value="False" />
|
||||
<Condition Property="IsMouseOver" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Background" Value="#EEEEEEEE" />
|
||||
</MultiTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<wpfx:BusyIndicator x:Name="BusyBar" BusyContent="Loading Prices..." IsBusy="{Binding BusyIndicator}">
|
||||
<Grid Background="LightGray">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="4" />
|
||||
<RowDefinition Height="2*" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Title}" HorizontalAlignment="Center" FontSize="20"/>
|
||||
|
||||
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Margin="2,0" Content="Watch List" HorizontalAlignment="Left" />
|
||||
<ComboBox Margin="2,1" ItemsSource="{Binding WatchListNames, Mode=OneTime}" SelectedItem="{Binding SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" />
|
||||
<!--<Label Margin="2,0" Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" />-->
|
||||
<Label Margin="2,0" Content="Symbol" HorizontalAlignment="Left" />
|
||||
<ComboBox Margin="2,1" ItemsSource="{Binding Symbols, Mode=OneWay}" SelectedItem="{Binding SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Margin="2,0" Content="Day Count" HorizontalAlignment="Left" />
|
||||
<ComboBox Margin="2,1" ItemsSource="{Binding DayCounts, Mode=OneWay}" SelectedItem="{Binding SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" />
|
||||
<Button Margin="2,1" Content="Refresh" HorizontalAlignment="Left" Command="{Binding RefreshCommand}"/>
|
||||
<Button Margin="2,1" Content="Export" HorizontalAlignment="Left" Command="{Binding SaveCommand}"/>
|
||||
<CheckBox Content="Show Ratings" IsChecked="{Binding ShowRatings}" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
|
||||
<CheckBox Content="Least Squares Fit" IsChecked="{Binding CheckBoxLeastSquaresFit}" Height="16" HorizontalAlignment="Left" Margin="5,6,0,0" VerticalAlignment="Top" />
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="4" Grid.Column="2" >
|
||||
<telerik:RadGridView AlternationCount="2" AutoGenerateColumns="False" AlternateRowBackground="Bisque" dc:GridExportGraphBehavior.ExportExcelProperty="{Binding SaveDocument}" ItemsSource="{Binding AllPrices, ValidatesOnDataErrors=True}" ShowGroupFooters="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Date, StringFormat=\{0:MM/dd/yyyy\}}" Header="Date"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding CompanyName}" Header="Company"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Symbol}" Header="Symbol"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Open, StringFormat=\{0:C\}}" Header="Open"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding High, StringFormat=\{0:C\}}" Header="High"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Low, StringFormat=\{0:C\}}" Header="Low"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Close, StringFormat=\{0:C\}}" Header="Close"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Volume, StringFormat=\{0:#\,###0\}}" Header="Volume"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding AdjClose, StringFormat=\{0:C\}}" Header="AdjClose"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return1D, StringFormat=\{0:P\}}" Header="Return1D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return5D, StringFormat=\{0:P\}}" Header="Return5D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return10D, StringFormat=\{0:P\}}" Header="Return10D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return15D, StringFormat=\{0:P\}}" Header="Return15D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return30D, StringFormat=\{0:P\}}" Header="Return30D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return60D, StringFormat=\{0:P\}}" Header="Return60D"/>
|
||||
<telerik:GridViewDataColumn DataMemberBinding="{Binding Return200D, StringFormat=\{0:P\}}" Header="Return200D"/>
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Margin="10,10,20,10" x:Name="prices" LegendVisibility="Hidden" NewLegendVisible="False" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis x:Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis x:Name="countAxis" MinWidth="40" MaxWidth="40"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph x:Name="Close" DataSource="{Binding Close}" Stroke="Black" StrokeThickness="1"/>
|
||||
<d3:LineGraph x:Name="LeastSquaresFit" DataSource="{Binding LeastSquares}" Stroke="Orange" StrokeThickness="1"/>
|
||||
|
||||
<d3:CursorCoordinateGraph x:Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph/>-->
|
||||
<!--<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>-->
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Price"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="" />
|
||||
|
||||
<d3:MarkerPointsGraph x:Name="MarkerPointsGraph" DataSource="{Binding RatingsPoints}">
|
||||
<d3:MarkerPointsGraph.Marker>
|
||||
<d3:CirclePointMarker Size="9" Fill="Red">
|
||||
<d3:CirclePointMarker.Pen>
|
||||
<Pen Thickness="1" Brush="Black"/>
|
||||
</d3:CirclePointMarker.Pen>
|
||||
</d3:CirclePointMarker>
|
||||
</d3:MarkerPointsGraph.Marker>
|
||||
</d3:MarkerPointsGraph>
|
||||
|
||||
<d3:MarkersPointsGraph x:Name="AnalystRatingsMarkersPointsGraph" DataSource="{Binding RatingsPoints}" Markers="{Binding Markers}" >
|
||||
</d3:MarkersPointsGraph>
|
||||
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
<GridSplitter Background="LightBlue" ResizeDirection="Rows" Grid.Column="2" Grid.ColumnSpan="1" Grid.Row="3" Width="Auto" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for PricingView.xaml
|
||||
/// </summary>
|
||||
public partial class PricingView : UserControl
|
||||
{
|
||||
public PricingView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.ResistanceAndSupportView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Margin="0,2" Content="Legend Visible" HorizontalAlignment="Left" IsChecked="{Binding Path=CheckBoxLegendVisible, Mode=TwoWay}"></CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Name="resistanceandsupport" Margin="10,10,20,10" LegendVisibility="Hidden" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="R1" x:Name="R1" DataSource="{Binding Path=R1}" Stroke="Green" StrokeThickness="3"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="S1" x:Name="S1" DataSource="{Binding Path=S1}" Stroke="Green" StrokeThickness="3"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="R2" x:Name="R2" DataSource="{Binding Path=R2}" Stroke="Green" StrokeThickness="4"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="S2" x:Name="S2" DataSource="{Binding Path=S2}" Stroke="Green" StrokeThickness="4"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="High" x:Name="High" DataSource="{Binding Path=High}" Stroke="Blue" StrokeThickness="1"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="Low" x:Name="Low" DataSource="{Binding Path=Low}" Stroke="Red" StrokeThickness="1"/>
|
||||
<d3:LineGraph d3:NewLegend.Description="Close" x:Name="Close" DataSource="{Binding Path=Close}" Stroke="Black" StrokeThickness="1"/>
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Price"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ResistanceAndSupportView.xaml
|
||||
/// </summary>
|
||||
public partial class ResistanceAndSupportView : UserControl
|
||||
{
|
||||
public ResistanceAndSupportView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.SECFilingView"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid Margin="4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="110" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="30" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=symbolLbl}" ></Label>
|
||||
<ComboBox x:Name="symbolCmb" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Description" HorizontalAlignment="Left" Target="{Binding ElementName=descriptionLbl}" ></Label>
|
||||
<ComboBox x:Name="formsCmb" ItemsSource="{Binding Path=FormNames, Mode=OneWay}" DisplayMemberPath="Value" SelectedIndex="{Binding Path=SelectedFormIndex,Mode=TwoWay}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="2" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{Binding Path=Title, Mode=OneWay}" HorizontalAlignment="Center" Target="{Binding ElementName=titleLbl}" FontSize="16" FontWeight="Bold" BorderThickness="1"></Label>
|
||||
<WebBrowser Grid.Row="3" dc:BrowserBehavior.Html="{Binding Path=Document}"/>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SECFilingView.xaml
|
||||
/// </summary>
|
||||
public partial class SECFilingView : UserControl
|
||||
{
|
||||
public SECFilingView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.SectorView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Generating Sector Breakdown...">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Header="Selection" >
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Account" HorizontalAlignment="Left" Target="{Binding ElementName=accountListLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Accounts, Mode=OneTime}" SelectedItem="{Binding Path=SelectedAccount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Sector/Industry" HorizontalAlignment="Left" Target="{Binding ElementName=accountListLbl}" ></Label>
|
||||
<ComboBox Margin="2,2" ItemsSource="{Binding Path=SectorIndustry, Mode=OneTime}" SelectedItem="{Binding Path=SelectedOperation, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<CheckBox Content="Include Cash" IsChecked="{Binding Path=IncludeCash}" Margin="0,1" ></CheckBox>
|
||||
<CheckBox Content="Realtime Price" IsChecked="{Binding Path=UseRealPrice}" Margin="0,1" ></CheckBox>
|
||||
<Button Margin="0,1" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
<Grid Grid.Row="0" >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{Binding Path=TitleExposure, Mode=OneWay}" HorizontalAlignment="Center" Target="{Binding ElementName=titleLbl}" FontSize="16" FontWeight="Bold" BorderThickness="1"></Label>
|
||||
<telerik:RadPieChart DockPanel.Dock="Left" x:Name="PieChartExposure" Palette="Metro" Grid.Row="0" Margin="20,40">
|
||||
<telerik:RadPieChart.SmartLabelsStrategy>
|
||||
<telerik:PieChartSmartLabelsStrategy/>
|
||||
</telerik:RadPieChart.SmartLabelsStrategy>
|
||||
<telerik:PieSeries ItemsSource="{Binding Path=PieDataExposure}" ShowLabels="True" RadiusFactor=".80" >
|
||||
<telerik:PieSeries.LabelConnectorsSettings>
|
||||
<telerik:ChartSeriesLabelConnectorsSettings />
|
||||
</telerik:PieSeries.LabelConnectorsSettings>
|
||||
<telerik:PieSeries.ValueBinding>
|
||||
<telerik:PropertyNameDataPointBinding PropertyName="Value"></telerik:PropertyNameDataPointBinding>
|
||||
</telerik:PieSeries.ValueBinding>
|
||||
<telerik:PieSeries.LabelDefinitions>
|
||||
<telerik:ChartSeriesLabelDefinition Margin="-7">
|
||||
<telerik:ChartSeriesLabelDefinition.Binding>
|
||||
<telerik:PropertyNameDataPointBinding PropertyName="Label"></telerik:PropertyNameDataPointBinding>
|
||||
</telerik:ChartSeriesLabelDefinition.Binding>
|
||||
</telerik:ChartSeriesLabelDefinition>
|
||||
</telerik:PieSeries.LabelDefinitions>
|
||||
<telerik:PieSeries.AngleRange>
|
||||
<telerik:AngleRange StartAngle="0" SweepAngle="360" SweepDirection="Clockwise"/>
|
||||
</telerik:PieSeries.AngleRange>
|
||||
</telerik:PieSeries>
|
||||
</telerik:RadPieChart>
|
||||
|
||||
<Label Grid.Row="1" Content="{Binding Path=TitleContribution, Mode=OneWay}" HorizontalAlignment="Center" Target="{Binding ElementName=titleLbl}" FontSize="16" FontWeight="Bold" BorderThickness="1"></Label>
|
||||
<telerik:RadPieChart DockPanel.Dock="Left" x:Name="PieChartContribution" Palette="Metro" Grid.Row="1" Margin="20,40">
|
||||
<telerik:RadPieChart.SmartLabelsStrategy>
|
||||
<telerik:PieChartSmartLabelsStrategy/>
|
||||
</telerik:RadPieChart.SmartLabelsStrategy>
|
||||
<telerik:PieSeries ItemsSource="{Binding Path=PieDataContribution}" ShowLabels="True" RadiusFactor=".80" >
|
||||
<telerik:PieSeries.LabelConnectorsSettings>
|
||||
<telerik:ChartSeriesLabelConnectorsSettings />
|
||||
</telerik:PieSeries.LabelConnectorsSettings>
|
||||
<telerik:PieSeries.ValueBinding>
|
||||
<telerik:PropertyNameDataPointBinding PropertyName="Value"></telerik:PropertyNameDataPointBinding>
|
||||
</telerik:PieSeries.ValueBinding>
|
||||
<telerik:PieSeries.LabelDefinitions>
|
||||
<telerik:ChartSeriesLabelDefinition Margin="-10">
|
||||
<telerik:ChartSeriesLabelDefinition.Binding>
|
||||
<telerik:PropertyNameDataPointBinding PropertyName="Label"></telerik:PropertyNameDataPointBinding>
|
||||
</telerik:ChartSeriesLabelDefinition.Binding>
|
||||
</telerik:ChartSeriesLabelDefinition>
|
||||
</telerik:PieSeries.LabelDefinitions>
|
||||
<telerik:PieSeries.AngleRange>
|
||||
<telerik:AngleRange StartAngle="0" SweepAngle="360" SweepDirection="Clockwise"/>
|
||||
</telerik:PieSeries.AngleRange>
|
||||
</telerik:PieSeries>
|
||||
</telerik:RadPieChart>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SectorView.xaml
|
||||
/// </summary>
|
||||
public partial class SectorView : UserControl
|
||||
{
|
||||
public SectorView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,186 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.StickerPriceView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="600">
|
||||
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading...">
|
||||
<Grid Background="LightGray">
|
||||
<AdornerDecorator>
|
||||
<Grid>
|
||||
<DockPanel>
|
||||
<Grid Margin="4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="30" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox BorderBrush="Black" Grid.Row="0" Grid.Column="0" Header="Parameters">
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Button Margin="0,2,0,2" Width="100" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<Button Margin="0,2,0,2" Content="Copy to Clipboard" HorizontalAlignment="Left" Command="{Binding Path=CopyToClipboardCommand}"></Button>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".12*" />
|
||||
<RowDefinition Height=".8*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width=".01*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<GridSplitter Background="LightBlue" ResizeDirection="Columns" Grid.Column="1" Grid.RowSpan="3" Grid.Row="0" Width="5" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"/>
|
||||
<Label Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="3" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<DockPanel Grid.Row="1" Grid.Column="0" >
|
||||
<telerik:RadGridView CanUserSelect="True" FontSize="10" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupPanel="false" ShowGroupFooters="False" ItemsSource="{Binding Path=AllBVPS, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Dates" IsReadOnly="true" DataMemberBinding="{Binding Path=Date,StringFormat={}{0:MM/dd/yyyy}}" />
|
||||
<telerik:GridViewDataColumn Header="BVPS" IsReadOnly="true" DataMemberBinding="{Binding Path=Value,StringFormat={}{0:C}}" />
|
||||
<telerik:GridViewDataColumn Header="Return" IsReadOnly="true" DataMemberBinding="{Binding Path=Return,StringFormat={}{0:P}}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
<GroupBox BorderBrush="Black" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" Header="Assumptions" FontSize="11" >
|
||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height=".25*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="62*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="56*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="52*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" FontSize="10" Content="Required Return" HorizontalAlignment="Left" Target="{Binding ElementName=requiredReturnLbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="The return required over 10-year horizon." Grid.Row="1" Grid.Column="0" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=RequiredReturn, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="2" FontSize="10" Content="EPS" HorizontalAlignment="Left" Target="{Binding ElementName=epsLbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Earnings per share." Grid.Row="1" Grid.Column="2" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="false" Text="{Binding Path=EPS, Mode=TwoWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="4" FontSize="10" Content="P/E" HorizontalAlignment="Left" Target="{Binding ElementName=lowPELbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price-to-earnings ratio." Grid.Row="1" Grid.Column="4" FontSize="10" IsReadOnly="false" Background="{Binding Path=PEBackground}" Text="{Binding Path=PE, Mode=TwoWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="6" FontSize="10" Content="Low P/E" HorizontalAlignment="Left" Target="{Binding ElementName=lowPELbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="EPS*2.00." Grid.Row="1" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=LowPE, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="8" FontSize="10" Content="Trailing P/E" HorizontalAlignment="Left" Target="{Binding ElementName=trailingPELbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="12-month trailing P/E (Fundamental)." Grid.Row="1" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=TrailingPE, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="0" FontSize="10" Content="Average Low/Trailing" HorizontalAlignment="Left" Target="{Binding ElementName=avgLowTrailingLbl}" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="(LowP/E+TrailingP/E)/2.00" Grid.Row="3" Grid.Column="0" FontSize="10" HorizontalAlignment="Left" Width="55" IsReadOnly="true" Text="{Binding Path=AvgLowTrailing, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" Validation.ErrorTemplate="{x:Null}"/>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="2" FontSize="10" Content="Current Est. Price" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="EPS*Average Low/Trailing." Grid.Row="3" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=CurrentEstimatedPrice, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="4" FontSize="10" Content="Price Est. 10y" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Current Est. Price *((1.00+BVPSGrowth)^10.00)." Grid.Row="3" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=PriceEstimate10Y, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="6" FontSize="10" Content="Price Reqd. Return" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price Est. 10-year/(1.00+Required Return)^10.00" Grid.Row="3" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=TodaysPriceForRequiredReturn, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="8" FontSize="10" Content="P/CF" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price to Operating Cashflow: Price/(Operating Cashflow/Shares Outstanding)" Grid.Row="3" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=PCF, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0" FontSize="10" Content="Latest Price" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Latest closing price." Grid.Row="5" Grid.Column="0" FontSize="10" AcceptsReturn="True" IsReadOnly="false" Text="{Binding Path=LatestPrice, Mode=TwoWay}" Height="15" VerticalAlignment="Bottom" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="2" FontSize="10" Content="Pricing Date" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Date of latest closing price." Grid.Row="5" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=PricingDate, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="4" FontSize="10" Content="MOS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Todays price for required return * .50." Grid.Row="5" Grid.Column="4" Background="{Binding Path=MOSBackground}" FontSize="10" IsReadOnly="true" Text="{Binding Path=MOS, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="6" FontSize="10" Content="MOS80" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Todays price for required return * .80." Grid.Row="5" Grid.Column="6" Background="{Binding Path=MOS80Background}" FontSize="10" IsReadOnly="true" Text="{Binding Path=MOS80, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="8" FontSize="10" Content="NCAVPS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Benjamin Graham : Net Current Asset Value Per Share = (Net Current Assets - Total Liabilities) / Shares Outstanding." Grid.Row="5" Grid.Column="8" Background="{Binding Path=NetCurrentAssetValuePerShareBackground}" FontSize="10" IsReadOnly="true" Text="{Binding Path=NetCurrentAssetValuePerShare, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="0" FontSize="10" Content="Intrinsic Value" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Benjamin Graham : EPS*(8.5+(2*EPSGrowth))" Grid.Row="7" Grid.Column="0" FontSize="10" IsReadOnly="true" Text="{Binding Path=IntrinsicValue, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="2" FontSize="10" Content="Fundamental Value" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Benjamin Graham : Sqrt(22.5 * eps(ttm) * bvps)." Grid.Row="7" Grid.Column="2" FontSize="10" IsReadOnly="true" Text="{Binding Path=FundamentalValue, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="4" FontSize="10" Content="RGV" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Intrinsic value / Last closing price." Grid.Row="7" Grid.Column="4" FontSize="10" IsReadOnly="true" Text="{Binding Path=RGV, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="6" FontSize="10" Content="BVPS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Book value per share." Grid.Row="7" Grid.Column="6" FontSize="10" IsReadOnly="true" Text="{Binding Path=BVPS, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="8" FontSize="10" Content="PBVPS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Price to Book value per share." Grid.Row="7" Grid.Column="8" FontSize="10" IsReadOnly="true" Text="{Binding Path=PBVPS, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="0" FontSize="10" Content="Average Growth" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Mean BVPS returns." Grid.Row="9" Grid.Column="0" FontSize="10" AcceptsReturn="True" IsReadOnly="False" Text="{Binding Path=AverageGrowth, Mode=TwoWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="2" FontSize="10" Content="Dividend Yield" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Dividend Yield (Dividend History vs. Current Price)." Grid.Row="9" Grid.Column="2" FontSize="10" IsReadOnly="True" Text="{Binding Path=DividendYield, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="4" FontSize="10" Content="Shares Outstanding" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Shares Outstanding." Grid.Row="9" Grid.Column="4" FontSize="10" IsReadOnly="True" Text="{Binding Path=SharesOutstanding, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="6" FontSize="10" Content="PE x PBVPS" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="P/E x PBVPS. Should not exceed 22.5 Ref: The Intelligent Investor." Grid.Row="9" Grid.Column="6" FontSize="10" IsReadOnly="True" Background="{Binding Path=PExPBVPSBackground}" Text="{Binding Path=PExPBVPS, Mode=OneWay}" ></TextBox>
|
||||
|
||||
<Label Grid.Row="8" Grid.Column="8" FontSize="10" Content="Debt To Equity" HorizontalAlignment="Left" ></Label>
|
||||
<TextBox ToolTipService.ToolTip="Fundamental.Debt/BalanceSheet.StockHoldersEquity." Grid.Row="9" Grid.Column="8" FontSize="10" IsReadOnly="True" Background="{Binding Path=DebtToEquityBackground}" Text="{Binding Path=DebtToEquity, Mode=OneWay}" ></TextBox>
|
||||
</Grid>
|
||||
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</AdornerDecorator>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for StickerPriceView.xaml
|
||||
/// </summary>
|
||||
public partial class StickerPriceView : UserControl
|
||||
{
|
||||
public StickerPriceView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.StochasticsView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Generating Stochastics...">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=tradeDateLbl}" ></Label>-->
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox x:Name="symbolCmb" ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Margin="0,2" Content="Legend Visible" HorizontalAlignment="Left" IsChecked="{Binding Path=CheckBoxLegendVisible, Mode=TwoWay}"></CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Name="stochastics" Margin="10,10,20,10" LegendVisibility="Hidden" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" >
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="%K" x:Name="PcntK" DataSource="{Binding Path=PcntK}" Stroke="Green" StrokeThickness="2" />
|
||||
<d3:LineGraph d3:NewLegend.Description="%D(Signal)" x:Name="PcntD" DataSource="{Binding Path=PcntD}" Stroke="Red" StrokeThickness="2" />
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Percent"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,32 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for StochasticsView.xaml
|
||||
/// </summary>
|
||||
public partial class StochasticsView : UserControl
|
||||
{
|
||||
public StochasticsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,210 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.TradeEntryView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="419"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="381" d:DesignWidth="300">
|
||||
<Grid Margin="4" Background="LightGray">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<!-- TradeId -->
|
||||
<Label
|
||||
Grid.Row="0" Grid.Column="0"
|
||||
Content="TradeId:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=tradeIdTxt}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="tradeIdTxt"
|
||||
Grid.Row="0" Grid.Column="2"
|
||||
Text="{Binding Path=TradeId, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="True" />
|
||||
<!-- Trade Date-->
|
||||
<Label
|
||||
Grid.Row="1" Grid.Column="0"
|
||||
Content="Trade Date:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=tradeDateLbl}"
|
||||
/>
|
||||
<DatePicker
|
||||
Grid.Row="1" Grid.Column="2"
|
||||
HorizontalAlignment="Left" Name="tradeDatePck"
|
||||
SelectedDate="{Binding Path=TradeDate, ValidatesOnDataErrors=True}"
|
||||
/>
|
||||
<!-- Trade Type -->
|
||||
<Label
|
||||
Grid.Row="2" Grid.Column="0"
|
||||
Content="Buy/Sell:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=tradeTypeCmb}"
|
||||
/>
|
||||
<ComboBox
|
||||
x:Name="tradeTypeCmb"
|
||||
Grid.Row="2" Grid.Column="2"
|
||||
ItemsSource="{Binding Path=TradeTypeOptions, Mode=OneTime}"
|
||||
SelectedItem="{Binding Path=SelectedTradeType, ValidatesOnDataErrors=True}"
|
||||
Validation.ErrorTemplate="{x:Null}"
|
||||
/>
|
||||
<!-- TradeStatus -->
|
||||
<Label
|
||||
Grid.Row="3" Grid.Column="0"
|
||||
Content="Status:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=tradeStatusCmb}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="tradeStatus"
|
||||
Grid.Row="3" Grid.Column="2"
|
||||
Text="{Binding Path=SelectedStatus, Mode=OneWay,ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="True" />
|
||||
|
||||
<!--<ComboBox
|
||||
x:Name="tradeStatusCmb"
|
||||
Grid.Row="3" Grid.Column="2"
|
||||
ItemsSource="{Binding Path=TradeStatusOptions, Mode=OneTime}"
|
||||
SelectedItem="{Binding Path=SelectedStatus, ValidatesOnDataErrors=True}"
|
||||
Validation.ErrorTemplate="{x:Null}"
|
||||
/>-->
|
||||
<!-- Symbol-->
|
||||
<Label
|
||||
Grid.Row="4" Grid.Column="0"
|
||||
Content="Symbol:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=symbolLabelTxt}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="symbolTxt"
|
||||
Grid.Row="4" Grid.Column="2"
|
||||
Text="{Binding Path=Symbol, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" AcceptsReturn="True" />
|
||||
<!-- Company-->
|
||||
<Label
|
||||
Grid.Row="5" Grid.Column="0"
|
||||
Content="Company:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=companyNameLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="comanyNameTxt"
|
||||
Grid.Row="5" Grid.Column="2"
|
||||
Text="{Binding Path=CompanyName, ValidatesOnDataErrors=False, UpdateSourceTrigger=PropertyChanged}"
|
||||
Validation.ErrorTemplate="{x:Null}" IsReadOnly="True" />
|
||||
<!-- Shares-->
|
||||
<Label
|
||||
Grid.Row="6" Grid.Column="0"
|
||||
Content="Shares:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=sharesLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="sharesTxt"
|
||||
Grid.Row="6" Grid.Column="2"
|
||||
Text="{Binding Path=Shares, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}"
|
||||
Validation.ErrorTemplate="{x:Null}"
|
||||
/>
|
||||
<!-- Account-->
|
||||
<Label
|
||||
Grid.Row="7" Grid.Column="0"
|
||||
Content="Account:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=accountLbl}"
|
||||
/>
|
||||
<ComboBox
|
||||
x:Name="accountTxt"
|
||||
Grid.Row="7" Grid.Column="2"
|
||||
ItemsSource="{Binding Path=AccountOptions, Mode=OneTime}"
|
||||
SelectedItem="{Binding Path=SelectedAccount, ValidatesOnDataErrors=True}"
|
||||
/>
|
||||
<!-- Price-->
|
||||
<Label
|
||||
Grid.Row="8" Grid.Column="0"
|
||||
Content="Price:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=priceLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="priceTxt"
|
||||
Grid.Row="8" Grid.Column="2"
|
||||
Text="{Binding Path=Price, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}"
|
||||
Validation.ErrorTemplate="{x:Null}"
|
||||
/>
|
||||
<!-- Market Value-->
|
||||
<Label
|
||||
Grid.Row="9" Grid.Column="0"
|
||||
Content="Exposure:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=exposureValueLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="exposureTxt"
|
||||
Grid.Row="9" Grid.Column="2"
|
||||
Text="{Binding Path=Exposure, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
||||
Validation.ErrorTemplate="{x:Null}" IsReadOnly="True" />
|
||||
<!-- Date Sold-->
|
||||
<Label
|
||||
Grid.Row="10" Grid.Column="0"
|
||||
Content="Date Sold:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=sellDateValueLbl}"
|
||||
/>
|
||||
<DatePicker
|
||||
Grid.Row="10" Grid.Column="2"
|
||||
HorizontalAlignment="Left" Name="sellDatePck"
|
||||
SelectedDate="{Binding Path=SellDate, ValidatesOnDataErrors=True}"
|
||||
/>
|
||||
<!-- Price Sold-->
|
||||
<Label
|
||||
Grid.Row="11" Grid.Column="0"
|
||||
Content="Sell Price:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=sellPriceValueLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="sellPriceTxt"
|
||||
Grid.Row="11" Grid.Column="2"
|
||||
Text="{Binding Path=SellPrice, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}"
|
||||
Validation.ErrorTemplate="{x:Null}" />
|
||||
<!-- Commission-->
|
||||
<Label
|
||||
Grid.Row="12" Grid.Column="0"
|
||||
Content="Commission:"
|
||||
HorizontalAlignment="Right"
|
||||
Target="{Binding ElementName=commissionValueLbl}"
|
||||
/>
|
||||
<TextBox
|
||||
x:Name="commissionTxt"
|
||||
Grid.Row="12" Grid.Column="2"
|
||||
Text="{Binding Path=Commission, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}"
|
||||
Validation.ErrorTemplate="{x:Null}" />
|
||||
<!-- SAVE BUTTON -->
|
||||
<!--<StackPanel Grid.Row="14" Grid.Column="2" Orientation="Vertical">-->
|
||||
<Button Grid.Row="13" Grid.Column="2" Command="{Binding Path=SaveCommand}" Content="_Save" HorizontalAlignment="Left" Margin="2,2" MinWidth="60" />
|
||||
<TextBox Grid.Row="14" Grid.Column="2" x:Name="saveStatusTxt" Text="{Binding Path=Status, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" Validation.ErrorTemplate="{x:Null}" IsReadOnly="True"/>
|
||||
<!--</StackPanel>-->
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for TradeEntryView.xaml
|
||||
/// </summary>
|
||||
public partial class TradeEntryView : UserControl
|
||||
{
|
||||
public TradeEntryView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.TradeModelView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Running Model..">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
|
||||
<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=symbolLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" SelectedIndex="{Binding Path=SelectedSymbolIndex,Mode=TwoWay, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>
|
||||
|
||||
<Label Content="Investment" HorizontalAlignment="Left" Target="{Binding ElementName=investmentLbl}" ></Label>
|
||||
<TextBox Text="{Binding Path=Investment, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="False"/>
|
||||
|
||||
<Label Content="Start Date" HorizontalAlignment="Left" Target="{Binding ElementName=startDateLbl}" ></Label>
|
||||
<DatePicker HorizontalAlignment="Left" Name="startDatePck" SelectedDate="{Binding Path=SelectedStartDate, ValidatesOnDataErrors=True}" />
|
||||
|
||||
<Label Content="Model" HorizontalAlignment="Left" Target="{Binding ElementName=modelLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Models, Mode=OneWay}" DisplayMemberPath="Value" SelectedIndex="{Binding Path=SelectedModelIndex,Mode=TwoWay, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
|
||||
<Label Content="Stop Loss Threshold" HorizontalAlignment="Left" Target="{Binding ElementName=stopLossThreshholLbl}" ></Label>
|
||||
<TextBox Text="{Binding Path=StopLossThreshold, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="False"/>
|
||||
|
||||
<Label Content="Stop Loss Days" HorizontalAlignment="Left" Target="{Binding ElementName=stopLossDaysLbl}" ></Label>
|
||||
<TextBox Text="{Binding Path=StopLossDays, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="False"/>
|
||||
|
||||
<Button Margin="0,2" Content="Run Model" HorizontalAlignment="Left" Command="{Binding Path=RunModelCommand}"></Button>
|
||||
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="3*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<telerik:RadGridView Grid.Row="0" Grid.Column="2" Name="TradeGrid" CanUserSelect="False" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=TradeResults, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Date" DataMemberBinding="{Binding Path=TradeDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Buy/Sell" DataMemberBinding="{Binding Path=BuySell}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Shares" DataMemberBinding="{Binding Path=Shares}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Price" DataMemberBinding="{Binding Path=Price,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Exposure" DataMemberBinding="{Binding Path=Exposure,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Gain/Loss" DataMemberBinding="{Binding Path=GainLoss,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Return" DataMemberBinding="{Binding Path=Return,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Days Held" DataMemberBinding="{Binding Path=DaysHeld}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Comment" DataMemberBinding="{Binding Path=Comment}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
|
||||
<telerik:RadGridView Grid.Row="2" Grid.Column="2" Name="SummaryGrid" CanUserSelect="False" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="False" ShowColumnFooters="False" ItemsSource="{Binding Path=TradeResultsSummary, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" AreRowDetailsFrozen="False">
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Portfolio Value" DataMemberBinding="{Binding Path=PortfolioValue,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Portfolio Return" DataMemberBinding="{Binding Path=PortfolioReturn,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Average Gain/Loss" DataMemberBinding="{Binding Path=AverageGainLoss,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Average Holding Days" DataMemberBinding="{Binding Path=AverageHoldingDays}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Minimum Holdings Days" DataMemberBinding="{Binding Path=MinimumHoldingDays}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Maximum Holding Days" DataMemberBinding="{Binding Path=MaximumHoldingDays}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</Grid>
|
||||
|
||||
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for TradeModelView.xaml
|
||||
/// </summary>
|
||||
public partial class TradeModelView : UserControl
|
||||
{
|
||||
public TradeModelView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,290 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.ValuationsView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<CollectionViewSource
|
||||
x:Key="Valuations"
|
||||
Source="{Binding Path=AllValuations}"
|
||||
>
|
||||
</CollectionViewSource>
|
||||
|
||||
<GroupStyle x:Key="ValuationGroupStyle">
|
||||
<GroupStyle.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock
|
||||
x:Name="txt"
|
||||
Background="{StaticResource Brush_HeaderBackground}"
|
||||
FontWeight="Bold"
|
||||
Foreground="White"
|
||||
Margin="1"
|
||||
Padding="4,2,0,2"
|
||||
Text="People"
|
||||
/>
|
||||
<DataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding Path=Name}" Value="True">
|
||||
<Setter TargetName="txt" Property="Text" Value="Companies" />
|
||||
</DataTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</GroupStyle.HeaderTemplate>
|
||||
</GroupStyle>
|
||||
|
||||
<Style x:Key="ValuationItemStyle" TargetType="{x:Type ListViewItem}">
|
||||
<!--
|
||||
Stretch the content of each cell so that we can
|
||||
right-align text in the Total Sales column.
|
||||
-->
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
||||
<!--
|
||||
Bind the IsSelected property of a ListViewItem to the
|
||||
IsSelected property of a ValuationViewModel object.
|
||||
-->
|
||||
<Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
|
||||
<Style.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="ItemsControl.AlternationIndex" Value="1" />
|
||||
<Condition Property="IsSelected" Value="False" />
|
||||
<Condition Property="IsMouseOver" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Background" Value="#EEEEEEEE" />
|
||||
</MultiTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0">
|
||||
<Label Content="Valuation Date" HorizontalAlignment="Right"></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=ValuationDates, Mode=OneTime}" SelectedItem="{Binding Path=SelectedValuationDate, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Row Count" HorizontalAlignment="Center"></Label>
|
||||
<TextBox Text="{Binding Path=RowCount, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="False" IsReadOnly="True"/>
|
||||
<Button Content="Save" Command="{Binding Path=SaveCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="0" Grid.Column="2" >
|
||||
<telerik:RadGridView SelectedItem="{Binding SelectedItem, Mode=TwoWay}" dc:GridExportGraphBehavior.ExportExcelProperty="{Binding Path=SaveDocument}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ItemsSource="{Binding Path=AllValuations, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.CompanyDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Company" DataMemberBinding="{Binding Path=Company}" />
|
||||
<telerik:GridViewDataColumn Header="Sector" DataMemberBinding="{Binding Path=Sector}" />
|
||||
<telerik:GridViewDataColumn Header="Industry" DataMemberBinding="{Binding Path=Industry}" />
|
||||
<telerik:GridViewDataColumn Header="Acquirers Multiple Rank" DataMemberBinding="{Binding Path=AMRank,StringFormat='{}{0:N0}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.AMRankDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="TLBRankROIC" DataMemberBinding="{Binding Path=TLBRankROIC,StringFormat='{}{0:N0}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.TLBRankROICDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="TLBRankROC" DataMemberBinding="{Binding Path=TLBRankROC,StringFormat='{}{0:N0}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.TLBRankROCDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="MarketCap" DataMemberBinding="{Binding Path=MarketCap,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.MarketCapDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="EBIT" DataMemberBinding="{Binding Path=EBIT,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.EBITDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="AcquirersMultiple" DataMemberBinding="{Binding Path=AcquirersMultiple}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.AcquirersMultipleDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Operating Earnings" DataMemberBinding="{Binding Path=OperatingEarnings,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.OperatingEarningsDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Earnings Yield" DataMemberBinding="{Binding Path=EarningsYield,StringFormat='{}{0:P}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.EarningsYieldDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Dividend Yield" DataMemberBinding="{Binding Path=DividendYield,StringFormat='{}{0:P}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.DividendYieldDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Enterprise Value" DataMemberBinding="{Binding Path=EnterpriseValue,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.EnterpriseValueDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="SEC13" DataMemberBinding="{Binding Path=SEC13}" />
|
||||
<telerik:GridViewDataColumn Header="SEC13Filing" DataMemberBinding="{Binding Path=SEC13FilingDate}" />
|
||||
<telerik:GridViewDataColumn Header="DebtToEquity" DataMemberBinding="{Binding Path=DebtToEquity}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.DebtToEquityDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Long Term Debt" DataMemberBinding="{Binding Path=LongTermDebt}" />
|
||||
<telerik:GridViewDataColumn Header="Debt Load" DataMemberBinding="{Binding Path=DebtLoad}" />
|
||||
<telerik:GridViewDataColumn Header="Revenue" DataMemberBinding="{Binding Path=Revenue}" />
|
||||
<telerik:GridViewDataColumn Header="ROC" DataMemberBinding="{Binding Path=LatestROC,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="ROIC" DataMemberBinding="{Binding Path=LatestROIC,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="ROIC(Avg)" DataMemberBinding="{Binding Path=AverageROIC,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="ROIC Slope" DataMemberBinding="{Binding Path=ROICSlope,StringFormat='{}{0:N}'}" />
|
||||
<telerik:GridViewDataColumn Header="ROIC Dates" DataMemberBinding="{Binding Path=ROICDates}" />
|
||||
<telerik:GridViewDataColumn Header="EquityGrowth(Avg)" DataMemberBinding="{Binding Path=AverageEquityGrowth,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="EquityGrowth2Y(Avg)" DataMemberBinding="{Binding Path=AverageEquityGrowth2Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="EquityGrowth4Y(Avg)" DataMemberBinding="{Binding Path=AverageEquityGrowth4Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="EPSGrowth(Avg)" DataMemberBinding="{Binding Path=AverageEPSGrowth,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="EPSGrowth2Y(Avg)" DataMemberBinding="{Binding Path=AverageEPSGrowth2Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="EPSGrowth4Y(Avg)" DataMemberBinding="{Binding Path=AverageEPSGrowth4Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="RevenueGrowth(Avg)" DataMemberBinding="{Binding Path=AverageRevenueGrowth,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="RevenueGrowth2Y(Avg)" DataMemberBinding="{Binding Path=AverageRevenueGrowth2Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="RevenueGrowth4Y(Avg)" DataMemberBinding="{Binding Path=AverageRevenueGrowth4Y,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="FreeCashflowGrowth(Avg)" DataMemberBinding="{Binding Path=AverageFreeCashflowGrowth,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="OperatingCashflow(Latest)" DataMemberBinding="{Binding Path=OperatingCashflow}" />
|
||||
<telerik:GridViewDataColumn Header="OperatingCashflow(Avg)" DataMemberBinding="{Binding Path=AverageOperatingCashflow,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="WorkingCapital(Avg)" DataMemberBinding="{Binding Path=AverageWorkingCapital,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="Shares Oustanding" DataMemberBinding="{Binding Path=SharesOutstanding}" />
|
||||
<telerik:GridViewDataColumn Header="BVPS" DataMemberBinding="{Binding Path=BVPS,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="BVPS Dates" DataMemberBinding="{Binding Path=BVPSDates}" />
|
||||
<telerik:GridViewDataColumn Header="PBVPS" DataMemberBinding="{Binding Path=PBVPS,StringFormat='{}{0:0.00}'}" />
|
||||
<telerik:GridViewDataColumn Header="EPS" DataMemberBinding="{Binding Path=EPS,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="PE" DataMemberBinding="{Binding Path=PE,StringFormat='{}{0:F}'}" />
|
||||
<telerik:GridViewDataColumn Header="P/CF" DataMemberBinding="{Binding Path=PCF}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.PCFDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="PEG" DataMemberBinding="{Binding Path=PEG,StringFormat='{}{0:F}'}" />
|
||||
<telerik:GridViewDataColumn Header="ImpliedEarningsGrowth" DataMemberBinding="{Binding Path=ImpliedEarningsGrowth,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="Next Earnings Date" DataMemberBinding="{Binding Path=NextEarningsDate,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
<telerik:GridViewDataColumn Header="Beta90" DataMemberBinding="{Binding Path=Beta90}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.Beta90Description}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="Beta2Y" DataMemberBinding="{Binding Path=Beta2Y}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:ValuationsView}},Path=DataContext.Beta2YDescription}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn Header="LowPE (2xEPS)" DataMemberBinding="{Binding Path=LowPE,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="TrailingPE" DataMemberBinding="{Binding Path=TrailingPE,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="AverageLowTrailing" DataMemberBinding="{Binding Path=AverageLowTrailing,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="CurrentStockEstimatePrice" DataMemberBinding="{Binding Path=CurrentStockEstimatePrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="PriceEstimate10Y" DataMemberBinding="{Binding Path=PriceEstimate10Y,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="TodaysPriceForRequiredReturn" DataMemberBinding="{Binding Path=TodaysPriceForRequiredReturn,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="LatestPrice" DataMemberBinding="{Binding Path=LatestPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="MOS" DataMemberBinding="{Binding Path=MOS,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="MOS80" DataMemberBinding="{Binding Path=MOS80,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="IntrinsicValue" DataMemberBinding="{Binding Path=IntrinsicValue,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="FundamentalValue" DataMemberBinding="{Binding Path=FundamentalValue,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="NCAVPS" DataMemberBinding="{Binding Path=NetCurrentAssetValuePerShare,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="RGV" DataMemberBinding="{Binding Path=RGV,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="UpsidePcnt" DataMemberBinding="{Binding Path=UpsidePcnt,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="DownsidePcnt" DataMemberBinding="{Binding Path=DownsidePcnt,StringFormat='{}{0:P}'}" />
|
||||
<telerik:GridViewDataColumn Header="MeanTargetPrice" DataMemberBinding="{Binding Path=MeanTargetPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="LowTargetPrice" DataMemberBinding="{Binding Path=LowTargetPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="HighTargetPrice" DataMemberBinding="{Binding Path=HighTargetPrice,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn Header="Bargain(MOS)" DataMemberBinding="{Binding Path=Bargain}" />
|
||||
<telerik:GridViewDataColumn Header="Bargain(MOS80)" DataMemberBinding="{Binding Path=Bargain80}" />
|
||||
<telerik:GridViewDataColumn Header="DateGenerated" DataMemberBinding="{Binding Path=DateGenerated}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ValuationsView2.xaml
|
||||
/// </summary>
|
||||
public partial class ValuationsView : UserControl
|
||||
{
|
||||
public ValuationsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.ValueAtRiskView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:local="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
>
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Bottom" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="168" />
|
||||
<ColumnDefinition Width="153" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="9*" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="1" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
|
||||
<StackPanel Grid.Row="3" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center" Grid.ColumnSpan="2">
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Add" HorizontalAlignment="Left" Command="{Binding Path=AddCommand}"></Button>
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Edit" HorizontalAlignment="Left" Command="{Binding Path=EditCommand}"></Button>
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Remove" HorizontalAlignment="Left" Command="{Binding Path=RemoveCommand}"></Button>
|
||||
<Button Margin="5,0,5,0" Width="65" Content="Reset" HorizontalAlignment="Left" Command="{Binding Path=ResetCommand}"></Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="5" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center" Grid.ColumnSpan="6">
|
||||
<Label VerticalAlignment="Center" Margin="5,0,5,0" Content="VaR:" HorizontalAlignment="Left" />
|
||||
<TextBlock VerticalAlignment="Center" Margin="5,0,5,0" Text="{Binding Path=ValueAtRisk, ValidatesOnDataErrors=True, StringFormat='{}{0:C}', UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label VerticalAlignment="Center" Margin="5,0,5,0" Content="|" />
|
||||
<Label VerticalAlignment="Center" Margin="5,0,5,0" Content="VaR(%):" HorizontalAlignment="Left" />
|
||||
<TextBlock VerticalAlignment="Center" Margin="5,0,5,0" Text="{Binding Path=ValueAtRiskPercent, ValidatesOnDataErrors=True, StringFormat='{}{0:P}', UpdateSourceTrigger=PropertyChanged}" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="7" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center" Grid.ColumnSpan="5">
|
||||
<Label Content="Days:" HorizontalAlignment="Left" Target="{Binding ElementName=daysLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Confidence:" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=ConfidenceValues, Mode=OneWay}" SelectedItem="{Binding Path=SelectedConfidence, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="%" HorizontalAlignment="Left" ></Label>
|
||||
<Label Content="AsOf:" HorizontalAlignment="Left" ></Label>
|
||||
<telerik:RadDatePicker SelectableDateStart="{Binding Path=SelectableDateStart}" SelectableDateEnd="{Binding Path=SelectableDateEnd}" VerticalAlignment="Top" HorizontalAlignment="Left" SelectedDate="{Binding Path=SelectedDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
|
||||
|
||||
</StackPanel>
|
||||
<telerik:RadGridView ItemsSource="{Binding Path=AllHoldings, ValidatesOnDataErrors=True,Mode=TwoWay}" CanUserSelect="True" SelectionMode="Single" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" AutoGenerateColumns="False" >
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="False" Header="Shares" DataMemberBinding="{Binding Path=Shares,StringFormat='{}{0:0.000}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Industry" DataMemberBinding="{Binding Path=Industry}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Sector" DataMemberBinding="{Binding Path=Sector}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Exposure" DataMemberBinding="{Binding Path=Exposure,StringFormat='{}{0:C}'}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Market Value" DataMemberBinding="{Binding Path=MarketValue,StringFormat='{}{0:C}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:ValueAtRiskModelMarketValueFunction />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Weight" DataMemberBinding="{Binding Path=Weight,StringFormat='{}{0:P}'}" >
|
||||
<telerik:GridViewDataColumn.AggregateFunctions>
|
||||
<local:ValueAtRiskModelWeightFunction />
|
||||
</telerik:GridViewDataColumn.AggregateFunctions>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="AsOf" DataMemberBinding="{Binding Path=AsOf,StringFormat='{}{0:MM/dd/yyyy}'}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</Grid>
|
||||
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ValueAtRiskView.xaml
|
||||
/// </summary>
|
||||
public partial class ValueAtRiskView : UserControl
|
||||
{
|
||||
public ValueAtRiskView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.WatchListView"
|
||||
xmlns:vw="clr-namespace:TradeBlotter.Views"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="TradeItemStyle" TargetType="{x:Type telerik:RadGridView}">
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Loading Watchlist Items...">
|
||||
<Grid Background="LightGray">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="3" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="2" FontFamily="Arial" Content="{Binding Path=Title}" HorizontalAlignment="Center" FontSize="20"></Label>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="Watch List" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=WatchListNames, Mode=OneTime}" SelectedItem="{Binding Path=SelectedWatchList, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<!--<Label Content="Symbol" HorizontalAlignment="Left" Target="{Binding ElementName=symbolLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Symbols, Mode=OneWay}" SelectedItem="{Binding Path=SelectedSymbol, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" >
|
||||
<ComboBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<VirtualizingStackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ComboBox.ItemsPanel>
|
||||
</ComboBox>-->
|
||||
<!--<Label Content="Date" HorizontalAlignment="Left" Target="{Binding ElementName=ratingDateLbl}" ></Label>-->
|
||||
<!--<ComboBox ItemsSource="{Binding Path=Dates, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDate, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>-->
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
</StackPanel>
|
||||
<DockPanel Grid.Row="2" Grid.Column="2" >
|
||||
<telerik:RadGridView SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemContainerStyle="{StaticResource TradeItemStyle}" AlternationCount="2" AlternateRowBackground="Bisque" ShowGroupFooters="True" ShowColumnFooters="True" ItemsSource="{Binding Path=AllItems, ValidatesOnDataErrors=True}" AutoGenerateColumns="False" >
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu x:Name="GridContextMenu" StaysOpen="False" ItemsSource="{Binding MenuItems}">
|
||||
<telerik:RadContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="telerik:RadMenuItem">
|
||||
<Setter Property="Header" Value="{Binding Text}" />
|
||||
<Setter Property="Command" Value="{Binding MenuItemClickedCommand}" />
|
||||
<Setter Property="StaysOpenOnClick" Value="False" />
|
||||
</Style>
|
||||
</telerik:RadContextMenu.ItemContainerStyle>
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadGridView.Columns>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Symbol" DataMemberBinding="{Binding Path=Symbol}" >
|
||||
<telerik:GridViewColumn.ToolTipTemplate>
|
||||
<DataTemplate >
|
||||
<StackPanel Orientation="Horizontal" >
|
||||
<TextBlock Background="LemonChiffon" MaxWidth="1000" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type vw:WatchListView}},Path=DataContext.Description}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</telerik:GridViewColumn.ToolTipTemplate>
|
||||
</telerik:GridViewDataColumn>
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Company Name" DataMemberBinding="{Binding Path=CompanyName}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Sector" DataMemberBinding="{Binding Path=Sector}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Industry" DataMemberBinding="{Binding Path=Industry}" />
|
||||
<telerik:GridViewDataColumn IsReadOnly="True" Header="Security Type" DataMemberBinding="{Binding Path=SecurityType}" />
|
||||
</telerik:RadGridView.Columns>
|
||||
</telerik:RadGridView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for WatchListView.xaml
|
||||
/// </summary>
|
||||
public partial class WatchListView : UserControl
|
||||
{
|
||||
public WatchListView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
<UserControl x:Class="TradeBlotter.Views.YieldCurveView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
|
||||
xmlns:dc="clr-namespace:TradeBlotter.UIUtils"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="Generating Yield Curve...">
|
||||
<Grid Background="LightGray">
|
||||
<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" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Vertical">
|
||||
<Label Content="Curve" HorizontalAlignment="Left" Target="{Binding ElementName=curveLbl}" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=Curves, Mode=OneWay}" SelectedItem="{Binding Path=SelectedCurve, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Label Content="Day Count" HorizontalAlignment="Left" ></Label>
|
||||
<ComboBox ItemsSource="{Binding Path=DayCounts, Mode=OneWay}" SelectedItem="{Binding Path=SelectedDayCount, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{x:Null}" ></ComboBox>
|
||||
<Button Margin="0,2" Content="Refresh" HorizontalAlignment="Left" Command="{Binding Path=RefreshCommand}"></Button>
|
||||
<CheckBox Margin="0,2" Content="Legend Visible" HorizontalAlignment="Left" IsChecked="{Binding Path=CheckBoxLegendVisible, Mode=TwoWay}"></CheckBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<d3:ChartPlotter Background="WhiteSmoke" Name="YieldCurve" Margin="10,10,20,10" LegendVisibility="Hidden" dc:ChartPlotterLegendBehavior.LegendVisibleProperty="{Binding Path=LegendVisible}" d3:Viewport2D.UsesApproximateContentBoundsComparison="False" BorderThickness="0">
|
||||
<d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:HorizontalDateTimeAxis Name="dateAxis"/>
|
||||
</d3:ChartPlotter.MainHorizontalAxis>
|
||||
<d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:VerticalAxis Name="countAxis"/>
|
||||
</d3:ChartPlotter.MainVerticalAxis>
|
||||
<d3:LineGraph d3:NewLegend.Description="Yield" x:Name="Values" DataSource="{Binding Path=Values}" Stroke="MidnightBlue" StrokeThickness="1" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA5" x:Name="MA5" DataSource="{Binding Path=MA5}" Stroke="Goldenrod" StrokeThickness="3" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA21" x:Name="MA21" DataSource="{Binding Path=MA21}" Stroke="Green" StrokeThickness="3" />
|
||||
<d3:LineGraph d3:NewLegend.Description="MA55" x:Name="MA55" DataSource="{Binding Path=MA55}" Stroke="LightGreen" StrokeThickness="3" />
|
||||
<d3:CursorCoordinateGraph Name="cursorGraph" dc:CoordinateGraphBehavior.XTextMappingProperty="MM/dd/yyyy" LineStrokeThickness="1"/>
|
||||
<!--<d3:AxisCursorGraph></d3:AxisCursorGraph>-->
|
||||
<d3:Header FontFamily="Arial" Content="{Binding Path=Title}"/>
|
||||
<d3:VerticalAxisTitle FontFamily="Arial" Content="Yield"/>
|
||||
<d3:HorizontalAxisTitle FontFamily="Arial" Content="Date" />
|
||||
</d3:ChartPlotter>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</wpfx:BusyIndicator>
|
||||
</UserControl>
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace TradeBlotter.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for YieldCurveView.xaml
|
||||
/// </summary>
|
||||
public partial class YieldCurveView : UserControl
|
||||
{
|
||||
public YieldCurveView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user