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

GeneratePermanentSL() private method

Generates the Permanent Stop Loss
private GeneratePermanentSL ( ) : void
return void
        void GeneratePermanentSL()
        {
            if (chbPreservPermSL.Checked || strategyBest.PropertiesStatus == StrategySlotStatus.Locked)
            {
                Data.Strategy.UsePermanentSL  = strategyBest.UsePermanentSL;
                Data.Strategy.PermanentSLType = strategyBest.PermanentSLType;
                Data.Strategy.PermanentSL     = strategyBest.PermanentSL;
            }
            else
            {
                bool usePermSL    = random.Next(100) > 30;
                bool changePermSL = random.Next(100) > 50;
                Data.Strategy.UsePermanentSL = usePermSL;
                Data.Strategy.PermanentSLType = PermanentProtectionType.Relative;
                if (usePermSL && changePermSL)
                {
                    int multiplier = Data.InstrProperties.IsFiveDigits ? 50 : 5;
                    Data.Strategy.PermanentSL = multiplier * random.Next(5, 50);
                    if (random.Next(100) > 80 &&
                        (Data.Strategy.SameSignalAction == SameDirSignalAction.Add   ||
                        Data.Strategy.SameSignalAction == SameDirSignalAction.Winner ||
                        Data.Strategy.OppSignalAction == OppositeDirSignalAction.Reduce))
                        Data.Strategy.PermanentSLType = PermanentProtectionType.Absolute;
                }
            }
        }