void ChangePermanentSL(BackgroundWorker worker)
{
int repeats = 0;
bool isDoAgain;
do
{
if (worker.CancellationPending) break;
if (chbPreservPermSL.Checked || strategyBest.PropertiesStatus == StrategySlotStatus.Locked)
break;
int oldPermSL = Data.Strategy.PermanentSL;
Data.Strategy.UsePermanentSL = true;
int multiplier = Data.InstrProperties.IsFiveDigits ? 50 : 5;
Data.Strategy.PermanentSL = multiplier * random.Next(5, 100);
repeats++;
isDoAgain = repeats < 5;
isDoAgain = CalculateTheResult(false);
if (!isDoAgain)
Data.Strategy.PermanentSL = oldPermSL;
} while (isDoAgain);
}