Forex_Strategy_Builder.Actions.CheckLoadedData C# (CSharp) Method

CheckLoadedData() private method

Checks the loaded data
private CheckLoadedData ( ) : void
return void
        void CheckLoadedData()
        {
            SetInstrumentDataStatusBar();

            if (!Configs.CheckData)
                return;

            string errorMessage = "";

            // Check for defective data
            int maxConsecutiveBars = 0;
            int maxConsecutiveBar  = 0;
            int consecutiveBars    = 0;
            int lastBar            = 0;
            for (int iBar = 0; iBar < Data.Bars; iBar++)
            {
                if (Data.Open[iBar] == Data.Close[iBar])
                {
                    if (lastBar == iBar - 1 || lastBar == 0)
                    {
                        consecutiveBars++;
                        lastBar = iBar;

                        if (consecutiveBars > maxConsecutiveBars)
                        {
                            maxConsecutiveBars = consecutiveBars;
                            maxConsecutiveBar = iBar;
                        }
                    }
                }
                else
                {
                    consecutiveBars = 0;
                }
            }

            if (maxConsecutiveBars > 10)
            {
                errorMessage += Language.T("Defective till bar number:") + " " + (maxConsecutiveBar + 1) + " - " +
                                 Data.Time[maxConsecutiveBar].ToString() + Environment.NewLine +
                                 Language.T("You can try to cut it using \"Data Horizon\".") + Environment.NewLine +
                                 Language.T("You can try also \"Cut Off Bad Data\".");
            }

            if (Data.Bars < 300)
            {
                errorMessage += Language.T("Contains less than 300 bars!") + Environment.NewLine +
                                 Language.T("Check your data file or the limits in \"Data Horizon\".");
            }

            if (Data.DaysOff > 5 && Data.Period != DataPeriods.week)
            {
                errorMessage += Language.T("Maximum days off") + " " + Data.DaysOff + Environment.NewLine +
                                 Language.T("The data is probably incomplete!") + Environment.NewLine +
                                 Language.T("You can try also \"Cut Off Bad Data\".");
            }

            if (errorMessage != "")
            {
                errorMessage = Language.T("Market") + " " + Data.Symbol + " " + Data.DataPeriodToString(Data.Period) + Environment.NewLine + errorMessage;
                MessageBox.Show(errorMessage, Language.T("Data File Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            return;
        }
Actions