Forex_Strategy_Builder.Strategy.RemoveFilter C# (CSharp) Method

RemoveFilter() public method

Removes a filter from the strategy.
public RemoveFilter ( int slotToRemove ) : void
slotToRemove int
return void
        public void RemoveFilter(int slotToRemove)
        {
            if (Slot[slotToRemove].SlotType != SlotTypes.OpenFilter &&
                Slot[slotToRemove].SlotType != SlotTypes.CloseFilter)
                return;

            Data.Log("Remove a Filter");

            if (slotToRemove < CloseSlot)
                OpenFilters--;
            else
                CloseFilters--;
            IndicatorSlot[] indSlotOld = (IndicatorSlot[])indicatorSlot.Clone();
            indicatorSlot = new IndicatorSlot[Slots];

            // Copy all filters before this that has to be removed.
            for (int slot = 0; slot < slotToRemove; slot++)
                indicatorSlot[slot] = indSlotOld[slot];

            // Copy all filters after this that has to be removed.
            for (int slot = slotToRemove; slot < Slots; slot++)
                indicatorSlot[slot] = indSlotOld[slot+1];

            // Sets the slot numbers.
            for (int slot = 0; slot < Slots; slot++)
                indicatorSlot[slot].SlotNumber = slot;

            return;
        }