/// <summary> /// Constructor /// </summary> public IndicatorDialog(int slotNumb, SlotTypes slotType, bool isSlotDefined) { _slot = slotNumb; SlotType = slotType; if (slotType == SlotTypes.Open) { _slotTitle = Language.T("Opening Point of the Position"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.OpenFilter) { _slotTitle = Language.T("Opening Logic Condition"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.Close) { _slotTitle = Language.T("Closing Point of the Position"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); } else { _slotTitle = Language.T("Closing Logic Condition"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); } TrvIndicators = new TreeView(); BtnAccept = new Button(); BtnHelp = new Button(); BtnDefault = new Button(); BtnCancel = new Button(); LblIndicatorInfo = new Label(); LblIndicatorWarning = new Label(); LblIndicator = new Label(); LblGroup = new Label(); CbxGroup = new ComboBox(); ListLabel = new Label[5]; ListParam = new ComboBox[5]; NumLabel = new Label[6]; NumParam = new NUD[6]; CheckParam = new CheckBox[2]; BackColor = LayoutColors.ColorFormBack; FormBorderStyle = FormBorderStyle.FixedDialog; Icon = Data.Icon; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; AcceptButton = BtnAccept; CancelButton = BtnCancel; Text = Language.T("Logic and Parameters of the Indicators"); // Panel TreeViewBase PnlTreeViewBase.Parent = this; PnlTreeViewBase.Padding = new Padding(Border, (int) PnlTreeViewBase.CaptionHeight, Border, Border); // TreeView trvIndicators TrvIndicators.Parent = PnlTreeViewBase; TrvIndicators.Dock = DockStyle.Fill; TrvIndicators.BackColor = LayoutColors.ColorControlBack; TrvIndicators.ForeColor = LayoutColors.ColorControlText; TrvIndicators.BorderStyle = BorderStyle.None; TrvIndicators.NodeMouseDoubleClick += TrvIndicatorsNodeMouseDoubleClick; TrvIndicators.KeyPress += TrvIndicatorsKeyPress; PnlParameters.Parent = this; // lblIndicatorInfo LblIndicatorInfo.Parent = PnlParameters; LblIndicatorInfo.Size = new Size(16, 16); LblIndicatorInfo.BackColor = Color.Transparent; LblIndicatorInfo.BackgroundImage = Resources.information; LblIndicatorInfo.Click += LblIndicatorInfoClick; LblIndicatorInfo.MouseEnter += Label_MouseEnter; LblIndicatorInfo.MouseLeave += Label_MouseLeave; // LAbel Indicator Warning LblIndicatorWarning.Parent = PnlParameters; LblIndicatorWarning.Size = new Size(16, 16); LblIndicatorWarning.BackColor = Color.Transparent; LblIndicatorWarning.BackgroundImage = Resources.warning; LblIndicatorWarning.Visible = false; LblIndicatorWarning.Click += LblIndicatorWarningClick; LblIndicatorWarning.MouseEnter += Label_MouseEnter; LblIndicatorWarning.MouseLeave += Label_MouseLeave; // Label Indicator LblIndicator.Parent = PnlParameters; LblIndicator.TextAlign = ContentAlignment.MiddleCenter; LblIndicator.Font = new Font(Font.FontFamily, 14, FontStyle.Bold); LblIndicator.ForeColor = LayoutColors.ColorSlotIndicatorText; LblIndicator.BackColor = Color.Transparent; // Label aLblList[0] ListLabel[0] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; // ComboBox aCbxList[0] ListParam[0] = new ComboBox {Parent = PnlParameters, DropDownStyle = ComboBoxStyle.DropDownList}; ListParam[0].SelectedIndexChanged += ParamChanged; // Logical Group LblGroup = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent, Text = Language.T("Group") }; CbxGroup = new ComboBox {Parent = PnlParameters}; if (slotType == SlotTypes.OpenFilter) CbxGroup.Items.AddRange(new object[] {"A", "B", "C", "D", "E", "F", "G", "H", "All"}); if (slotType == SlotTypes.CloseFilter) CbxGroup.Items.AddRange(new object[] {"a", "b", "c", "d", "e", "f", "g", "h", "all"}); CbxGroup.SelectedIndexChanged += GroupChanged; CbxGroup.DropDownStyle = ComboBoxStyle.DropDownList; _toolTip.SetToolTip(CbxGroup, Language.T("The logical group of the slot.")); // ListParams for (int i = 1; i < 5; i++) { ListLabel[i] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; ListParam[i] = new ComboBox {Parent = PnlParameters, Enabled = false}; ListParam[i].SelectedIndexChanged += ParamChanged; ListParam[i].DropDownStyle = ComboBoxStyle.DropDownList; } // NumParams for (int i = 0; i < 6; i++) { NumLabel[i] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.MiddleRight, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; NumParam[i] = new NUD {Parent = PnlParameters, TextAlign = HorizontalAlignment.Center, Enabled = false}; NumParam[i].ValueChanged += ParamChanged; } // CheckParams for (int i = 0; i < 2; i++) { CheckParam[i] = new CheckBox { Parent = PnlParameters, CheckAlign = ContentAlignment.MiddleLeft, TextAlign = ContentAlignment.MiddleLeft }; CheckParam[i].CheckedChanged += ParamChanged; CheckParam[i].ForeColor = LayoutColors.ColorControlText; CheckParam[i].BackColor = Color.Transparent; CheckParam[i].Enabled = false; } // Button Accept BtnAccept.Parent = this; BtnAccept.Text = Language.T("Accept"); BtnAccept.DialogResult = DialogResult.OK; BtnAccept.UseVisualStyleBackColor = true; // Button Default BtnDefault.Parent = this; BtnDefault.Text = Language.T("Default"); BtnDefault.Click += BtnDefaultClick; BtnDefault.UseVisualStyleBackColor = true; // Button Help BtnHelp.Parent = this; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelp_Click; BtnHelp.UseVisualStyleBackColor = true; // Button Cancel BtnCancel.Parent = this; BtnCancel.Text = Language.T("Cancel"); BtnCancel.DialogResult = DialogResult.Cancel; BtnCancel.UseVisualStyleBackColor = true; SetTreeViewIndicators(); // ComboBoxindicator index selection. if (isSlotDefined) { TreeNode[] atrn = TrvIndicators.Nodes.Find(Data.Strategy.Slot[_slot].IndParam.IndicatorName, true); TrvIndicators.SelectedNode = atrn[0]; UpdateFromIndicatorParam(Data.Strategy.Slot[_slot].IndParam); SetLogicalGroup(); CalculateIndicator(); } else { string sDefaultIndicator; if (slotType == SlotTypes.Open) sDefaultIndicator = "Bar Opening"; else if (slotType == SlotTypes.OpenFilter) sDefaultIndicator = "Accelerator Oscillator"; else if (slotType == SlotTypes.Close) sDefaultIndicator = "Bar Closing"; else sDefaultIndicator = "Accelerator Oscillator"; TreeNode[] atrn = TrvIndicators.Nodes.Find(sDefaultIndicator, true); TrvIndicators.SelectedNode = atrn[0]; TrvIndicatorsLoadIndicator(); } OppSignalBehaviour = Data.Strategy.OppSignalAction; if (slotType == SlotTypes.Close && Data.Strategy.CloseFilters > 0) for (int iSlot = Data.Strategy.CloseSlot + 1; iSlot < Data.Strategy.Slots; iSlot++) _closingConditions.Add(Data.Strategy.Slot[iSlot].Clone()); }
// --------------------------------------------------------------------------- /// <summary> /// Constructor /// </summary> public Indicator_Dialog(int slotNumb, SlotTypes slotType, bool isSlotDefined) { this.slot = slotNumb; this.slotType = slotType; this.isSlotDefined = isSlotDefined; if (slotType == SlotTypes.Open) { slotTitle = Language.T("Opening Point of the Position"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.OpenFilter) { slotTitle = Language.T("Opening Logic Condition"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.Close) { slotTitle = Language.T("Closing Point of the Position"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); } else { slotTitle = Language.T("Closing Logic Condition"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); } trvIndicators = new TreeView(); btnAccept = new Button(); btnHelp = new Button(); btnDefault = new Button(); btnCancel = new Button(); lblIndicatorInfo = new Label(); lblIndicatorWarning = new Label(); lblIndicator = new Label(); lblGroup = new Label(); cbxGroup = new ComboBox(); aLblList = new Label[5]; aCbxList = new ComboBox[5]; aLblNumeric = new Label[6]; aNudNumeric = new NUD[6]; aChbCheck = new CheckBox[2]; BackColor = LayoutColors.ColorFormBack; FormBorderStyle = FormBorderStyle.FixedDialog; Icon = Data.Icon; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; AcceptButton = btnAccept; CancelButton = btnCancel; Text = Language.T("Logic and Parameters of the Indicators"); // Panel TreeViewBase pnlTreeViewBase.Parent = this; pnlTreeViewBase.Padding = new Padding(border, (int)pnlTreeViewBase.CaptionHeight, border, border); // TreeView trvIndicators trvIndicators.Parent = pnlTreeViewBase; trvIndicators.Dock = DockStyle.Fill; trvIndicators.BackColor = LayoutColors.ColorControlBack; trvIndicators.ForeColor = LayoutColors.ColorControlText; trvIndicators.BorderStyle = BorderStyle.None; trvIndicators.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(TrvIndicators_NodeMouseDoubleClick); trvIndicators.KeyPress += new KeyPressEventHandler(TrvIndicators_KeyPress); pnlParameters.Parent = this; // lblIndicatorInfo lblIndicatorInfo.Parent = pnlParameters; lblIndicatorInfo.Size = new Size(16, 16); lblIndicatorInfo.BackColor = Color.Transparent; lblIndicatorInfo.BackgroundImage = Properties.Resources.information; lblIndicatorInfo.Click += new EventHandler(LblIndicatorInfo_Click); lblIndicatorInfo.MouseEnter += new EventHandler(Label_MouseEnter); lblIndicatorInfo.MouseLeave += new EventHandler(Label_MouseLeave); // LAbel Indicator Warning lblIndicatorWarning.Parent = pnlParameters; lblIndicatorWarning.Size = new Size(16, 16); lblIndicatorWarning.BackColor = Color.Transparent; lblIndicatorWarning.BackgroundImage = Properties.Resources.warning; lblIndicatorWarning.Visible = false; lblIndicatorWarning.Click += new EventHandler(LblIndicatorWarning_Click); lblIndicatorWarning.MouseEnter += new EventHandler(Label_MouseEnter); lblIndicatorWarning.MouseLeave += new EventHandler(Label_MouseLeave); // Label Indicator lblIndicator.Parent = pnlParameters; lblIndicator.TextAlign = ContentAlignment.MiddleCenter; lblIndicator.Font = new Font(Font.FontFamily, 14, FontStyle.Bold); lblIndicator.ForeColor = LayoutColors.ColorSlotIndicatorText; lblIndicator.BackColor = Color.Transparent; // Label aLblList[0] aLblList[0] = new Label(); aLblList[0].Parent = pnlParameters; aLblList[0].TextAlign = ContentAlignment.BottomCenter; aLblList[0].ForeColor = LayoutColors.ColorControlText; aLblList[0].BackColor = Color.Transparent; // ComboBox aCbxList[0] aCbxList[0] = new ComboBox(); aCbxList[0].Parent = pnlParameters; aCbxList[0].DropDownStyle = ComboBoxStyle.DropDownList; aCbxList[0].SelectedIndexChanged += new EventHandler(Param_Changed); // Logical Group lblGroup = new Label(); lblGroup.Parent = pnlParameters; lblGroup.TextAlign = ContentAlignment.BottomCenter; lblGroup.ForeColor = LayoutColors.ColorControlText; lblGroup.BackColor = Color.Transparent; lblGroup.Text = Language.T("Group"); cbxGroup = new ComboBox(); cbxGroup.Parent = pnlParameters; if(slotType == SlotTypes.OpenFilter) cbxGroup.Items.AddRange(new string[] {"A", "B", "C", "D", "E", "F", "G", "H", "All"}); if(slotType == SlotTypes.CloseFilter) cbxGroup.Items.AddRange(new string[] {"a", "b", "c", "d", "e", "f", "g", "h", "all"}); cbxGroup.SelectedIndexChanged += new EventHandler(Group_Changed); cbxGroup.DropDownStyle = ComboBoxStyle.DropDownList; toolTip.SetToolTip(cbxGroup, Language.T("The logical group of the slot.")); // ListParams for (int i = 1; i < 5; i++) { aLblList[i] = new Label(); aLblList[i].Parent = pnlParameters; aLblList[i].TextAlign = ContentAlignment.BottomCenter; aLblList[i].ForeColor = LayoutColors.ColorControlText; aLblList[i].BackColor = Color.Transparent; aCbxList[i] = new ComboBox(); aCbxList[i].Parent = pnlParameters; aCbxList[i].Enabled = false; aCbxList[i].SelectedIndexChanged += new EventHandler(Param_Changed); aCbxList[i].DropDownStyle = ComboBoxStyle.DropDownList; } // NumParams for (int i = 0; i < 6; i++) { aLblNumeric[i] = new Label(); aLblNumeric[i].Parent = pnlParameters; aLblNumeric[i].TextAlign = ContentAlignment.MiddleRight; aLblNumeric[i].ForeColor = LayoutColors.ColorControlText; aLblNumeric[i].BackColor = Color.Transparent; aNudNumeric[i] = new NUD(); aNudNumeric[i].Parent = pnlParameters; aNudNumeric[i].TextAlign = HorizontalAlignment.Center; aNudNumeric[i].Enabled = false; aNudNumeric[i].ValueChanged += new EventHandler(Param_Changed); } // CheckParams for (int i = 0; i < 2; i++) { aChbCheck[i] = new CheckBox(); aChbCheck[i].Parent = pnlParameters; aChbCheck[i].CheckAlign = ContentAlignment.MiddleLeft; aChbCheck[i].TextAlign = ContentAlignment.MiddleLeft; aChbCheck[i].CheckedChanged += new EventHandler(Param_Changed); aChbCheck[i].ForeColor = LayoutColors.ColorControlText; aChbCheck[i].BackColor = Color.Transparent; aChbCheck[i].Enabled = false; } // Button Accept btnAccept.Parent = this; btnAccept.Text = Language.T("Accept"); btnAccept.DialogResult = DialogResult.OK; btnAccept.Click += new EventHandler(BtnOk_Click); btnAccept.UseVisualStyleBackColor = true; // Button Default btnDefault.Parent = this; btnDefault.Text = Language.T("Default"); btnDefault.Click += new EventHandler(BtnDefault_Click); btnDefault.UseVisualStyleBackColor = true; // Button Help btnHelp.Parent = this; btnHelp.Text = Language.T("Help"); btnHelp.Click += new EventHandler(BtnHelp_Click); btnHelp.UseVisualStyleBackColor = true; // Button Cancel btnCancel.Parent = this; btnCancel.Text = Language.T("Cancel"); btnCancel.DialogResult = DialogResult.Cancel; btnCancel.UseVisualStyleBackColor = true; SetTreeViewIndicators(); // ComboBoxindicator index selection. if (isSlotDefined) { TreeNode [] atrn = trvIndicators.Nodes.Find(Data.Strategy.Slot[slot].IndParam.IndicatorName, true); trvIndicators.SelectedNode = atrn[0]; UpdateFromIndicatorParam(Data.Strategy.Slot[slot].IndParam); SetLogicalGroup(); CalculateIndicator(); } else { string sDefaultIndicator; if (slotType == SlotTypes.Open) sDefaultIndicator = "Bar Opening"; else if (slotType == SlotTypes.OpenFilter) sDefaultIndicator = "Accelerator Oscillator"; else if (slotType == SlotTypes.Close) sDefaultIndicator = "Bar Closing"; else sDefaultIndicator = "Accelerator Oscillator"; TreeNode[] atrn = trvIndicators.Nodes.Find(sDefaultIndicator, true); trvIndicators.SelectedNode = atrn[0]; TrvIndicatorsLoadIndicator(atrn[0]); } oppSignalBehaviour = Data.Strategy.OppSignalAction; if (slotType == SlotTypes.Close && Data.Strategy.CloseFilters > 0) for (int iSlot = Data.Strategy.CloseSlot + 1; iSlot < Data.Strategy.Slots; iSlot++) closingConditions.Add(Data.Strategy.Slot[iSlot].Clone()); return; }
/// <summary> /// Constructor /// </summary> public IndicatorDialog(int slotNumb, SlotTypes slotType, bool isSlotDefined) { _slot = slotNumb; SlotType = slotType; if (slotType == SlotTypes.Open) { _slotTitle = Language.T("Opening Point of the Position"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.OpenFilter) { _slotTitle = Language.T("Opening Logic Condition"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.Close) { _slotTitle = Language.T("Closing Point of the Position"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); } else { _slotTitle = Language.T("Closing Logic Condition"); PnlParameters = new FancyPanel(_slotTitle, LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); PnlTreeViewBase = new FancyPanel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); } TrvIndicators = new TreeView(); BtnAccept = new Button(); BtnHelp = new Button(); BtnDefault = new Button(); BtnCancel = new Button(); LblIndicatorInfo = new Label(); LblIndicatorWarning = new Label(); LblIndicator = new Label(); LblGroup = new Label(); CbxGroup = new ComboBox(); ListLabel = new Label[5]; ListParam = new ComboBox[5]; NumLabel = new Label[6]; NumParam = new NUD[6]; CheckParam = new CheckBox[2]; BackColor = LayoutColors.ColorFormBack; FormBorderStyle = FormBorderStyle.FixedDialog; Icon = Data.Icon; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; AcceptButton = BtnAccept; CancelButton = BtnCancel; Text = Language.T("Logic and Parameters of the Indicators"); // Panel TreeViewBase PnlTreeViewBase.Parent = this; PnlTreeViewBase.Padding = new Padding(Border, (int)PnlTreeViewBase.CaptionHeight, Border, Border); // TreeView trvIndicators TrvIndicators.Parent = PnlTreeViewBase; TrvIndicators.Dock = DockStyle.Fill; TrvIndicators.BackColor = LayoutColors.ColorControlBack; TrvIndicators.ForeColor = LayoutColors.ColorControlText; TrvIndicators.BorderStyle = BorderStyle.None; TrvIndicators.NodeMouseDoubleClick += TrvIndicatorsNodeMouseDoubleClick; TrvIndicators.KeyPress += TrvIndicatorsKeyPress; PnlParameters.Parent = this; // lblIndicatorInfo LblIndicatorInfo.Parent = PnlParameters; LblIndicatorInfo.Size = new Size(16, 16); LblIndicatorInfo.BackColor = Color.Transparent; LblIndicatorInfo.BackgroundImage = Resources.information; LblIndicatorInfo.Click += LblIndicatorInfoClick; LblIndicatorInfo.MouseEnter += Label_MouseEnter; LblIndicatorInfo.MouseLeave += Label_MouseLeave; // LAbel Indicator Warning LblIndicatorWarning.Parent = PnlParameters; LblIndicatorWarning.Size = new Size(16, 16); LblIndicatorWarning.BackColor = Color.Transparent; LblIndicatorWarning.BackgroundImage = Resources.warning; LblIndicatorWarning.Visible = false; LblIndicatorWarning.Click += LblIndicatorWarningClick; LblIndicatorWarning.MouseEnter += Label_MouseEnter; LblIndicatorWarning.MouseLeave += Label_MouseLeave; // Label Indicator LblIndicator.Parent = PnlParameters; LblIndicator.TextAlign = ContentAlignment.MiddleCenter; LblIndicator.Font = new Font(Font.FontFamily, 14, FontStyle.Bold); LblIndicator.ForeColor = LayoutColors.ColorSlotIndicatorText; LblIndicator.BackColor = Color.Transparent; // Label aLblList[0] ListLabel[0] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; // ComboBox aCbxList[0] ListParam[0] = new ComboBox { Parent = PnlParameters, DropDownStyle = ComboBoxStyle.DropDownList }; ListParam[0].SelectedIndexChanged += ParamChanged; // Logical Group LblGroup = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent, Text = Language.T("Group") }; CbxGroup = new ComboBox { Parent = PnlParameters }; if (slotType == SlotTypes.OpenFilter) { CbxGroup.Items.AddRange(new object[] { "A", "B", "C", "D", "E", "F", "G", "H", "All" }); } if (slotType == SlotTypes.CloseFilter) { CbxGroup.Items.AddRange(new object[] { "a", "b", "c", "d", "e", "f", "g", "h", "all" }); } CbxGroup.SelectedIndexChanged += GroupChanged; CbxGroup.DropDownStyle = ComboBoxStyle.DropDownList; _toolTip.SetToolTip(CbxGroup, Language.T("The logical group of the slot.")); // ListParams for (int i = 1; i < 5; i++) { ListLabel[i] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.BottomCenter, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; ListParam[i] = new ComboBox { Parent = PnlParameters, Enabled = false }; ListParam[i].SelectedIndexChanged += ParamChanged; ListParam[i].DropDownStyle = ComboBoxStyle.DropDownList; } // NumParams for (int i = 0; i < 6; i++) { NumLabel[i] = new Label { Parent = PnlParameters, TextAlign = ContentAlignment.MiddleRight, ForeColor = LayoutColors.ColorControlText, BackColor = Color.Transparent }; NumParam[i] = new NUD { Parent = PnlParameters, TextAlign = HorizontalAlignment.Center, Enabled = false }; NumParam[i].ValueChanged += ParamChanged; } // CheckParams for (int i = 0; i < 2; i++) { CheckParam[i] = new CheckBox { Parent = PnlParameters, CheckAlign = ContentAlignment.MiddleLeft, TextAlign = ContentAlignment.MiddleLeft }; CheckParam[i].CheckedChanged += ParamChanged; CheckParam[i].ForeColor = LayoutColors.ColorControlText; CheckParam[i].BackColor = Color.Transparent; CheckParam[i].Enabled = false; } // Button Accept BtnAccept.Parent = this; BtnAccept.Text = Language.T("Accept"); BtnAccept.DialogResult = DialogResult.OK; BtnAccept.UseVisualStyleBackColor = true; // Button Default BtnDefault.Parent = this; BtnDefault.Text = Language.T("Default"); BtnDefault.Click += BtnDefaultClick; BtnDefault.UseVisualStyleBackColor = true; // Button Help BtnHelp.Parent = this; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelp_Click; BtnHelp.UseVisualStyleBackColor = true; // Button Cancel BtnCancel.Parent = this; BtnCancel.Text = Language.T("Cancel"); BtnCancel.DialogResult = DialogResult.Cancel; BtnCancel.UseVisualStyleBackColor = true; SetTreeViewIndicators(); // ComboBoxindicator index selection. if (isSlotDefined) { TreeNode[] atrn = TrvIndicators.Nodes.Find(Data.Strategy.Slot[_slot].IndParam.IndicatorName, true); TrvIndicators.SelectedNode = atrn[0]; UpdateFromIndicatorParam(Data.Strategy.Slot[_slot].IndParam); SetLogicalGroup(); CalculateIndicator(); } else { string sDefaultIndicator; if (slotType == SlotTypes.Open) { sDefaultIndicator = "Bar Opening"; } else if (slotType == SlotTypes.OpenFilter) { sDefaultIndicator = "Accelerator Oscillator"; } else if (slotType == SlotTypes.Close) { sDefaultIndicator = "Bar Closing"; } else { sDefaultIndicator = "Accelerator Oscillator"; } TreeNode[] atrn = TrvIndicators.Nodes.Find(sDefaultIndicator, true); TrvIndicators.SelectedNode = atrn[0]; TrvIndicatorsLoadIndicator(); } OppSignalBehaviour = Data.Strategy.OppSignalAction; if (slotType == SlotTypes.Close && Data.Strategy.CloseFilters > 0) { for (int iSlot = Data.Strategy.CloseSlot + 1; iSlot < Data.Strategy.Slots; iSlot++) { _closingConditions.Add(Data.Strategy.Slot[iSlot].Clone()); } } }
// --------------------------------------------------------------------------- /// <summary> /// Constructor /// </summary> public Indicator_Dialog(int slotNumb, SlotTypes slotType, bool isSlotDefined) { this.slot = slotNumb; this.slotType = slotType; this.isSlotDefined = isSlotDefined; if (slotType == SlotTypes.Open) { slotTitle = Language.T("Opening Point of the Position"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpen, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.OpenFilter) { slotTitle = Language.T("Opening Logic Condition"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackOpenFilter, LayoutColors.ColorSlotCaptionText); } else if (slotType == SlotTypes.Close) { slotTitle = Language.T("Closing Point of the Position"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackClose, LayoutColors.ColorSlotCaptionText); } else { slotTitle = Language.T("Closing Logic Condition"); pnlParameters = new Fancy_Panel(slotTitle, LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); pnlTreeViewBase = new Fancy_Panel(Language.T("Indicators"), LayoutColors.ColorSlotCaptionBackCloseFilter, LayoutColors.ColorSlotCaptionText); } trvIndicators = new TreeView(); btnAccept = new Button(); btnHelp = new Button(); btnDefault = new Button(); btnCancel = new Button(); lblIndicatorInfo = new Label(); lblIndicatorWarning = new Label(); lblIndicator = new Label(); lblGroup = new Label(); cbxGroup = new ComboBox(); aLblList = new Label[5]; aCbxList = new ComboBox[5]; aLblNumeric = new Label[6]; aNudNumeric = new NUD[6]; aChbCheck = new CheckBox[2]; BackColor = LayoutColors.ColorFormBack; FormBorderStyle = FormBorderStyle.FixedDialog; Icon = Data.Icon; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; AcceptButton = btnAccept; CancelButton = btnCancel; Text = Language.T("Logic and Parameters of the Indicators"); // Panel TreeViewBase pnlTreeViewBase.Parent = this; pnlTreeViewBase.Padding = new Padding(border, (int)pnlTreeViewBase.CaptionHeight, border, border); // TreeView trvIndicators trvIndicators.Parent = pnlTreeViewBase; trvIndicators.Dock = DockStyle.Fill; trvIndicators.BackColor = LayoutColors.ColorControlBack; trvIndicators.ForeColor = LayoutColors.ColorControlText; trvIndicators.BorderStyle = BorderStyle.None; trvIndicators.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(TrvIndicators_NodeMouseDoubleClick); trvIndicators.KeyPress += new KeyPressEventHandler(TrvIndicators_KeyPress); pnlParameters.Parent = this; // lblIndicatorInfo lblIndicatorInfo.Parent = pnlParameters; lblIndicatorInfo.Size = new Size(16, 16); lblIndicatorInfo.BackColor = Color.Transparent; lblIndicatorInfo.BackgroundImage = Properties.Resources.information; lblIndicatorInfo.Click += new EventHandler(LblIndicatorInfo_Click); lblIndicatorInfo.MouseEnter += new EventHandler(Label_MouseEnter); lblIndicatorInfo.MouseLeave += new EventHandler(Label_MouseLeave); // LAbel Indicator Warning lblIndicatorWarning.Parent = pnlParameters; lblIndicatorWarning.Size = new Size(16, 16); lblIndicatorWarning.BackColor = Color.Transparent; lblIndicatorWarning.BackgroundImage = Properties.Resources.warning; lblIndicatorWarning.Visible = false; lblIndicatorWarning.Click += new EventHandler(LblIndicatorWarning_Click); lblIndicatorWarning.MouseEnter += new EventHandler(Label_MouseEnter); lblIndicatorWarning.MouseLeave += new EventHandler(Label_MouseLeave); // Label Indicator lblIndicator.Parent = pnlParameters; lblIndicator.TextAlign = ContentAlignment.MiddleCenter; lblIndicator.Font = new Font(Font.FontFamily, 14, FontStyle.Bold); lblIndicator.ForeColor = LayoutColors.ColorSlotIndicatorText; lblIndicator.BackColor = Color.Transparent; // Label aLblList[0] aLblList[0] = new Label(); aLblList[0].Parent = pnlParameters; aLblList[0].TextAlign = ContentAlignment.BottomCenter; aLblList[0].ForeColor = LayoutColors.ColorControlText; aLblList[0].BackColor = Color.Transparent; // ComboBox aCbxList[0] aCbxList[0] = new ComboBox(); aCbxList[0].Parent = pnlParameters; aCbxList[0].DropDownStyle = ComboBoxStyle.DropDownList; aCbxList[0].SelectedIndexChanged += new EventHandler(Param_Changed); // Logical Group lblGroup = new Label(); lblGroup.Parent = pnlParameters; lblGroup.TextAlign = ContentAlignment.BottomCenter; lblGroup.ForeColor = LayoutColors.ColorControlText; lblGroup.BackColor = Color.Transparent; lblGroup.Text = Language.T("Group"); cbxGroup = new ComboBox(); cbxGroup.Parent = pnlParameters; if (slotType == SlotTypes.OpenFilter) { cbxGroup.Items.AddRange(new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "All" }); } if (slotType == SlotTypes.CloseFilter) { cbxGroup.Items.AddRange(new string[] { "a", "b", "c", "d", "e", "f", "g", "h", "all" }); } cbxGroup.SelectedIndexChanged += new EventHandler(Group_Changed); cbxGroup.DropDownStyle = ComboBoxStyle.DropDownList; toolTip.SetToolTip(cbxGroup, Language.T("The logical group of the slot.")); // ListParams for (int i = 1; i < 5; i++) { aLblList[i] = new Label(); aLblList[i].Parent = pnlParameters; aLblList[i].TextAlign = ContentAlignment.BottomCenter; aLblList[i].ForeColor = LayoutColors.ColorControlText; aLblList[i].BackColor = Color.Transparent; aCbxList[i] = new ComboBox(); aCbxList[i].Parent = pnlParameters; aCbxList[i].Enabled = false; aCbxList[i].SelectedIndexChanged += new EventHandler(Param_Changed); aCbxList[i].DropDownStyle = ComboBoxStyle.DropDownList; } // NumParams for (int i = 0; i < 6; i++) { aLblNumeric[i] = new Label(); aLblNumeric[i].Parent = pnlParameters; aLblNumeric[i].TextAlign = ContentAlignment.MiddleRight; aLblNumeric[i].ForeColor = LayoutColors.ColorControlText; aLblNumeric[i].BackColor = Color.Transparent; aNudNumeric[i] = new NUD(); aNudNumeric[i].Parent = pnlParameters; aNudNumeric[i].TextAlign = HorizontalAlignment.Center; aNudNumeric[i].Enabled = false; aNudNumeric[i].ValueChanged += new EventHandler(Param_Changed); } // CheckParams for (int i = 0; i < 2; i++) { aChbCheck[i] = new CheckBox(); aChbCheck[i].Parent = pnlParameters; aChbCheck[i].CheckAlign = ContentAlignment.MiddleLeft; aChbCheck[i].TextAlign = ContentAlignment.MiddleLeft; aChbCheck[i].CheckedChanged += new EventHandler(Param_Changed); aChbCheck[i].ForeColor = LayoutColors.ColorControlText; aChbCheck[i].BackColor = Color.Transparent; aChbCheck[i].Enabled = false; } // Button Accept btnAccept.Parent = this; btnAccept.Text = Language.T("Accept"); btnAccept.DialogResult = DialogResult.OK; btnAccept.Click += new EventHandler(BtnOk_Click); btnAccept.UseVisualStyleBackColor = true; // Button Default btnDefault.Parent = this; btnDefault.Text = Language.T("Default"); btnDefault.Click += new EventHandler(BtnDefault_Click); btnDefault.UseVisualStyleBackColor = true; // Button Help btnHelp.Parent = this; btnHelp.Text = Language.T("Help"); btnHelp.Click += new EventHandler(BtnHelp_Click); btnHelp.UseVisualStyleBackColor = true; // Button Cancel btnCancel.Parent = this; btnCancel.Text = Language.T("Cancel"); btnCancel.DialogResult = DialogResult.Cancel; btnCancel.UseVisualStyleBackColor = true; SetTreeViewIndicators(); // ComboBoxindicator index selection. if (isSlotDefined) { TreeNode [] atrn = trvIndicators.Nodes.Find(Data.Strategy.Slot[slot].IndParam.IndicatorName, true); trvIndicators.SelectedNode = atrn[0]; UpdateFromIndicatorParam(Data.Strategy.Slot[slot].IndParam); SetLogicalGroup(); CalculateIndicator(); } else { string sDefaultIndicator; if (slotType == SlotTypes.Open) { sDefaultIndicator = "Bar Opening"; } else if (slotType == SlotTypes.OpenFilter) { sDefaultIndicator = "Accelerator Oscillator"; } else if (slotType == SlotTypes.Close) { sDefaultIndicator = "Bar Closing"; } else { sDefaultIndicator = "Accelerator Oscillator"; } TreeNode[] atrn = trvIndicators.Nodes.Find(sDefaultIndicator, true); trvIndicators.SelectedNode = atrn[0]; TrvIndicatorsLoadIndicator(atrn[0]); } oppSignalBehaviour = Data.Strategy.OppSignalAction; if (slotType == SlotTypes.Close && Data.Strategy.CloseFilters > 0) { for (int iSlot = Data.Strategy.CloseSlot + 1; iSlot < Data.Strategy.Slots; iSlot++) { closingConditions.Add(Data.Strategy.Slot[iSlot].Clone()); } } return; }