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