Forex_Strategy_Builder.Dialogs.Generator.Generator.RemoveNeedlessFilters C# (CSharp) Method

RemoveNeedlessFilters() private method

Removes the excessive filter.
private RemoveNeedlessFilters ( BackgroundWorker worker ) : void
worker System.ComponentModel.BackgroundWorker
return void
        void RemoveNeedlessFilters(BackgroundWorker worker)
        {
            for (int slot = 1; slot < Data.Strategy.Slots; slot++)
            {
                if (Data.Strategy.Slot[slot].SlotStatus == StrategySlotStatus.Locked || Data.Strategy.Slot[slot].SlotStatus == StrategySlotStatus.Linked)
                    continue;

                if (Data.Strategy.Slot[slot].SlotType == SlotTypes.OpenFilter || Data.Strategy.Slot[slot].SlotType == SlotTypes.CloseFilter)
                {
                    if (worker.CancellationPending) break;

                    Data.Strategy.RemoveFilter(slot);
                    bool isBetterORSame = CalculateTheResult(true);
                    if (!isBetterORSame)
                        RestoreFromBest();
                }
            }
        }