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