We need a "dashboard" view for a trading application on a C# .Net WinForms application.
Currently the application pops up additional forms with price charts for each symbol (MSFT, GOOG, EUR/USD) for which the user has defined automated trading rules. But some users want to trade dozens or hundreds of symbols simultaneously. The application handles this performance-wise but this creates far too many separate charts on the desktop.
So the need is for a form with a list of information and controls for each of the symbols.
Please offer advice on selecting which controls to use for this.
Okay so here's some requirements:
- The list needs to be scrollable.
- On Each Row: a) a button to maximize/minimize the chart for that symbol. b) a button to pause or resume trading on a symbol as well as show current status. c) A few columns of information like symbol, equity, position.
- Future version: Rows sortable by the information columns.
- Future version: Make each row "explandable" maybe with a plus/minus sign to show additional detail like list of active orders or perhaps a mini "inline" chart rather than separate popup.
- One or more rows will be "portfolio" rows with similar columns to display combined equity for its nested symbols and portfolios.
- We need to implement this as quickly as possible so this rules out designing custom controls (at least in this version)--So we want to use only the .Net standard controls.
- We want to avoid 3rd party solutions unless it's open source.
Trickiest design question:
How to represent the relationships between the strategies and portfolios. These relationships can be sophisticated with nested portfolios and a single portfolios instance can be assigned to multiple parent portfolios. Note. The user can't alter these relationship at run time...but it will be nice to represent this visually. Can that be integrated into this control--like a tree view? The problem is that a single portfolio or symbol can be nested inside multiple other portfolios. So that doesn't seem to make sense for a tree view.
Another idea will be to pop up separate list views for each portfolio--yuck.
The best will be some clever idea to represent the relationships visually on the same dashboard. Maybe not in this first version but perhaps a custom drawing control that actually shows a column per portfolio with a vertical line showing symbols or portfolio contained with tick marks? We'd like a simple yet elegant solution.
The plan is to get something up and working with the minimum needs but also some forethought into how to get the portfolio relationship and other features in a next version w/o rewriting the whole thing.