/// <summary>
        /// Updates the journal data from the backtester
        /// </summary>
        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;
        }