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();
}
}
}