C# .Net WinForms アプリケーションの取引アプリケーションには「ダッシュボード」ビューが必要です。
現在、アプリケーションは、ユーザーが自動取引ルールを定義した各シンボル (MSFT、GOOG、EUR/USD) の価格チャートを含む追加のフォームをポップアップ表示します。しかし、数十または数百のシンボルを同時に取引したいユーザーもいます。アプリケーションはこれをパフォーマンス的に処理しますが、これによりデスクトップ上に非常に多くの個別のグラフが作成されます。
そのため、各シンボルの情報とコントロールのリストを含むフォームが必要です。
これに使用するコントロールの選択についてアドバイスを提供してください。
さて、ここにいくつかの要件があります:
- リストはスクロール可能である必要があります。
- 各行: a) その銘柄のチャートを最大化/最小化するボタン。b) シンボルの取引を一時停止または再開し、現在のステータスを表示するボタン。c) シンボル、エクイティ、ポジションなどの情報のいくつかの列。
- 将来のバージョン: 情報列でソート可能な行。
- 将来のバージョン: 各行を「展開可能」にし、プラス/マイナス記号を付けて、アクティブな注文のリストや個別のポップアップではなくミニ「インライン」チャートなどの追加の詳細を表示します。
- 1 つ以上の行は、ネストされたシンボルとポートフォリオの結合されたエクイティを表示する同様の列を持つ「ポートフォリオ」行になります。
- これをできるだけ早く実装して、(少なくともこのバージョンでは) カスタム コントロールの設計を除外する必要があります。したがって、.Net 標準コントロールのみを使用したいと考えています。
- オープンソースでない限り、サードパーティのソリューションは避けたいと考えています。
最もトリッキーな設計上の問題:
戦略とポートフォリオの関係をどのように表現するか。これらの関係は、ネストされたポートフォリオで洗練され、単一のポートフォリオ インスタンスを複数の親ポートフォリオに割り当てることができます。ノート。ユーザーは実行時にこれらの関係を変更することはできません...しかし、これを視覚的に表現すると便利です。ツリー ビューのように、このコントロールに統合できますか? 問題は、単一のポートフォリオまたはシンボルが他の複数のポートフォリオ内にネストできることです。そのため、ツリー ビューでは意味がないようです。
もう 1 つのアイデアは、ポートフォリオごとに個別のリスト ビューをポップアップ表示することです。
最良の方法は、同じダッシュボードで関係を視覚的に表現するための巧妙なアイデアです。この最初のバージョンではないかもしれませんが、実際にポートフォリオごとに列を表示し、シンボルまたはポートフォリオに目盛りが含まれていることを示す垂直線を表示するカスタム描画コントロールでしょうか? シンプルでエレガントなソリューションが必要です。
計画は、最小限のニーズで何かを立ち上げて作業することですが、全体を書き直すことなく、次のバージョンでポートフォリオの関係やその他の機能を取得する方法についても事前に考えることです.