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

GeneratePermanentTP() private method

Generates the Permanent Take Profit
private GeneratePermanentTP ( ) : void
return void
        void GeneratePermanentTP()
        {
            if (chbPreservPermTP.Checked || strategyBest.PropertiesStatus == StrategySlotStatus.Locked)
            {
                Data.Strategy.UsePermanentTP  = strategyBest.UsePermanentTP;
                Data.Strategy.PermanentTPType = strategyBest.PermanentTPType;
                Data.Strategy.PermanentTP     = strategyBest.PermanentTP;
            }
            else
            {
                bool usePermTP    = random.Next(100) > 30;
                bool changePermTP = random.Next(100) > 50;
                Data.Strategy.UsePermanentTP = usePermTP;
                Data.Strategy.PermanentTPType = PermanentProtectionType.Relative;
                if (usePermTP && changePermTP)
                {
                    int multiplier = Data.InstrProperties.IsFiveDigits ? 50 : 5;
                    Data.Strategy.PermanentTP = 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.PermanentTPType = PermanentProtectionType.Absolute;
                }
            }
        }