- Geschlossene Trades: Zeilenfaerbung nach PnL-% (TradeRowColoring, pur+getestet: <0 rot, 0-10% hellgruen, >10% gruen) via DataBindingComplete. Filter-Panel (Designer): Markt (Text), Master-Trader (Combo, dynamisch), Ergebnis (Alle/Gewinner/Verlierer), Von/Bis (optionale DateTimePicker mit Checkbox), Zuruecksetzen. Summary zeigt gefiltert/gesamt. - Neuer Tab 'Offene Trades' (OpenTradesView, designerfaehig): alle offenen Positionen aus dem Laufzeit-State mit Entry/Aktuell/Wert/Buchgewinn/-% und Status (offen/Exit laeuft), Zeilenfaerbung nach Buchgewinn-%, Summenzeile. In CopyTradingMainForm zwischen Master-Trader und Geschlossene eingehaengt. - Master-Trader-Grid: AutoSizeColumnsMode=Fill + FillWeights -> Spaltenbreiten teilen sich immer die Breite (Fix der 'verbuggten' Breiten); RowHeader war bereits aus. Tests: +8 (TradeRowColoring-Schwellen). Build 0 Fehler, 396 Tests gruen, --smoke-ui gruen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
393 lines
17 KiB
C#
393 lines
17 KiB
C#
namespace PolyTrader.Modules.CopyTrading.Ui
|
|
{
|
|
partial class ClosedTradesView
|
|
{
|
|
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.toolbar = new System.Windows.Forms.ToolStrip();
|
|
this.tsRefresh = new System.Windows.Forms.ToolStripButton();
|
|
this.dgvTrades = new System.Windows.Forms.DataGridView();
|
|
this.colTradeId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
this.colAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
this.colTrader = 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.colOpenedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
this.colClosedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
this.statusPanel = new System.Windows.Forms.Panel();
|
|
this.lblSummary = new System.Windows.Forms.Label();
|
|
this.pnlFilters = new System.Windows.Forms.Panel();
|
|
this.lblMarkt = new System.Windows.Forms.Label();
|
|
this.tbMarket = new System.Windows.Forms.TextBox();
|
|
this.lblMaster = new System.Windows.Forms.Label();
|
|
this.cbMaster = new System.Windows.Forms.ComboBox();
|
|
this.lblErgebnis = new System.Windows.Forms.Label();
|
|
this.cbResult = new System.Windows.Forms.ComboBox();
|
|
this.lblVon = new System.Windows.Forms.Label();
|
|
this.dtFrom = new System.Windows.Forms.DateTimePicker();
|
|
this.lblBis = new System.Windows.Forms.Label();
|
|
this.dtTo = new System.Windows.Forms.DateTimePicker();
|
|
this.btnReset = new System.Windows.Forms.Button();
|
|
this.toolbar.SuspendLayout();
|
|
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).BeginInit();
|
|
this.statusPanel.SuspendLayout();
|
|
this.pnlFilters.SuspendLayout();
|
|
this.SuspendLayout();
|
|
//
|
|
// toolbar
|
|
//
|
|
this.toolbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
|
|
this.toolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
this.tsRefresh});
|
|
this.toolbar.Location = new System.Drawing.Point(0, 0);
|
|
this.toolbar.Name = "toolbar";
|
|
this.toolbar.Size = new System.Drawing.Size(1100, 25);
|
|
this.toolbar.TabIndex = 0;
|
|
//
|
|
// tsRefresh
|
|
//
|
|
this.tsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
|
this.tsRefresh.Name = "tsRefresh";
|
|
this.tsRefresh.Size = new System.Drawing.Size(90, 22);
|
|
this.tsRefresh.Text = "Aktualisieren";
|
|
//
|
|
// 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.colTradeId,
|
|
this.colAccount,
|
|
this.colTrader,
|
|
this.colMarket,
|
|
this.colOutcome,
|
|
this.colSide,
|
|
this.colEntry,
|
|
this.colExit,
|
|
this.colSize,
|
|
this.colPnl,
|
|
this.colPnlPct,
|
|
this.colOpenedAt,
|
|
this.colClosedAt});
|
|
this.dgvTrades.Dock = System.Windows.Forms.DockStyle.Fill;
|
|
this.dgvTrades.Location = new System.Drawing.Point(0, 25);
|
|
this.dgvTrades.Name = "dgvTrades";
|
|
this.dgvTrades.ReadOnly = true;
|
|
this.dgvTrades.RowHeadersVisible = false;
|
|
this.dgvTrades.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
|
this.dgvTrades.Size = new System.Drawing.Size(1100, 549);
|
|
this.dgvTrades.TabIndex = 1;
|
|
//
|
|
// colTradeId
|
|
//
|
|
this.colTradeId.DataPropertyName = "TradeId";
|
|
this.colTradeId.HeaderText = "#";
|
|
this.colTradeId.Name = "colTradeId";
|
|
this.colTradeId.ReadOnly = true;
|
|
this.colTradeId.Width = 60;
|
|
//
|
|
// colAccount
|
|
//
|
|
this.colAccount.DataPropertyName = "AccountName";
|
|
this.colAccount.HeaderText = "Account";
|
|
this.colAccount.Name = "colAccount";
|
|
this.colAccount.ReadOnly = true;
|
|
this.colAccount.Width = 130;
|
|
//
|
|
// colTrader
|
|
//
|
|
this.colTrader.DataPropertyName = "SourceTraderName";
|
|
this.colTrader.HeaderText = "Master-Trader";
|
|
this.colTrader.Name = "colTrader";
|
|
this.colTrader.ReadOnly = true;
|
|
this.colTrader.Width = 130;
|
|
//
|
|
// colMarket
|
|
//
|
|
this.colMarket.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
|
this.colMarket.DataPropertyName = "MarketQuestion";
|
|
this.colMarket.HeaderText = "Markt";
|
|
this.colMarket.Name = "colMarket";
|
|
this.colMarket.ReadOnly = true;
|
|
//
|
|
// colOutcome
|
|
//
|
|
this.colOutcome.DataPropertyName = "Outcome";
|
|
this.colOutcome.HeaderText = "Outcome";
|
|
this.colOutcome.Name = "colOutcome";
|
|
this.colOutcome.ReadOnly = true;
|
|
this.colOutcome.Width = 80;
|
|
//
|
|
// colSide
|
|
//
|
|
this.colSide.DataPropertyName = "Side";
|
|
this.colSide.HeaderText = "Side";
|
|
this.colSide.Name = "colSide";
|
|
this.colSide.ReadOnly = true;
|
|
this.colSide.Width = 60;
|
|
//
|
|
// colEntry
|
|
//
|
|
this.colEntry.DataPropertyName = "EntryPrice";
|
|
this.colEntry.HeaderText = "Entry";
|
|
this.colEntry.Name = "colEntry";
|
|
this.colEntry.ReadOnly = true;
|
|
this.colEntry.Width = 70;
|
|
//
|
|
// colExit
|
|
//
|
|
this.colExit.DataPropertyName = "ExitPrice";
|
|
this.colExit.HeaderText = "Exit";
|
|
this.colExit.Name = "colExit";
|
|
this.colExit.ReadOnly = true;
|
|
this.colExit.Width = 70;
|
|
//
|
|
// colSize
|
|
//
|
|
this.colSize.DataPropertyName = "Size";
|
|
this.colSize.HeaderText = "Size";
|
|
this.colSize.Name = "colSize";
|
|
this.colSize.ReadOnly = true;
|
|
this.colSize.Width = 70;
|
|
//
|
|
// colPnl
|
|
//
|
|
this.colPnl.DataPropertyName = "RealizedPnl";
|
|
this.colPnl.HeaderText = "PnL";
|
|
this.colPnl.Name = "colPnl";
|
|
this.colPnl.ReadOnly = true;
|
|
this.colPnl.Width = 80;
|
|
//
|
|
// colPnlPct
|
|
//
|
|
this.colPnlPct.DataPropertyName = "PnlPercent";
|
|
this.colPnlPct.HeaderText = "PnL %";
|
|
this.colPnlPct.Name = "colPnlPct";
|
|
this.colPnlPct.ReadOnly = true;
|
|
this.colPnlPct.Width = 70;
|
|
//
|
|
// colOpenedAt
|
|
//
|
|
this.colOpenedAt.DataPropertyName = "OpenedAt";
|
|
this.colOpenedAt.HeaderText = "Eröffnet";
|
|
this.colOpenedAt.Name = "colOpenedAt";
|
|
this.colOpenedAt.ReadOnly = true;
|
|
this.colOpenedAt.Width = 130;
|
|
//
|
|
// colClosedAt
|
|
//
|
|
this.colClosedAt.DataPropertyName = "ClosedAt";
|
|
this.colClosedAt.HeaderText = "Geschlossen";
|
|
this.colClosedAt.Name = "colClosedAt";
|
|
this.colClosedAt.ReadOnly = true;
|
|
this.colClosedAt.Width = 130;
|
|
//
|
|
// statusPanel
|
|
//
|
|
this.statusPanel.Controls.Add(this.lblSummary);
|
|
this.statusPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
|
|
this.statusPanel.Location = new System.Drawing.Point(0, 574);
|
|
this.statusPanel.Name = "statusPanel";
|
|
this.statusPanel.Size = new System.Drawing.Size(1100, 26);
|
|
this.statusPanel.TabIndex = 2;
|
|
//
|
|
// lblSummary
|
|
//
|
|
this.lblSummary.Dock = System.Windows.Forms.DockStyle.Fill;
|
|
this.lblSummary.Location = new System.Drawing.Point(0, 0);
|
|
this.lblSummary.Name = "lblSummary";
|
|
this.lblSummary.Padding = new System.Windows.Forms.Padding(8, 0, 0, 0);
|
|
this.lblSummary.Size = new System.Drawing.Size(1100, 26);
|
|
this.lblSummary.TabIndex = 0;
|
|
this.lblSummary.Text = "—";
|
|
this.lblSummary.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
|
//
|
|
// pnlFilters
|
|
//
|
|
this.pnlFilters.Controls.Add(this.lblMarkt);
|
|
this.pnlFilters.Controls.Add(this.tbMarket);
|
|
this.pnlFilters.Controls.Add(this.lblMaster);
|
|
this.pnlFilters.Controls.Add(this.cbMaster);
|
|
this.pnlFilters.Controls.Add(this.lblErgebnis);
|
|
this.pnlFilters.Controls.Add(this.cbResult);
|
|
this.pnlFilters.Controls.Add(this.lblVon);
|
|
this.pnlFilters.Controls.Add(this.dtFrom);
|
|
this.pnlFilters.Controls.Add(this.lblBis);
|
|
this.pnlFilters.Controls.Add(this.dtTo);
|
|
this.pnlFilters.Controls.Add(this.btnReset);
|
|
this.pnlFilters.Dock = System.Windows.Forms.DockStyle.Top;
|
|
this.pnlFilters.Location = new System.Drawing.Point(0, 25);
|
|
this.pnlFilters.Name = "pnlFilters";
|
|
this.pnlFilters.Size = new System.Drawing.Size(1100, 34);
|
|
this.pnlFilters.TabIndex = 3;
|
|
//
|
|
// lblMarkt
|
|
//
|
|
this.lblMarkt.AutoSize = true;
|
|
this.lblMarkt.Location = new System.Drawing.Point(6, 9);
|
|
this.lblMarkt.Name = "lblMarkt";
|
|
this.lblMarkt.Size = new System.Drawing.Size(41, 15);
|
|
this.lblMarkt.Text = "Markt:";
|
|
//
|
|
// tbMarket
|
|
//
|
|
this.tbMarket.Location = new System.Drawing.Point(51, 6);
|
|
this.tbMarket.Name = "tbMarket";
|
|
this.tbMarket.PlaceholderText = "Suchtext …";
|
|
this.tbMarket.Size = new System.Drawing.Size(200, 23);
|
|
this.tbMarket.TabIndex = 0;
|
|
//
|
|
// lblMaster
|
|
//
|
|
this.lblMaster.AutoSize = true;
|
|
this.lblMaster.Location = new System.Drawing.Point(263, 9);
|
|
this.lblMaster.Name = "lblMaster";
|
|
this.lblMaster.Size = new System.Drawing.Size(48, 15);
|
|
this.lblMaster.Text = "Master:";
|
|
//
|
|
// cbMaster
|
|
//
|
|
this.cbMaster.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
this.cbMaster.Location = new System.Drawing.Point(315, 6);
|
|
this.cbMaster.Name = "cbMaster";
|
|
this.cbMaster.Size = new System.Drawing.Size(170, 23);
|
|
this.cbMaster.TabIndex = 1;
|
|
//
|
|
// lblErgebnis
|
|
//
|
|
this.lblErgebnis.AutoSize = true;
|
|
this.lblErgebnis.Location = new System.Drawing.Point(497, 9);
|
|
this.lblErgebnis.Name = "lblErgebnis";
|
|
this.lblErgebnis.Size = new System.Drawing.Size(58, 15);
|
|
this.lblErgebnis.Text = "Ergebnis:";
|
|
//
|
|
// cbResult
|
|
//
|
|
this.cbResult.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
this.cbResult.Items.AddRange(new object[] { "Alle", "Gewinner", "Verlierer" });
|
|
this.cbResult.Location = new System.Drawing.Point(559, 6);
|
|
this.cbResult.Name = "cbResult";
|
|
this.cbResult.Size = new System.Drawing.Size(110, 23);
|
|
this.cbResult.TabIndex = 2;
|
|
//
|
|
// lblVon
|
|
//
|
|
this.lblVon.AutoSize = true;
|
|
this.lblVon.Location = new System.Drawing.Point(681, 9);
|
|
this.lblVon.Name = "lblVon";
|
|
this.lblVon.Size = new System.Drawing.Size(31, 15);
|
|
this.lblVon.Text = "Von:";
|
|
//
|
|
// dtFrom
|
|
//
|
|
this.dtFrom.Checked = false;
|
|
this.dtFrom.Format = System.Windows.Forms.DateTimePickerFormat.Short;
|
|
this.dtFrom.Location = new System.Drawing.Point(714, 6);
|
|
this.dtFrom.Name = "dtFrom";
|
|
this.dtFrom.ShowCheckBox = true;
|
|
this.dtFrom.Size = new System.Drawing.Size(120, 23);
|
|
this.dtFrom.TabIndex = 3;
|
|
//
|
|
// lblBis
|
|
//
|
|
this.lblBis.AutoSize = true;
|
|
this.lblBis.Location = new System.Drawing.Point(840, 9);
|
|
this.lblBis.Name = "lblBis";
|
|
this.lblBis.Size = new System.Drawing.Size(26, 15);
|
|
this.lblBis.Text = "Bis:";
|
|
//
|
|
// dtTo
|
|
//
|
|
this.dtTo.Checked = false;
|
|
this.dtTo.Format = System.Windows.Forms.DateTimePickerFormat.Short;
|
|
this.dtTo.Location = new System.Drawing.Point(868, 6);
|
|
this.dtTo.Name = "dtTo";
|
|
this.dtTo.ShowCheckBox = true;
|
|
this.dtTo.Size = new System.Drawing.Size(120, 23);
|
|
this.dtTo.TabIndex = 4;
|
|
//
|
|
// btnReset
|
|
//
|
|
this.btnReset.Location = new System.Drawing.Point(994, 5);
|
|
this.btnReset.Name = "btnReset";
|
|
this.btnReset.Size = new System.Drawing.Size(90, 25);
|
|
this.btnReset.TabIndex = 5;
|
|
this.btnReset.Text = "Zurücksetzen";
|
|
this.btnReset.UseVisualStyleBackColor = true;
|
|
//
|
|
// ClosedTradesView
|
|
//
|
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
this.Controls.Add(this.dgvTrades);
|
|
this.Controls.Add(this.statusPanel);
|
|
this.Controls.Add(this.pnlFilters);
|
|
this.Controls.Add(this.toolbar);
|
|
this.Name = "ClosedTradesView";
|
|
this.Size = new System.Drawing.Size(1100, 600);
|
|
this.toolbar.ResumeLayout(false);
|
|
this.toolbar.PerformLayout();
|
|
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).EndInit();
|
|
this.statusPanel.ResumeLayout(false);
|
|
this.pnlFilters.ResumeLayout(false);
|
|
this.pnlFilters.PerformLayout();
|
|
this.ResumeLayout(false);
|
|
this.PerformLayout();
|
|
}
|
|
|
|
#endregion
|
|
|
|
private System.Windows.Forms.ToolStrip toolbar;
|
|
private System.Windows.Forms.ToolStripButton tsRefresh;
|
|
private System.Windows.Forms.DataGridView dgvTrades;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colTradeId;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colAccount;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colTrader;
|
|
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 colOpenedAt;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colClosedAt;
|
|
private System.Windows.Forms.Panel statusPanel;
|
|
private System.Windows.Forms.Label lblSummary;
|
|
private System.Windows.Forms.Panel pnlFilters;
|
|
private System.Windows.Forms.Label lblMarkt;
|
|
private System.Windows.Forms.TextBox tbMarket;
|
|
private System.Windows.Forms.Label lblMaster;
|
|
private System.Windows.Forms.ComboBox cbMaster;
|
|
private System.Windows.Forms.Label lblErgebnis;
|
|
private System.Windows.Forms.ComboBox cbResult;
|
|
private System.Windows.Forms.Label lblVon;
|
|
private System.Windows.Forms.DateTimePicker dtFrom;
|
|
private System.Windows.Forms.Label lblBis;
|
|
private System.Windows.Forms.DateTimePicker dtTo;
|
|
private System.Windows.Forms.Button btnReset;
|
|
}
|
|
}
|