/// <summary> /// Initializes main controls of optimizer. /// </summary> private void InitializeControls() { pnlParamsBase = new Panel(); pnlParamsBase2 = new Panel(); pnlCaptions = new Panel(); pnlParams = new Panel(); pnlCriteriaBase = new FancyPanel(Language.T("Acceptance Criteria")); criteriaPanel = new ScrollFlowPanel(); criteriaControls = new CriteriaControls(); pnlSettings = new FancyPanel(Language.T("Settings")); scrollBar = new VScrollBar(); balanceChart = new SmallBalanceChart(); progressBar = new ProgressBar(); btnOptimize = new Button(); btnAccept = new Button(); btnCancel = new Button(); lblNoParams = new Label(); fontIndicator = new Font(Font.FontFamily, 11); colorText = LayoutColors.ColorControlText; // Panel Parameters Base pnlParamsBase.Parent = this; pnlParamsBase.BackColor = LayoutColors.ColorControlBack; pnlParamsBase.Paint += PnlParamsBasePaint; // Panel Captions pnlCaptions.Parent = pnlParamsBase; pnlCaptions.Dock = DockStyle.Top; pnlCaptions.BackColor = LayoutColors.ColorCaptionBack; pnlCaptions.ForeColor = LayoutColors.ColorCaptionText; pnlCaptions.Paint += PnlCaptionsPaint; // Panel Parameters Base 2 pnlParamsBase2.Parent = pnlParamsBase; pnlParamsBase2.BackColor = LayoutColors.ColorControlBack; pnlParamsBase2.Resize += PnlParamsBase2Resize; // ScrollBar scrollBar.Parent = pnlParamsBase2; scrollBar.Dock = DockStyle.Right; scrollBar.TabStop = true; scrollBar.ValueChanged += ScrollBarValueChanged; scrollBar.MouseWheel += ScrollBarMouseWheel; // Panel Parameters pnlParams.Parent = pnlParamsBase2; pnlParams.BackColor = LayoutColors.ColorControlBack; // Label No Parameters lblNoParams.Parent = pnlParams; lblNoParams.Text = Language.T("There are no parameters suitable for optimization."); lblNoParams.AutoSize = true; lblNoParams.Visible = false; // Panel Limitations pnlCriteriaBase.Parent = this; pnlCriteriaBase.Visible = false; // Panel Settings pnlSettings.Parent = this; pnlSettings.Visible = false; // Small Balance Chart balanceChart.Parent = this; balanceChart.BackColor = LayoutColors.ColorControlBack; balanceChart.SetChartData(); // ProgressBar progressBar.Parent = this; progressBar.Minimum = 1; progressBar.Maximum = 100; progressBar.Step = 1; // Button Optimize btnOptimize.Parent = this; btnOptimize.Name = "btnOptimize"; btnOptimize.Text = Language.T("Optimize"); btnOptimize.TabIndex = 0; btnOptimize.Click += BtnOptimizeClick; btnOptimize.UseVisualStyleBackColor = true; // Button Accept btnAccept.Parent = this; btnAccept.Name = "btnAccept"; btnAccept.Text = Language.T("Accept"); btnAccept.TabIndex = 1; btnAccept.Enabled = false; btnAccept.DialogResult = DialogResult.OK; btnAccept.UseVisualStyleBackColor = true; // Button Cancel btnCancel.Parent = this; btnCancel.Text = Language.T("Cancel"); btnCancel.TabIndex = 2; btnCancel.DialogResult = DialogResult.Cancel; btnCancel.UseVisualStyleBackColor = true; // BackGroundWorker bgWorker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; bgWorker.DoWork += BgWorkerDoWork; bgWorker.ProgressChanged += BgWorkerProgressChanged; bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Constructor /// </summary> public JForexImport() { LblIntro = new Label(); TxbDataDirectory = new TextBox(); BtnBrowse = new Button(); PnlSettings = new FancyPanel(); PnlInfoBase = new FancyPanel(Language.T("Imported Files")); TbxInfo = new TextBox(); BtnHelp = new Button(); BtnClose = new Button(); BtnImport = new Button(); ProgressBar = new ProgressBar(); LblMarketClose = new Label(); LblMarketOpen = new Label(); NUDMarketClose = new NumericUpDown(); NUDMarketOpen = new NumericUpDown(); _colorText = LayoutColors.ColorControlText; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; AcceptButton = BtnImport; CancelButton = BtnClose; Text = Language.T("JForex Import"); // Label Intro LblIntro.Parent = PnlSettings; LblIntro.ForeColor = _colorText; LblIntro.BackColor = Color.Transparent; LblIntro.AutoSize = true; LblIntro.Text = Language.T("Directory containing JForex data files:"); // Data Directory TxbDataDirectory.Parent = PnlSettings; TxbDataDirectory.BackColor = LayoutColors.ColorControlBack; TxbDataDirectory.ForeColor = _colorText; TxbDataDirectory.Text = Configs.JForexDataPath; // Button Browse BtnBrowse.Parent = PnlSettings; BtnBrowse.Name = "Browse"; BtnBrowse.Text = Language.T("Browse"); BtnBrowse.Click += BtnBrowseClick; BtnBrowse.UseVisualStyleBackColor = true; // Label Market Close LblMarketClose.Parent = PnlSettings; LblMarketClose.ForeColor = _colorText; LblMarketClose.BackColor = Color.Transparent; LblMarketClose.AutoSize = true; LblMarketClose.Text = Language.T("Market closing hour on Friday:"); // Label Market Open LblMarketOpen.Parent = PnlSettings; LblMarketOpen.ForeColor = _colorText; LblMarketOpen.BackColor = Color.Transparent; LblMarketOpen.AutoSize = true; LblMarketOpen.Text = Language.T("Market opening hour on Sunday:"); // NUDMarketClose NUDMarketClose.BeginInit(); NUDMarketClose.Parent = PnlSettings; NUDMarketClose.TextAlign = HorizontalAlignment.Center; NUDMarketClose.Minimum = 0; NUDMarketClose.Maximum = 24; NUDMarketClose.Increment = 1; NUDMarketClose.Value = Configs.MarketClosingHour; NUDMarketClose.EndInit(); // NUDMarketOpen NUDMarketOpen.BeginInit(); NUDMarketOpen.Parent = PnlSettings; NUDMarketOpen.TextAlign = HorizontalAlignment.Center; NUDMarketOpen.Minimum = 0; NUDMarketOpen.Maximum = 24; NUDMarketOpen.Increment = 1; NUDMarketOpen.Value = Configs.MarketOpeningHour; NUDMarketOpen.EndInit(); // pnlSettings PnlSettings.Parent = this; // PnlInfoBase PnlInfoBase.Parent = this; PnlInfoBase.Padding = new Padding(4, (int) PnlInfoBase.CaptionHeight, 2, 2); // TbxInfo TbxInfo.Parent = PnlInfoBase; TbxInfo.BorderStyle = BorderStyle.None; TbxInfo.Dock = DockStyle.Fill; TbxInfo.BackColor = LayoutColors.ColorControlBack; TbxInfo.ForeColor = LayoutColors.ColorControlText; TbxInfo.Multiline = true; TbxInfo.AcceptsReturn = true; TbxInfo.AcceptsTab = true; TbxInfo.ScrollBars = ScrollBars.Vertical; // ProgressBar ProgressBar.Parent = this; // Button Help BtnHelp.Parent = this; BtnHelp.Name = "Help"; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelpClick; BtnHelp.UseVisualStyleBackColor = true; // Button Close BtnClose.Parent = this; BtnClose.Text = Language.T("Close"); BtnClose.DialogResult = DialogResult.Cancel; BtnClose.UseVisualStyleBackColor = true; // Button Import BtnImport.Parent = this; BtnImport.Name = "Import"; BtnImport.Text = Language.T("Import"); BtnImport.Click += BtnImportClick; BtnImport.UseVisualStyleBackColor = true; // BackGroundWorker _bgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; _bgWorker.DoWork += BgWorkerDoWork; _bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Constructor. /// </summary> public TrueForexTickDataImport() { outFolder = Configs.TrueFxImportDestFolder; LblIntro = new Label(); TxbFileName = new TextBox(); BtnBrowse = new Button(); LblMinBars = new Label(); NudMinBars = new NumericUpDown(); PnlSettings = new FancyPanel(); PnlImportInfo = new FancyPanel(Language.T("Imported Data")); TbxInfo = new TextBox(); LblDestFolder = new Label(); TxbDestFolder = new TextBox(); BtnDestFolder = new Button(); BtnHelp = new Button(); BtnClose = new Button(); BtnImport = new Button(); ProgressBar = new ProgressBar(); MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; AcceptButton = BtnImport; CancelButton = BtnClose; Text = Language.T("TrueFX Import"); // Label Intro LblIntro.Parent = PnlSettings; LblIntro.ForeColor = LayoutColors.ColorControlText; LblIntro.BackColor = Color.Transparent; LblIntro.AutoSize = true; LblIntro.Text = Language.T("Select TrueFX source folder") + ":"; // File Name TxbFileName.Parent = PnlSettings; TxbFileName.BackColor = LayoutColors.ColorControlBack; TxbFileName.ForeColor = LayoutColors.ColorControlText; TxbFileName.Text = string.Empty; // Button Browse BtnBrowse.Parent = PnlSettings; BtnBrowse.Name = "Browse"; BtnBrowse.Text = Language.T("Browse"); BtnBrowse.Click += BtnBrowseClick; BtnBrowse.UseVisualStyleBackColor = true; LblMinBars.Parent = PnlSettings; LblMinBars.ForeColor = LayoutColors.ColorControlText; LblMinBars.BackColor = Color.Transparent; LblMinBars.AutoSize = true; LblMinBars.Text = Language.T("Minimum bars in bar files") + ":"; // Minimum Bars NudMinBars.Parent = PnlSettings; NudMinBars.BeginInit(); NudMinBars.Minimum = 0; NudMinBars.Maximum = int.MaxValue; NudMinBars.Value = Configs.MinBarsInBarFile; NudMinBars.EndInit(); // LblDestFolder LblDestFolder.Parent = PnlSettings; LblDestFolder.ForeColor = LayoutColors.ColorControlText; LblDestFolder.BackColor = Color.Transparent; LblDestFolder.AutoSize = true; LblDestFolder.Text = Language.T("Select a destination folder") + ":"; // TxbDestFolder TxbDestFolder.Parent = PnlSettings; TxbDestFolder.BackColor = LayoutColors.ColorControlBack; TxbDestFolder.ForeColor = LayoutColors.ColorControlText; TxbDestFolder.Text = String.IsNullOrEmpty(Configs.TrueFxImportDestFolder) ? Data.OfflineDataDir : Configs.TrueFxImportDestFolder; // BtnDestFolder BtnDestFolder.Parent = PnlSettings; BtnDestFolder.Name = "BtnDestFolder"; BtnDestFolder.Text = Language.T("Browse"); BtnDestFolder.Click += BtnDestFolderClick; BtnDestFolder.UseVisualStyleBackColor = true; // PnlSettings PnlSettings.Parent = this; // PnlInfoBase PnlImportInfo.Parent = this; PnlImportInfo.Padding = new Padding(4, (int) PnlImportInfo.CaptionHeight, 2, 2); // TbxInfo TbxInfo.Parent = PnlImportInfo; TbxInfo.BorderStyle = BorderStyle.None; TbxInfo.Dock = DockStyle.Fill; TbxInfo.BackColor = LayoutColors.ColorControlBack; TbxInfo.ForeColor = LayoutColors.ColorControlText; TbxInfo.Multiline = true; TbxInfo.AcceptsReturn = true; TbxInfo.AcceptsTab = true; TbxInfo.ScrollBars = ScrollBars.Vertical; // ProgressBar ProgressBar.Parent = this; // Button Help BtnHelp.Parent = this; BtnHelp.Name = "Help"; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelpClick; BtnHelp.UseVisualStyleBackColor = true; // Button Close BtnClose.Parent = this; BtnClose.Text = Language.T("Close"); BtnClose.DialogResult = DialogResult.Cancel; BtnClose.UseVisualStyleBackColor = true; // Button Import BtnImport.Parent = this; BtnImport.Name = "Import"; BtnImport.Text = Language.T("Import"); BtnImport.Click += BtnImportClick; BtnImport.UseVisualStyleBackColor = true; // BackGroundWorker bgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; bgWorker.DoWork += BgWorkerDoWork; bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Constructor /// </summary> public Generator() { GeneratedDescription = string.Empty; strategyBest = Data.Strategy.Clone(); bestValue = isOOS ? Backtester.Balance(barOOS) : Backtester.NetBalance; isGenerating = false; isStartegyChanged = false; indicatorBlackList = new List<string>(); colorText = LayoutColors.ColorControlText; toolStrip = new ToolStrip(); strategyField = new StrategyLayout(strategyBest); pnlCommon = new FancyPanel(Language.T("Common")); pnlCriteriaBase = new FancyPanel(Language.T("Acceptance Criteria")); criteriaPanel = new ScrollFlowPanel(); criteriaControls = new CriteriaControls(); pnlSettings = new FancyPanel(Language.T("Settings")); pnlSorting = new FancyPanel(Language.T("Custom Sorting")); pnlTop10 = new FancyPanel(Language.T("Top 10")); pnlIndicators = new FancyPanel(Language.T("Indicators")); balanceChart = new SmallBalanceChart(); infpnlAccountStatistics = new InfoPanel(); progressBar = new ProgressBar(); lblCalcStrInfo = new Label(); lblCalcStrNumb = new Label(); lblBenchmarkInfo = new Label(); lblBenchmarkNumb = new Label(); btnAccept = new Button(); btnGenerate = new Button(); btnCancel = new Button(); chbGenerateNewStrategy = new CheckBox(); chbPreserveSameDirAction = new CheckBox(); chbPreserveOppDirAction = new CheckBox(); chbPreservePermSL = new CheckBox(); chbPreservePermTP = new CheckBox(); chbPreserveBreakEven = new CheckBox(); chbInitialOptimization = new CheckBox(); nudWorkingMinutes = new NumericUpDown(); chbWorkingMinutes = new CheckBox(); MaximizeBox = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; BackColor = LayoutColors.ColorFormBack; AcceptButton = btnGenerate; Text = Language.T("Strategy Generator") + " - " + Data.Symbol + " " + Data.PeriodString + ", " + Data.Bars + " " + Language.T("bars"); FormClosing += GeneratorFormClosing; // Tool Strip toolStrip.Parent = this; toolStrip.Dock = DockStyle.Top; toolStrip.AutoSize = true; // Creates a Strategy Layout strategyField.Parent = this; strategyField.ShowAddSlotButtons = false; strategyField.ShowRemoveSlotButtons = false; strategyField.ShowPadlockImg = true; strategyField.SlotPropertiesTipText = Language.T("Lock or unlock the slot."); strategyField.SlotToolTipText = Language.T("Lock, link, or unlock the slot."); pnlCommon.Parent = this; pnlCriteriaBase.Parent = this; pnlSettings.Parent = this; pnlSorting.Parent = this; pnlTop10.Parent = this; pnlIndicators.Parent = this; // Small Balance Chart balanceChart.Parent = this; balanceChart.BackColor = LayoutColors.ColorControlBack; balanceChart.Visible = true; balanceChart.Cursor = Cursors.Hand; balanceChart.IsContextButtonVisible = true; balanceChart.PopUpContextMenu.Items.AddRange(GetBalanceChartContextMenuItems()); balanceChart.Click += AccountOutputClick; balanceChart.DoubleClick += AccountOutputClick; toolTip.SetToolTip(balanceChart, Language.T("Show account statistics.")); balanceChart.SetChartData(); // Info Panel Account Statistics infpnlAccountStatistics.Parent = this; infpnlAccountStatistics.Visible = false; infpnlAccountStatistics.Cursor = Cursors.Hand; infpnlAccountStatistics.IsContextButtonVisible = true; infpnlAccountStatistics.PopUpContextMenu.Items.AddRange(GetInfoPanelContextMenuItems()); infpnlAccountStatistics.Click += AccountOutputClick; infpnlAccountStatistics.DoubleClick += AccountOutputClick; toolTip.SetToolTip(infpnlAccountStatistics, Language.T("Show account chart.")); // ProgressBar progressBar.Parent = this; progressBar.Minimum = 1; progressBar.Maximum = 100; progressBar.Step = 1; //Button Generate btnGenerate.Parent = this; btnGenerate.Name = "Generate"; btnGenerate.Text = Language.T("Generate"); btnGenerate.Click += BtnGenerateClick; btnGenerate.UseVisualStyleBackColor = true; //Button Accept btnAccept.Parent = this; btnAccept.Name = "Accept"; btnAccept.Text = Language.T("Accept"); btnAccept.Enabled = false; btnAccept.DialogResult = DialogResult.OK; btnAccept.UseVisualStyleBackColor = true; //Button Cancel btnCancel.Parent = this; btnCancel.Text = Language.T("Cancel"); btnCancel.DialogResult = DialogResult.Cancel; btnCancel.UseVisualStyleBackColor = true; // BackgroundWorker bgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; bgWorker.DoWork += BgWorkerDoWork; bgWorker.ProgressChanged += BgWorkerProgressChanged; bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; // Apply a Cryptographic Random Seed var rng = new RNGCryptoServiceProvider(); var rndBytes = new byte[4]; rng.GetBytes(rndBytes); int rand = BitConverter.ToInt32(rndBytes, 0); random = new Random(rand); SetButtonsStrategy(); SetButtonsGenerator(); SetPanelCommon(); SetCriteriaPanel(); SetPanelSettings(); SetPanelSorting(); SetPanelTop10(); SetPanelIndicators(); LoadOptions(); SetCustomSortingUI(); SetStrategyDescriptionButton(); chbHideFsb.CheckedChanged += HideFSBClick; if (Data.AutostartGenerator) BtnGenerateClick(this, new EventArgs()); }
/// <summary> /// Constructor /// </summary> public JForexImport() { LblIntro = new Label(); TxbDataDirectory = new TextBox(); BtnBrowse = new Button(); PnlSettings = new FancyPanel(); PnlInfoBase = new FancyPanel(Language.T("Imported Files")); TbxInfo = new TextBox(); BtnHelp = new Button(); BtnClose = new Button(); BtnImport = new Button(); ProgressBar = new ProgressBar(); LblMarketClose = new Label(); LblMarketOpen = new Label(); NUDMarketClose = new NumericUpDown(); NUDMarketOpen = new NumericUpDown(); LblDestFolder = new Label(); TxbDestFolder = new TextBox(); BtnDestFolder = new Button(); _colorText = LayoutColors.ColorControlText; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; AcceptButton = BtnImport; CancelButton = BtnClose; Text = Language.T("JForex Import"); // Label Intro LblIntro.Parent = PnlSettings; LblIntro.ForeColor = _colorText; LblIntro.BackColor = Color.Transparent; LblIntro.AutoSize = true; LblIntro.Text = Language.T("Directory containing JForex data files:"); // Data Directory TxbDataDirectory.Parent = PnlSettings; TxbDataDirectory.BackColor = LayoutColors.ColorControlBack; TxbDataDirectory.ForeColor = _colorText; TxbDataDirectory.Text = Configs.JForexDataPath; // Button Browse BtnBrowse.Parent = PnlSettings; BtnBrowse.Name = "Browse"; BtnBrowse.Text = Language.T("Browse"); BtnBrowse.Click += BtnBrowseClick; BtnBrowse.UseVisualStyleBackColor = true; // Label Market Close LblMarketClose.Parent = PnlSettings; LblMarketClose.ForeColor = _colorText; LblMarketClose.BackColor = Color.Transparent; LblMarketClose.AutoSize = true; LblMarketClose.Text = Language.T("Market closing hour on Friday:"); // Label Market Open LblMarketOpen.Parent = PnlSettings; LblMarketOpen.ForeColor = _colorText; LblMarketOpen.BackColor = Color.Transparent; LblMarketOpen.AutoSize = true; LblMarketOpen.Text = Language.T("Market opening hour on Sunday:"); // NUDMarketClose NUDMarketClose.BeginInit(); NUDMarketClose.Parent = PnlSettings; NUDMarketClose.TextAlign = HorizontalAlignment.Center; NUDMarketClose.Minimum = 0; NUDMarketClose.Maximum = 24; NUDMarketClose.Increment = 1; NUDMarketClose.Value = Configs.MarketClosingHour; NUDMarketClose.EndInit(); // NUDMarketOpen NUDMarketOpen.BeginInit(); NUDMarketOpen.Parent = PnlSettings; NUDMarketOpen.TextAlign = HorizontalAlignment.Center; NUDMarketOpen.Minimum = 0; NUDMarketOpen.Maximum = 24; NUDMarketOpen.Increment = 1; NUDMarketOpen.Value = Configs.MarketOpeningHour; NUDMarketOpen.EndInit(); // LblDestFolder LblDestFolder.Parent = PnlSettings; LblDestFolder.ForeColor = LayoutColors.ColorControlText; LblDestFolder.BackColor = Color.Transparent; LblDestFolder.AutoSize = true; LblDestFolder.Text = Language.T("Select a destination folder") + ":"; // TxbDestFolder TxbDestFolder.Parent = PnlSettings; TxbDestFolder.BackColor = LayoutColors.ColorControlBack; TxbDestFolder.ForeColor = LayoutColors.ColorControlText; TxbDestFolder.Text = String.IsNullOrEmpty(Configs.JForexImportDestFolder) ? Data.OfflineDataDir : Configs.JForexImportDestFolder; // BtnDestFolder BtnDestFolder.Parent = PnlSettings; BtnDestFolder.Name = "BtnDestFolder"; BtnDestFolder.Text = Language.T("Browse"); BtnDestFolder.Click += BtnDestFolderClick; BtnDestFolder.UseVisualStyleBackColor = true; // pnlSettings PnlSettings.Parent = this; // PnlInfoBase PnlInfoBase.Parent = this; PnlInfoBase.Padding = new Padding(4, (int)PnlInfoBase.CaptionHeight, 2, 2); // TbxInfo TbxInfo.Parent = PnlInfoBase; TbxInfo.BorderStyle = BorderStyle.None; TbxInfo.Dock = DockStyle.Fill; TbxInfo.BackColor = LayoutColors.ColorControlBack; TbxInfo.ForeColor = LayoutColors.ColorControlText; TbxInfo.Multiline = true; TbxInfo.AcceptsReturn = true; TbxInfo.AcceptsTab = true; TbxInfo.ScrollBars = ScrollBars.Vertical; // ProgressBar ProgressBar.Parent = this; // Button Help BtnHelp.Parent = this; BtnHelp.Name = "Help"; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelpClick; BtnHelp.UseVisualStyleBackColor = true; // Button Close BtnClose.Parent = this; BtnClose.Text = Language.T("Close"); BtnClose.DialogResult = DialogResult.Cancel; BtnClose.UseVisualStyleBackColor = true; // Button Import BtnImport.Parent = this; BtnImport.Name = "Import"; BtnImport.Text = Language.T("Import"); BtnImport.Click += BtnImportClick; BtnImport.UseVisualStyleBackColor = true; // BackGroundWorker _bgWorker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; _bgWorker.DoWork += BgWorkerDoWork; _bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Constructor. /// </summary> public OandaTickDataImport() { LblIntro = new Label(); TxbFileName = new TextBox(); BtnBrowse = new Button(); LblSymbol = new Label(); TxbSymbol = new TextBox(); LblMinBars = new Label(); NudMinBars = new NumericUpDown(); PnlSettings = new FancyPanel(); PnlImportInfo = new FancyPanel(Language.T("Imported Data")); TbxInfo = new TextBox(); LblDestFolder = new Label(); TxbDestFolder = new TextBox(); BtnDestFolder = new Button(); BtnHelp = new Button(); BtnClose = new Button(); BtnImport = new Button(); ProgressBar = new ProgressBar(); MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; AcceptButton = BtnImport; CancelButton = BtnClose; Text = Language.T("Oanda Import"); // Label Intro LblIntro.Parent = PnlSettings; LblIntro.ForeColor = LayoutColors.ColorControlText; LblIntro.BackColor = Color.Transparent; LblIntro.AutoSize = true; LblIntro.Text = Language.T("Select an Oanda file for import") + ":"; // File Name TxbFileName.Parent = PnlSettings; TxbFileName.BackColor = LayoutColors.ColorControlBack; TxbFileName.ForeColor = LayoutColors.ColorControlText; TxbFileName.Text = string.Empty; // Button Browse BtnBrowse.Parent = PnlSettings; BtnBrowse.Name = "Browse"; BtnBrowse.Text = Language.T("Browse"); BtnBrowse.Click += BtnBrowseClick; BtnBrowse.UseVisualStyleBackColor = true; // Label Symbol LblSymbol.Parent = PnlSettings; LblSymbol.ForeColor = LayoutColors.ColorControlText; LblSymbol.BackColor = Color.Transparent; LblSymbol.AutoSize = true; LblSymbol.Text = Language.T("Enter Symbol") + ":"; // Symbol TxbSymbol.Parent = PnlSettings; TxbSymbol.BackColor = LayoutColors.ColorControlBack; TxbSymbol.ForeColor = LayoutColors.ColorControlText; TxbSymbol.Text = string.Empty; // Label Symbol LblMinBars.Parent = PnlSettings; LblMinBars.ForeColor = LayoutColors.ColorControlText; LblMinBars.BackColor = Color.Transparent; LblMinBars.AutoSize = true; LblMinBars.Text = Language.T("Minimum bars in bar files") + ":"; // Minimum Bars NudMinBars.Parent = PnlSettings; NudMinBars.BeginInit(); NudMinBars.Minimum = 0; NudMinBars.Maximum = int.MaxValue; NudMinBars.Value = Configs.MinBarsInBarFile; NudMinBars.EndInit(); // LblDestFolder LblDestFolder.Parent = PnlSettings; LblDestFolder.ForeColor = LayoutColors.ColorControlText; LblDestFolder.BackColor = Color.Transparent; LblDestFolder.AutoSize = true; LblDestFolder.Text = Language.T("Select a destination folder") + ":"; // TxbDestFolder TxbDestFolder.Parent = PnlSettings; TxbDestFolder.BackColor = LayoutColors.ColorControlBack; TxbDestFolder.ForeColor = LayoutColors.ColorControlText; TxbDestFolder.Text = String.IsNullOrEmpty(Configs.OandaImportDestFolder) ? Data.OfflineDataDir : Configs.OandaImportDestFolder; // BtnDestFolder BtnDestFolder.Parent = PnlSettings; BtnDestFolder.Name = "BtnDestFolder"; BtnDestFolder.Text = Language.T("Browse"); BtnDestFolder.Click += BtnDestFolderClick; BtnDestFolder.UseVisualStyleBackColor = true; // PnlSettings PnlSettings.Parent = this; // PnlInfoBase PnlImportInfo.Parent = this; PnlImportInfo.Padding = new Padding(4, (int)PnlImportInfo.CaptionHeight, 2, 2); // TbxInfo TbxInfo.Parent = PnlImportInfo; TbxInfo.BorderStyle = BorderStyle.None; TbxInfo.Dock = DockStyle.Fill; TbxInfo.BackColor = LayoutColors.ColorControlBack; TbxInfo.ForeColor = LayoutColors.ColorControlText; TbxInfo.Multiline = true; TbxInfo.AcceptsReturn = true; TbxInfo.AcceptsTab = true; TbxInfo.ScrollBars = ScrollBars.Vertical; // ProgressBar ProgressBar.Parent = this; // Button Help BtnHelp.Parent = this; BtnHelp.Name = "Help"; BtnHelp.Text = Language.T("Help"); BtnHelp.Click += BtnHelpClick; BtnHelp.UseVisualStyleBackColor = true; // Button Close BtnClose.Parent = this; BtnClose.Text = Language.T("Close"); BtnClose.DialogResult = DialogResult.Cancel; BtnClose.UseVisualStyleBackColor = true; // Button Import BtnImport.Parent = this; BtnImport.Name = "Import"; BtnImport.Text = Language.T("Import"); BtnImport.Click += BtnImportClick; BtnImport.UseVisualStyleBackColor = true; // BackGroundWorker _bgWorker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; _bgWorker.DoWork += BgWorkerDoWork; _bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Initializes main controls of optimizer. /// </summary> private void InitializeControls() { PnlParamsBase = new Panel(); PnlParamsBase2 = new Panel(); PnlCaptions = new Panel(); PnlParams = new Panel(); PnlLimitations = new FancyPanel(Language.T("Limitations")); PnlSettings = new FancyPanel(Language.T("Settings")); ScrollBar = new VScrollBar(); BalanceChart = new SmallBalanceChart(); ProgressBar = new ProgressBar(); BtnOptimize = new Button(); BtnAccept = new Button(); BtnCancel = new Button(); LblNoParams = new Label(); _fontIndicator = new Font(Font.FontFamily, 11); _colorText = LayoutColors.ColorControlText; // Panel Parameters Base PnlParamsBase.Parent = this; PnlParamsBase.BackColor = LayoutColors.ColorControlBack; PnlParamsBase.Paint += PnlParamsBasePaint; // Panel Captions PnlCaptions.Parent = PnlParamsBase; PnlCaptions.Dock = DockStyle.Top; PnlCaptions.BackColor = LayoutColors.ColorCaptionBack; PnlCaptions.ForeColor = LayoutColors.ColorCaptionText; PnlCaptions.Paint += PnlCaptionsPaint; // Panel Parameters Base 2 PnlParamsBase2.Parent = PnlParamsBase; PnlParamsBase2.BackColor = LayoutColors.ColorControlBack; PnlParamsBase2.Resize += PnlParamsBase2Resize; // ScrollBar ScrollBar.Parent = PnlParamsBase2; ScrollBar.Dock = DockStyle.Right; ScrollBar.TabStop = true; ScrollBar.ValueChanged += ScrollBarValueChanged; ScrollBar.MouseWheel += ScrollBarMouseWheel; // Panel Parameters PnlParams.Parent = PnlParamsBase2; PnlParams.BackColor = LayoutColors.ColorControlBack; // Label No Parameters LblNoParams.Parent = PnlParams; LblNoParams.Text = Language.T("There are no parameters suitable for optimization."); LblNoParams.AutoSize = true; LblNoParams.Visible = false; // Panel Limitations PnlLimitations.Parent = this; PnlLimitations.Visible = false; // Panel Settings PnlSettings.Parent = this; PnlSettings.Visible = false; // Small Balance Chart BalanceChart.Parent = this; BalanceChart.BackColor = LayoutColors.ColorControlBack; BalanceChart.SetChartData(); // ProgressBar ProgressBar.Parent = this; ProgressBar.Minimum = 1; ProgressBar.Maximum = 100; ProgressBar.Step = 1; // Button Optimize BtnOptimize.Parent = this; BtnOptimize.Name = "btnOptimize"; BtnOptimize.Text = Language.T("Optimize"); BtnOptimize.TabIndex = 0; BtnOptimize.Click += BtnOptimizeClick; BtnOptimize.UseVisualStyleBackColor = true; // Button Accept BtnAccept.Parent = this; BtnAccept.Name = "btnAccept"; BtnAccept.Text = Language.T("Accept"); BtnAccept.TabIndex = 1; BtnAccept.Enabled = false; BtnAccept.DialogResult = DialogResult.OK; BtnAccept.UseVisualStyleBackColor = true; // Button Cancel BtnCancel.Parent = this; BtnCancel.Text = Language.T("Cancel"); BtnCancel.TabIndex = 2; BtnCancel.DialogResult = DialogResult.Cancel; BtnCancel.UseVisualStyleBackColor = true; // BackGroundWorker BgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; BgWorker.DoWork += BgWorkerDoWork; BgWorker.ProgressChanged += BgWorkerProgressChanged; BgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Initializes main controls of optimizer. /// </summary> private void InitializeControls() { PnlParamsBase = new Panel(); PnlParamsBase2 = new Panel(); PnlCaptions = new Panel(); PnlParams = new Panel(); PnlLimitations = new FancyPanel(Language.T("Limitations")); PnlSettings = new FancyPanel(Language.T("Settings")); ScrollBar = new VScrollBar(); BalanceChart = new SmallBalanceChart(); ProgressBar = new ProgressBar(); BtnOptimize = new Button(); BtnAccept = new Button(); BtnCancel = new Button(); LblNoParams = new Label(); _fontIndicator = new Font(Font.FontFamily, 11); _colorText = LayoutColors.ColorControlText; // Panel Parameters Base PnlParamsBase.Parent = this; PnlParamsBase.BackColor = LayoutColors.ColorControlBack; PnlParamsBase.Paint += PnlParamsBasePaint; // Panel Captions PnlCaptions.Parent = PnlParamsBase; PnlCaptions.Dock = DockStyle.Top; PnlCaptions.BackColor = LayoutColors.ColorCaptionBack; PnlCaptions.ForeColor = LayoutColors.ColorCaptionText; PnlCaptions.Paint += PnlCaptionsPaint; // Panel Parameters Base 2 PnlParamsBase2.Parent = PnlParamsBase; PnlParamsBase2.BackColor = LayoutColors.ColorControlBack; PnlParamsBase2.Resize += PnlParamsBase2Resize; // ScrollBar ScrollBar.Parent = PnlParamsBase2; ScrollBar.Dock = DockStyle.Right; ScrollBar.TabStop = true; ScrollBar.ValueChanged += ScrollBarValueChanged; ScrollBar.MouseWheel += ScrollBarMouseWheel; // Panel Parameters PnlParams.Parent = PnlParamsBase2; PnlParams.BackColor = LayoutColors.ColorControlBack; // Label No Parameters LblNoParams.Parent = PnlParams; LblNoParams.Text = Language.T("There are no parameters suitable for optimization."); LblNoParams.AutoSize = true; LblNoParams.Visible = false; // Panel Limitations PnlLimitations.Parent = this; PnlLimitations.Visible = false; // Panel Settings PnlSettings.Parent = this; PnlSettings.Visible = false; // Small Balance Chart BalanceChart.Parent = this; BalanceChart.BackColor = LayoutColors.ColorControlBack; BalanceChart.SetChartData(); // ProgressBar ProgressBar.Parent = this; ProgressBar.Minimum = 1; ProgressBar.Maximum = 100; ProgressBar.Step = 1; // Button Optimize BtnOptimize.Parent = this; BtnOptimize.Name = "btnOptimize"; BtnOptimize.Text = Language.T("Optimize"); BtnOptimize.TabIndex = 0; BtnOptimize.Click += BtnOptimizeClick; BtnOptimize.UseVisualStyleBackColor = true; // Button Accept BtnAccept.Parent = this; BtnAccept.Name = "btnAccept"; BtnAccept.Text = Language.T("Accept"); BtnAccept.TabIndex = 1; BtnAccept.Enabled = false; BtnAccept.DialogResult = DialogResult.OK; BtnAccept.UseVisualStyleBackColor = true; // Button Cancel BtnCancel.Parent = this; BtnCancel.Text = Language.T("Cancel"); BtnCancel.TabIndex = 2; BtnCancel.DialogResult = DialogResult.Cancel; BtnCancel.UseVisualStyleBackColor = true; // BackGroundWorker BgWorker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; BgWorker.DoWork += BgWorkerDoWork; BgWorker.ProgressChanged += BgWorkerProgressChanged; BgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Initializes main controls of optimizer. /// </summary> private void InitializeControls() { pnlParamsBase = new Panel(); pnlParamsBase2 = new Panel(); pnlCaptions = new Panel(); pnlParams = new Panel(); pnlCriteriaBase = new FancyPanel(Language.T("Acceptance Criteria")); criteriaPanel = new ScrollFlowPanel(); criteriaControls = new CriteriaControls(); pnlSettings = new FancyPanel(Language.T("Settings")); scrollBar = new VScrollBar(); balanceChart = new SmallBalanceChart(); progressBar = new ProgressBar(); btnOptimize = new Button(); btnAccept = new Button(); btnCancel = new Button(); lblNoParams = new Label(); fontIndicator = new Font(Font.FontFamily, 11); colorText = LayoutColors.ColorControlText; // Panel Parameters Base pnlParamsBase.Parent = this; pnlParamsBase.BackColor = LayoutColors.ColorControlBack; pnlParamsBase.Paint += PnlParamsBasePaint; // Panel Captions pnlCaptions.Parent = pnlParamsBase; pnlCaptions.Dock = DockStyle.Top; pnlCaptions.BackColor = LayoutColors.ColorCaptionBack; pnlCaptions.ForeColor = LayoutColors.ColorCaptionText; pnlCaptions.Paint += PnlCaptionsPaint; // Panel Parameters Base 2 pnlParamsBase2.Parent = pnlParamsBase; pnlParamsBase2.BackColor = LayoutColors.ColorControlBack; pnlParamsBase2.Resize += PnlParamsBase2Resize; // ScrollBar scrollBar.Parent = pnlParamsBase2; scrollBar.Dock = DockStyle.Right; scrollBar.TabStop = true; scrollBar.ValueChanged += ScrollBarValueChanged; scrollBar.MouseWheel += ScrollBarMouseWheel; // Panel Parameters pnlParams.Parent = pnlParamsBase2; pnlParams.BackColor = LayoutColors.ColorControlBack; // Label No Parameters lblNoParams.Parent = pnlParams; lblNoParams.Text = Language.T("There are no parameters suitable for optimization."); lblNoParams.AutoSize = true; lblNoParams.Visible = false; // Panel Limitations pnlCriteriaBase.Parent = this; pnlCriteriaBase.Visible = false; // Panel Settings pnlSettings.Parent = this; pnlSettings.Visible = false; // Small Balance Chart balanceChart.Parent = this; balanceChart.BackColor = LayoutColors.ColorControlBack; balanceChart.SetChartData(); // ProgressBar progressBar.Parent = this; progressBar.Minimum = 1; progressBar.Maximum = 100; progressBar.Step = 1; // Button Optimize btnOptimize.Parent = this; btnOptimize.Name = "btnOptimize"; btnOptimize.Text = Language.T("Optimize"); btnOptimize.TabIndex = 0; btnOptimize.Click += BtnOptimizeClick; btnOptimize.UseVisualStyleBackColor = true; // Button Accept btnAccept.Parent = this; btnAccept.Name = "btnAccept"; btnAccept.Text = Language.T("Accept"); btnAccept.TabIndex = 1; btnAccept.Enabled = false; btnAccept.DialogResult = DialogResult.OK; btnAccept.UseVisualStyleBackColor = true; // Button Cancel btnCancel.Parent = this; btnCancel.Text = Language.T("Cancel"); btnCancel.TabIndex = 2; btnCancel.DialogResult = DialogResult.Cancel; btnCancel.UseVisualStyleBackColor = true; // BackGroundWorker bgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; bgWorker.DoWork += BgWorkerDoWork; bgWorker.ProgressChanged += BgWorkerProgressChanged; bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }
/// <summary> /// Constructor /// </summary> public Generator() { GeneratedDescription = string.Empty; _strategyBest = Data.Strategy.Clone(); _bestBalance = _isOOS ? Backtester.Balance(_barOOS) : Backtester.NetBalance; _isGenerating = false; _isStartegyChanged = false; _indicatorBlackList = new List<string>(); ColorText = LayoutColors.ColorControlText; TsStrategy = new ToolStrip(); TsGenerator = new ToolStrip(); StrategyField = new StrategyLayout(_strategyBest); PnlCommon = new FancyPanel(Language.T("Common")); PnlLimitations = new FancyPanel(Language.T("Limitations")); PnlSettings = new FancyPanel(Language.T("Settings")); PnlTop10 = new FancyPanel(Language.T("Top 10")); PnlIndicators = new FancyPanel(Language.T("Indicators")); BalanceChart = new SmallBalanceChart(); InfpnlAccountStatistics = new InfoPanel(); ProgressBar = new ProgressBar(); LblCalcStrInfo = new Label(); LblCalcStrNumb = new Label(); BtnAccept = new Button(); BtnGenerate = new Button(); BtnCancel = new Button(); ChbGenerateNewStrategy = new CheckBox(); ChbPreservePermSL = new CheckBox(); ChbPreservePermTP = new CheckBox(); ChbPreserveBreakEven = new CheckBox(); ChbInitialOptimization = new CheckBox(); NudWorkingMinutes = new NumericUpDown(); LblWorkingMinutes = new Label(); MaximizeBox = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; BackColor = LayoutColors.ColorFormBack; AcceptButton = BtnGenerate; Text = Language.T("Strategy Generator") + " - " + Data.Symbol + " " + Data.PeriodString + ", " + Data.Bars + " " + Language.T("bars"); FormClosing += GeneratorFormClosing; // Tool Strip Strategy TsStrategy.Parent = this; TsStrategy.Dock = DockStyle.None; TsStrategy.AutoSize = false; // Tool Strip Generator TsGenerator.Parent = this; TsGenerator.Dock = DockStyle.None; TsGenerator.AutoSize = false; // Creates a Strategy Layout StrategyField.Parent = this; StrategyField.ShowAddSlotButtons = false; StrategyField.ShowRemoveSlotButtons = false; StrategyField.ShowPadlockImg = true; StrategyField.SlotPropertiesTipText = Language.T("Lock or unlock the slot."); StrategyField.SlotToolTipText = Language.T("Lock, link, or unlock the slot."); PnlCommon.Parent = this; PnlLimitations.Parent = this; PnlSettings.Parent = this; PnlTop10.Parent = this; PnlIndicators.Parent = this; // Small Balance Chart BalanceChart.Parent = this; BalanceChart.BackColor = LayoutColors.ColorControlBack; BalanceChart.Visible = true; BalanceChart.Cursor = Cursors.Hand; BalanceChart.IsContextButtonVisible = true; BalanceChart.PopUpContextMenu.Items.AddRange(GetBalanceChartContextMenuItems()); BalanceChart.Click += AccountAutputClick; BalanceChart.DoubleClick += AccountAutputClick; toolTip.SetToolTip(BalanceChart, Language.T("Show account statistics.")); BalanceChart.SetChartData(); // Info Panel Account Statistics InfpnlAccountStatistics.Parent = this; InfpnlAccountStatistics.Visible = false; InfpnlAccountStatistics.Cursor = Cursors.Hand; InfpnlAccountStatistics.IsContextButtonVisible = true; InfpnlAccountStatistics.PopUpContextMenu.Items.AddRange(GetInfoPanelContextMenuItems()); InfpnlAccountStatistics.Click += AccountAutputClick; InfpnlAccountStatistics.DoubleClick += AccountAutputClick; toolTip.SetToolTip(InfpnlAccountStatistics, Language.T("Show account chart.")); // ProgressBar ProgressBar.Parent = this; ProgressBar.Minimum = 1; ProgressBar.Maximum = 100; ProgressBar.Step = 1; //Button Generate BtnGenerate.Parent = this; BtnGenerate.Name = "Generate"; BtnGenerate.Text = Language.T("Generate"); BtnGenerate.Click += BtnGenerateClick; BtnGenerate.UseVisualStyleBackColor = true; //Button Accept BtnAccept.Parent = this; BtnAccept.Name = "Accept"; BtnAccept.Text = Language.T("Accept"); BtnAccept.Enabled = false; BtnAccept.DialogResult = DialogResult.OK; BtnAccept.UseVisualStyleBackColor = true; //Button Cancel BtnCancel.Parent = this; BtnCancel.Text = Language.T("Cancel"); BtnCancel.DialogResult = DialogResult.Cancel; BtnCancel.UseVisualStyleBackColor = true; // BackgroundWorker BgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; BgWorker.DoWork += BgWorkerDoWork; BgWorker.ProgressChanged += BgWorkerProgressChanged; BgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; SetButtonsStrategy(); SetButtonsGenerator(); SetPanelCommon(); SetPanelLimitations(); SetPanelSettings(); SetPanelTop10(); SetPanelIndicators(); LoadOptions(); SetStrategyDescriptionButton(); ChbHideFsb.CheckedChanged += HideFSBClick; }
/// <summary> /// Constructor /// </summary> public JForexImport() { lblIntro = new Label(); tbxDataDirectory = new TextBox(); btnBrowse = new Button(); pnlSettings = new FancyPanel(); pnlInfoBase = new FancyPanel(Language.T("Imported Files")); tbxInfo = new TextBox(); btnHelp = new Button(); btnClose = new Button(); btnImport = new Button(); progressBar = new ProgressBar(); lblMarketClose = new Label(); lblMarketOpen = new Label(); nudMarketClose = new NumericUpDown(); nudMarketOpen = new NumericUpDown(); lblDestFolder = new Label(); tbxDestFolder = new TextBox(); btnDestFolder = new Button(); colorText = LayoutColors.ColorControlText; MaximizeBox = false; MinimizeBox = false; ShowInTaskbar = false; Icon = Data.Icon; FormBorderStyle = FormBorderStyle.FixedDialog; AcceptButton = btnImport; CancelButton = btnClose; Text = Language.T("JForex Import"); // Label Intro lblIntro.Parent = pnlSettings; lblIntro.ForeColor = colorText; lblIntro.BackColor = Color.Transparent; lblIntro.AutoSize = true; lblIntro.Text = Language.T("Directory containing JForex data files:"); // Data Directory tbxDataDirectory.Parent = pnlSettings; tbxDataDirectory.BackColor = LayoutColors.ColorControlBack; tbxDataDirectory.ForeColor = colorText; tbxDataDirectory.Text = Configs.JForexDataPath; // Button Browse btnBrowse.Parent = pnlSettings; btnBrowse.Name = "Browse"; btnBrowse.Text = Language.T("Browse"); btnBrowse.Click += BtnBrowseClick; btnBrowse.UseVisualStyleBackColor = true; // Label Market Close lblMarketClose.Parent = pnlSettings; lblMarketClose.ForeColor = colorText; lblMarketClose.BackColor = Color.Transparent; lblMarketClose.AutoSize = true; lblMarketClose.Text = Language.T("Market closing hour on Friday:"); // Label Market Open lblMarketOpen.Parent = pnlSettings; lblMarketOpen.ForeColor = colorText; lblMarketOpen.BackColor = Color.Transparent; lblMarketOpen.AutoSize = true; lblMarketOpen.Text = Language.T("Market opening hour on Sunday:"); // NUDMarketClose nudMarketClose.BeginInit(); nudMarketClose.Parent = pnlSettings; nudMarketClose.TextAlign = HorizontalAlignment.Center; nudMarketClose.Minimum = 0; nudMarketClose.Maximum = 24; nudMarketClose.Increment = 1; nudMarketClose.Value = Configs.MarketClosingHour; nudMarketClose.EndInit(); // NUDMarketOpen nudMarketOpen.BeginInit(); nudMarketOpen.Parent = pnlSettings; nudMarketOpen.TextAlign = HorizontalAlignment.Center; nudMarketOpen.Minimum = 0; nudMarketOpen.Maximum = 24; nudMarketOpen.Increment = 1; nudMarketOpen.Value = Configs.MarketOpeningHour; nudMarketOpen.EndInit(); // lblDestFolder lblDestFolder.Parent = pnlSettings; lblDestFolder.ForeColor = LayoutColors.ColorControlText; lblDestFolder.BackColor = Color.Transparent; lblDestFolder.AutoSize = true; lblDestFolder.Text = Language.T("Select a destination folder") + ":"; // tbxDestFolder tbxDestFolder.Parent = pnlSettings; tbxDestFolder.BackColor = LayoutColors.ColorControlBack; tbxDestFolder.ForeColor = LayoutColors.ColorControlText; tbxDestFolder.Text = String.IsNullOrEmpty(Configs.JForexImportDestFolder) ? Data.OfflineDataDir : Configs.JForexImportDestFolder; // btnDestFolder btnDestFolder.Parent = pnlSettings; btnDestFolder.Name = "btnDestFolder"; btnDestFolder.Text = Language.T("Browse"); btnDestFolder.Click += BtnDestFolderClick; btnDestFolder.UseVisualStyleBackColor = true; // pnlSettings pnlSettings.Parent = this; // pnlInfoBase pnlInfoBase.Parent = this; pnlInfoBase.Padding = new Padding(4, (int) pnlInfoBase.CaptionHeight, 2, 2); // TbxInfo tbxInfo.Parent = pnlInfoBase; tbxInfo.BorderStyle = BorderStyle.None; tbxInfo.Dock = DockStyle.Fill; tbxInfo.BackColor = LayoutColors.ColorControlBack; tbxInfo.ForeColor = LayoutColors.ColorControlText; tbxInfo.Multiline = true; tbxInfo.AcceptsReturn = true; tbxInfo.AcceptsTab = true; tbxInfo.ScrollBars = ScrollBars.Vertical; // ProgressBar progressBar.Parent = this; // Button Help btnHelp.Parent = this; btnHelp.Name = "Help"; btnHelp.Text = Language.T("Help"); btnHelp.Click += btnHelpClick; btnHelp.UseVisualStyleBackColor = true; // Button Close btnClose.Parent = this; btnClose.Text = Language.T("Close"); btnClose.DialogResult = DialogResult.Cancel; btnClose.UseVisualStyleBackColor = true; // Button Import btnImport.Parent = this; btnImport.Name = "Import"; btnImport.Text = Language.T("Import"); btnImport.Click += BtnImportClick; btnImport.UseVisualStyleBackColor = true; // BackGroundWorker bgWorker = new BackgroundWorker {WorkerReportsProgress = true, WorkerSupportsCancellation = true}; bgWorker.DoWork += BgWorkerDoWork; bgWorker.RunWorkerCompleted += BgWorkerRunWorkerCompleted; }