public Bar_Explorer(int iBarNumber)
{
pnlChart = new Panel();
pnlInfo = new Panel();
toolTip = new ToolTip();
bar = iBarNumber < Data.FirstBar ? Data.FirstBar : iBarNumber;
this.Text = Language.T("Bar Explorer");
this.BackColor = LayoutColors.ColorFormBack;
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.Icon = Data.Icon;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.ShowInTaskbar = false;
fontInfo = new Font(Font.FontFamily, 9);
infoRowHeight = (int)Math.Max(fontInfo.Height, 18);
barInfo = Language.T("Bar") + ": " + (bar + 1).ToString() + " " +
Data.Time[bar].ToString(Data.DF) + " " +
Data.Time[bar].ToString("HH:mm") + "; " +
Language.T("Interpolation method") + ": " +
Backtester.InterpolationMethodToString();
pnlChart.Parent = this;
pnlChart.Paint += new PaintEventHandler(PnlChart_Paint);
pnlInfo.Parent = this;
pnlInfo.Paint += new PaintEventHandler(PnlInfo_Paint);
btnNavigate = new Button[4];
string [] btnNavigateText = new string [4] {"< !", "<", ">", "! >"};
string[] btnNavigateTips = new string [4] {
Language.T("Previous ambiguous bar."),
Language.T("Previous bar."),
Language.T("Next bar."),
Language.T("Next ambiguous bar.")};
for (int i = 0; i < 4; i++)
{
btnNavigate[i] = new Button();
btnNavigate[i].Parent = this;
btnNavigate[i].Text = btnNavigateText[i];
btnNavigate[i].Name = btnNavigateText[i];
btnNavigate[i].Click += new EventHandler(BtnNavigate_Click);
btnNavigate[i].MouseWheel += new MouseEventHandler(Bar_Explorer_MouseWheel);
btnNavigate[i].UseVisualStyleBackColor = true;
toolTip.SetToolTip(btnNavigate[i], btnNavigateTips[i]);
}
btnNavigate[0].Enabled = Backtester.AmbiguousBars > 0;
btnNavigate[3].Enabled = Backtester.AmbiguousBars > 0;
nudGo = new NumericUpDown();
nudGo.Parent = this;
nudGo.TextAlign = HorizontalAlignment.Center;
nudGo.BeginInit();
nudGo.Minimum = Data.FirstBar + 1;
nudGo.Maximum = Data.Bars;
nudGo.Increment = 1;
nudGo.Value = bar + 1;
nudGo.EndInit();
btnGo = new Button();
btnGo.Parent = this;
btnGo.Name = "Go";
btnGo.Text = Language.T("Go");
btnGo.UseVisualStyleBackColor = true;
btnGo.Click += new EventHandler(BtnNavigate_Click);
btnGo.MouseWheel += new MouseEventHandler(Bar_Explorer_MouseWheel);
toolTip.SetToolTip(btnGo, Language.T("Go to the chosen bar."));
//Button Close
btnClose = new Button();
btnClose.Parent = this;
btnClose.Text = Language.T("Close");
btnClose.DialogResult = DialogResult.Cancel;
btnClose.UseVisualStyleBackColor = true;
// Colors
brushRed = new SolidBrush(LayoutColors.ColorSignalRed);
brushCaptionBack = new SolidBrush(LayoutColors.ColorCaptionBack);
brushCaptionText = new SolidBrush(LayoutColors.ColorCaptionText);
brushEvenRow = new SolidBrush(LayoutColors.ColorEvenRowBack);
brushBack = new SolidBrush(LayoutColors.ColorControlBack);
brushGridText = new SolidBrush(LayoutColors.ColorChartFore);
brushBarWhite = new SolidBrush(LayoutColors.ColorBarWhite);
brushBarBlack = new SolidBrush(LayoutColors.ColorBarBlack);
brushTradeLong = new SolidBrush(LayoutColors.ColorTradeLong);
brushTradeShort = new SolidBrush(LayoutColors.ColorTradeShort);
brushTradeClose = new SolidBrush(LayoutColors.ColorTradeClose);
penGrid = new Pen(LayoutColors.ColorChartGrid);
penGrid.DashStyle = DashStyle.Dash;
penGrid.DashPattern = new float[] { 4, 2 };
penGridSolid = new Pen(LayoutColors.ColorChartGrid);
penAxes = new Pen(LayoutColors.ColorChartFore);
penCross = new Pen(LayoutColors.ColorChartCross);
penBarBorder = new Pen(LayoutColors.ColorBarBorder);
colorBarWight1 = Data.GetGradientColor(LayoutColors.ColorBarWhite, 30);
colorBarWight2 = Data.GetGradientColor(LayoutColors.ColorBarWhite, -30);
colorBarBlack1 = Data.GetGradientColor(LayoutColors.ColorBarBlack, 30);
colorBarBlack2 = Data.GetGradientColor(LayoutColors.ColorBarBlack, -30);
colorLongTrade1 = Data.GetGradientColor(LayoutColors.ColorTradeLong, 30);
colorLongTrade2 = Data.GetGradientColor(LayoutColors.ColorTradeLong, -30);
colorShortTrade1 = Data.GetGradientColor(LayoutColors.ColorTradeShort, 30);
colorShortTrade2 = Data.GetGradientColor(LayoutColors.ColorTradeShort, -30);
colorClosedTrade1 = Data.GetGradientColor(LayoutColors.ColorTradeClose, 30);
colorClosedTrade2 = Data.GetGradientColor(LayoutColors.ColorTradeClose, -30);
SetJournalPoints();
return;
}