void UpdateJournalData()
{
asJournalData = new string[shownBars, columns];
aiPositionIcons = new Image[shownBars];
for (int bar = firstBar; bar < firstBar + shownBars; bar++)
{
int row = bar - firstBar;
asJournalData[row, 0] = (bar + 1).ToString();
asJournalData[row, 1] = Data.Time[bar].ToString(Data.DF);
asJournalData[row, 2] = Data.Time[bar].ToString("HH:mm");
asJournalData[row, 3] = Data.Open[bar].ToString(Data.FF);
asJournalData[row, 4] = Data.High[bar].ToString(Data.FF);
asJournalData[row, 5] = Data.Low[bar].ToString(Data.FF);
asJournalData[row, 6] = Data.Close[bar].ToString(Data.FF);
asJournalData[row, 7] = Data.Volume[bar].ToString();
if (Backtester.IsPos(bar))
{
asJournalData[row, 8] = Language.T(Backtester.SummaryTrans(bar).ToString());
asJournalData[row, 9] = Language.T(Backtester.SummaryDir(bar).ToString());
if (Configs.AccountInMoney)
{
string sign = Backtester.SummaryDir(bar) == PosDirection.Short ? "-" : "";
asJournalData[row, 10] = sign + Backtester.SummaryAmount(bar).ToString();
}
else
asJournalData[row, 10] = Backtester.SummaryLots(bar).ToString();
asJournalData[row, 11] = Backtester.SummaryPrice(bar).ToString(Data.FF);
if (Configs.AccountInMoney)
{
// Profit Loss
if (Backtester.SummaryTrans(bar) == Transaction.Close ||
Backtester.SummaryTrans(bar) == Transaction.Reduce ||
Backtester.SummaryTrans(bar) == Transaction.Reverse)
{
asJournalData[row, 12] = Backtester.MoneyProfitLoss(bar).ToString("F2");
}
else
{
asJournalData[row, 12] = "-";
}
// Floating Profit Loss
if (Backtester.SummaryTrans(bar) != Transaction.Close)
{
asJournalData[row, 13] = Backtester.MoneyFloatingPL(bar).ToString("F2");
}
else
{
asJournalData[row, 13] = "-";
}
}
else
{
// Profit Loss
if (Backtester.SummaryTrans(bar) == Transaction.Close ||
Backtester.SummaryTrans(bar) == Transaction.Reduce ||
Backtester.SummaryTrans(bar) == Transaction.Reverse)
{
asJournalData[row, 12] = Backtester.ProfitLoss(bar).ToString();
}
else
{
asJournalData[row, 12] = "-";
}
// Floating Profit Loss
if (Backtester.SummaryTrans(bar) != Transaction.Close)
{
asJournalData[row, 13] = Backtester.FloatingPL(bar).ToString();
}
else
{
asJournalData[row, 13] = "-";
}
}
// Icons
aiPositionIcons[row] = Backtester.SummaryPositionIcon(bar);
}
else
{
// Icons
aiPositionIcons[row] = Properties.Resources.pos_square;
}
if (Configs.AccountInMoney)
{
asJournalData[row, 14] = Backtester.MoneyBalance(bar).ToString("F2");
asJournalData[row, 15] = Backtester.MoneyEquity(bar).ToString("F2");
}
else
{
asJournalData[row, 14] = Backtester.Balance(bar).ToString();
asJournalData[row, 15] = Backtester.Equity(bar).ToString();
}
asJournalData[row, 16] = Backtester.SummaryRequiredMargin(bar).ToString("F2");
asJournalData[row, 17] = Backtester.SummaryFreeMargin(bar).ToString("F2");
asJournalData[row, 18] = Language.T(Backtester.BackTestEval(bar));
}
return;
}