Phase 5-UI: Generischer Core-Trade-Log + modulübergreifendes Dashboard
- Core: TradeRecord (Modell) + ITradeLogRepository (+ Mongo-Impl, Collection "trade_log"), in AddCorePersistence registriert. Realisiert den generischen, modulneutralen Trade-Log aus Entscheidung #2. - Dual-Write: PersistenceService schreibt geschlossene Copy-Trades zusaetzlich als generischen TradeRecord (ModuleName="CopyTrading"). - Neue DashboardView (UserControl + Designer): zeigt die letzten Trades ALLER Module (GetRecent) mit Konto-Aufloesung + Kurzauswertung (Gesamt-PnL, Anzahl, Aufschluesselung je Modul). btn_dashboard im Launcher, View "core.dashboard". - Build 0 Fehler. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8e2a92ad2e
commit
4f6c7fdb86
Generated
+202
@@ -0,0 +1,202 @@
|
||||
namespace PolyTraderSharp.Ui.Views
|
||||
{
|
||||
partial class DashboardView
|
||||
{
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Vom Komponenten-Designer generierter Code
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.pnlTop = new System.Windows.Forms.Panel();
|
||||
this.lblSummary = new System.Windows.Forms.Label();
|
||||
this.btnRefresh = new System.Windows.Forms.Button();
|
||||
this.dgvTrades = new System.Windows.Forms.DataGridView();
|
||||
this.colModule = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMarket = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOutcome = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSide = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEntry = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colExit = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSize = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPnl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPnlPct = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colClosedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pnlTop.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pnlTop
|
||||
//
|
||||
this.pnlTop.Controls.Add(this.lblSummary);
|
||||
this.pnlTop.Controls.Add(this.btnRefresh);
|
||||
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlTop.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlTop.Name = "pnlTop";
|
||||
this.pnlTop.Size = new System.Drawing.Size(1100, 40);
|
||||
this.pnlTop.TabIndex = 0;
|
||||
//
|
||||
// lblSummary
|
||||
//
|
||||
this.lblSummary.AutoSize = true;
|
||||
this.lblSummary.Location = new System.Drawing.Point(148, 12);
|
||||
this.lblSummary.Name = "lblSummary";
|
||||
this.lblSummary.Size = new System.Drawing.Size(63, 15);
|
||||
this.lblSummary.TabIndex = 1;
|
||||
this.lblSummary.Text = "—";
|
||||
//
|
||||
// btnRefresh
|
||||
//
|
||||
this.btnRefresh.Location = new System.Drawing.Point(8, 6);
|
||||
this.btnRefresh.Name = "btnRefresh";
|
||||
this.btnRefresh.Size = new System.Drawing.Size(130, 28);
|
||||
this.btnRefresh.TabIndex = 0;
|
||||
this.btnRefresh.Text = "Aktualisieren";
|
||||
this.btnRefresh.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// dgvTrades
|
||||
//
|
||||
this.dgvTrades.AllowUserToAddRows = false;
|
||||
this.dgvTrades.AllowUserToDeleteRows = false;
|
||||
this.dgvTrades.AutoGenerateColumns = false;
|
||||
this.dgvTrades.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvTrades.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colModule,
|
||||
this.colAccount,
|
||||
this.colMarket,
|
||||
this.colOutcome,
|
||||
this.colSide,
|
||||
this.colEntry,
|
||||
this.colExit,
|
||||
this.colSize,
|
||||
this.colPnl,
|
||||
this.colPnlPct,
|
||||
this.colClosedAt});
|
||||
this.dgvTrades.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvTrades.Location = new System.Drawing.Point(0, 40);
|
||||
this.dgvTrades.Name = "dgvTrades";
|
||||
this.dgvTrades.ReadOnly = true;
|
||||
this.dgvTrades.RowHeadersVisible = false;
|
||||
this.dgvTrades.Size = new System.Drawing.Size(1100, 560);
|
||||
this.dgvTrades.TabIndex = 1;
|
||||
//
|
||||
// colModule
|
||||
//
|
||||
this.colModule.DataPropertyName = "Module";
|
||||
this.colModule.HeaderText = "Modul";
|
||||
this.colModule.Name = "colModule";
|
||||
this.colModule.Width = 110;
|
||||
//
|
||||
// colAccount
|
||||
//
|
||||
this.colAccount.DataPropertyName = "Account";
|
||||
this.colAccount.HeaderText = "Konto";
|
||||
this.colAccount.Name = "colAccount";
|
||||
this.colAccount.Width = 130;
|
||||
//
|
||||
// colMarket
|
||||
//
|
||||
this.colMarket.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colMarket.DataPropertyName = "Market";
|
||||
this.colMarket.HeaderText = "Markt";
|
||||
this.colMarket.Name = "colMarket";
|
||||
//
|
||||
// colOutcome
|
||||
//
|
||||
this.colOutcome.DataPropertyName = "Outcome";
|
||||
this.colOutcome.HeaderText = "Outcome";
|
||||
this.colOutcome.Name = "colOutcome";
|
||||
this.colOutcome.Width = 80;
|
||||
//
|
||||
// colSide
|
||||
//
|
||||
this.colSide.DataPropertyName = "Side";
|
||||
this.colSide.HeaderText = "Side";
|
||||
this.colSide.Name = "colSide";
|
||||
this.colSide.Width = 60;
|
||||
//
|
||||
// colEntry
|
||||
//
|
||||
this.colEntry.DataPropertyName = "EntryPrice";
|
||||
this.colEntry.HeaderText = "Entry";
|
||||
this.colEntry.Name = "colEntry";
|
||||
this.colEntry.Width = 70;
|
||||
//
|
||||
// colExit
|
||||
//
|
||||
this.colExit.DataPropertyName = "ExitPrice";
|
||||
this.colExit.HeaderText = "Exit";
|
||||
this.colExit.Name = "colExit";
|
||||
this.colExit.Width = 70;
|
||||
//
|
||||
// colSize
|
||||
//
|
||||
this.colSize.DataPropertyName = "Size";
|
||||
this.colSize.HeaderText = "Size";
|
||||
this.colSize.Name = "colSize";
|
||||
this.colSize.Width = 70;
|
||||
//
|
||||
// colPnl
|
||||
//
|
||||
this.colPnl.DataPropertyName = "RealizedPnl";
|
||||
this.colPnl.HeaderText = "PnL";
|
||||
this.colPnl.Name = "colPnl";
|
||||
this.colPnl.Width = 80;
|
||||
//
|
||||
// colPnlPct
|
||||
//
|
||||
this.colPnlPct.DataPropertyName = "PnlPercent";
|
||||
this.colPnlPct.HeaderText = "PnL %";
|
||||
this.colPnlPct.Name = "colPnlPct";
|
||||
this.colPnlPct.Width = 70;
|
||||
//
|
||||
// colClosedAt
|
||||
//
|
||||
this.colClosedAt.DataPropertyName = "ClosedAt";
|
||||
this.colClosedAt.HeaderText = "Geschlossen";
|
||||
this.colClosedAt.Name = "colClosedAt";
|
||||
this.colClosedAt.Width = 140;
|
||||
//
|
||||
// DashboardView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.dgvTrades);
|
||||
this.Controls.Add(this.pnlTop);
|
||||
this.Name = "DashboardView";
|
||||
this.Size = new System.Drawing.Size(1100, 600);
|
||||
this.pnlTop.ResumeLayout(false);
|
||||
this.pnlTop.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel pnlTop;
|
||||
private System.Windows.Forms.Button btnRefresh;
|
||||
private System.Windows.Forms.Label lblSummary;
|
||||
private System.Windows.Forms.DataGridView dgvTrades;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colModule;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAccount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMarket;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOutcome;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSide;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colEntry;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExit;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSize;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPnl;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPnlPct;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colClosedAt;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user