Forex_Strategy_Builder.Dialogs.Generator.Generator.CheckForLockedSlots C# (CSharp) Метод

CheckForLockedSlots() приватный Метод

Check if all slots are locked.
private CheckForLockedSlots ( ) : void
Результат void
        void CheckForLockedSlots()
        {
            isEntryLocked = false;
            isExitLocked  = false;

            if (lockedEntrySlot != null && lockedEntryFilters >= maxOpeningLogicSlots)
                isEntryLocked = true;

            if (lockedEntryFilters > maxOpeningLogicSlots)
                maxOpeningLogicSlots = lockedEntryFilters;

            if (lockedExitSlot != null && !Indicator_Store.ClosingIndicatorsWithClosingFilters.Contains(lockedExitSlot.IndicatorName))
                isExitLocked = true;
            else if (lockedExitSlot != null && Indicator_Store.ClosingIndicatorsWithClosingFilters.Contains(lockedExitSlot.IndicatorName) && lockedExitFilters >= maxClosingLogicSlots)
                isExitLocked = true;
            else if (lockedExitSlot == null && lockedExitFilters > 0 && lockedExitFilters >= maxClosingLogicSlots)
                isExitLocked = true;

            if (lockedExitFilters > maxClosingLogicSlots)
                maxClosingLogicSlots = lockedExitFilters;

            for (int slot = 0; slot < strategyBest.Slots; slot++)
            {
                if (strategyBest.Slot[slot].SlotStatus == StrategySlotStatus.Linked)
                {
                    if (strategyBest.Slot[slot].SlotType == SlotTypes.Open)
                        isEntryLocked = false;
                    else if (strategyBest.Slot[slot].SlotType == SlotTypes.OpenFilter)
                        isEntryLocked = false;
                    else if (strategyBest.Slot[slot].SlotType == SlotTypes.Close)
                        isExitLocked = false;
                    else if (strategyBest.Slot[slot].SlotType == SlotTypes.CloseFilter)
                        isExitLocked = false;
                }
            }

            return;
        }