private void myColorsComboBox_SelectedIndexChanged(object sender, EventArgs e) { string currentColor = myColorsComboBox.SelectedItem.ToString(); MyColors myColor = (MyColors)Enum.Parse(typeof(MyColors), currentColor); selectedValuesLabel.Text = myColor.ToString(); }
void _monitoring() { // --> Controllo se calcolare la percentuale sul bilancio if (MyCalcMode == CalcMode.Percentage) { BEfrom = Math.Round((FixedBalance / 100) * FixedBEfrom, 2); BE = Math.Round((FixedBalance / 100) * FixedBE, 2); } // --> Raccolgo tutte le operazioni su questo simbolo int nPositions = 0; double ttnp = 0.0; foreach (var Position in Positions) { if (!GlobalTarget && Position.SymbolName != SymbolName) { continue; } ttnp += Position.NetProfit; nPositions++; } // --> Se non ci sono trade da monitorare deattivo e basta if (nPositions < 1) { // --> Disattivo Activated = false; // --> Resetto il nuovo bilancio FixedBalance = Account.Balance; } // --> Se selezionato e se non ci sono trade, fermo il cBot if (AutoStop && nPositions < 1) { Stop(); } // --> Valorizzo l'attivazione se raggiunto if (!Activated && ((BEfrom > BE && ttnp >= BEfrom) || (BEfrom < BE && ttnp <= BEfrom))) { Activated = true; } // --> Stampo a video alcune informazioni string scope = (GlobalTarget) ? "all cross" : "the current cross"; string logica = (BEfrom == BE) ? "target" : (BEfrom > BE) ? "positive" : "negative"; string direction = (BEfrom > BE) ? "less" : "greater"; string netpt = String.Format("{0:0.00}", ttnp); string phrase = (Activated) ? string.Format("Activated, I will close all trades for\r\n{0} if net profit is {1} or equal {2}", scope, direction, BE) : string.Format("Relax, I'm monitoring {0} for\r\n{1} logic and waiting net profit reaches {2}", scope, logica, BEfrom); string[] items = { "MONEY BREAK EVEN\r\n", phrase, "\r\nNET PROFIT\r\n{0}" }; string info = string.Join("\r\n", items); info = string.Format(info, netpt); MyColors mycolor = (BEfrom == BE) ? Boxcolortarget : (BEfrom > BE) ? Boxcolorpositive : Boxcolornegative; if (Activated) { mycolor = Boxcoloractive; } Chart.DrawStaticText("BoxMBE", info, VAlign, HAlign, Color.FromName(mycolor.ToString("G"))); // --> Se attivato e se sono la soglia di BE chiudo tutto if ((Activated && ((BEfrom > BE && ttnp <= BE) || (BEfrom < BE && ttnp >= BE))) || (BEfrom == BE && ((BE >= 0 && ttnp >= BE) || (BE < 0 && ttnp <= BE)))) { // --> Chiudo tutti i trade foreach (var Position in Positions) { if (!GlobalTarget && Position.SymbolName != SymbolName) { continue; } ClosePositionAsync(Position); } // --> Chiudo tutti gli ordini pendenti se richiesto if (RemovePO) { foreach (var order in PendingOrders) { if (!GlobalTarget && order.SymbolName != SymbolName) { continue; } CancelPendingOrderAsync(order); } } // --> Resetto il flag Activated = false; } }
public ColorItem(MyColors color) { this.color = color.ToString(); }