void Navigate(string sDir)
{
switch (sDir)
{
case "< !":
for (int i = bar - 1; i >= Data.FirstBar; i--)
if (Backtester.BackTestEval(i) == "Ambiguous")
{
bar = i;
break;
}
break;
case "<":
if (bar > Data.FirstBar)
bar--;
break;
case "! >":
for (int i = bar + 1; i < Data.Bars; i++)
if (Backtester.BackTestEval(i) == "Ambiguous")
{
bar = i;
break;
}
break;
case ">":
if (bar < Data.Bars - 1)
bar++;
break;
case "Go":
bar = (int)nudGo.Value - 1;
break;
default:
break;
}
SetBtnNavigate();
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();
Rectangle rectPnlChart = new Rectangle(border, infoRowHeight, pnlChart.ClientSize.Width - 2 * border, pnlChart.ClientSize.Height - infoRowHeight - border);
pnlChart.Invalidate(rectPnlChart);
Rectangle rectPnlInfo = new Rectangle(border, 2 * infoRowHeight, pnlInfo.ClientSize.Width - 2 * border, pnlInfo.ClientSize.Height - 2 * infoRowHeight - border);
pnlInfo.Invalidate(rectPnlInfo);
nudGo.Value = bar + 1;
return;
}