Баг?

 
Оптимизирую. Выбираю лучший (первый в списке) результат. Делаю "старт", получаю идущий вверх график.
Модифицирую эксперт.
Делаю "старт", получаю идущий вниз график.
Без модификации эксперта, снова выбираю лучший (первый в списке) результат. Делаю "старт", получаю идущий вверх график.

Код модифицируемой части эксперта (что там ошибка я знаю. Все равно так быть не должно):
double GetLotSize()
{
	double dLot  = 0.1;
	if(bUseMm)
	{
		dLot  = (0.1 * dInitAmount + 0.2 * dProfit) / 1000;

		for(int i = 0; i < 5; i++)
			arrProfits[5] = 0;

		i = 0;
		for(int nCnt = HistoryTotal(); nCnt >= 0; nCnt--)
		{
			OrderSelect(nCnt, SELECT_BY_POS, MODE_HISTORY);
			if(OrderMagicNumber() == nMagic)
			{
				arrProfits[i] = OrderProfit();
				i++;
				
				if(i > 4)
					break;
			}
		}

		if(arrProfits[1] > arrProfits[0])
			dLot -= 0.1 * dLot;					//0.1

		if(arrProfits[2] > arrProfits[0])
			dLot -= 0.1 * dLot;					//0.9

		if(arrProfits[3] > arrProfits[0])
			dLot -= 0.1 * dLot;					//0.7

		if(arrProfits[4] > arrProfits[0])
			dLot -= 0.1 * dLot;					//0.3
		
		if(dLot * 2 * dInitAmount > AccountFreeMargin() / nNumOfExperts)
			dLot = AccountFreeMargin() / (2 * dInitAmount * nNumOfExperts);

		dLot = MathFloor(dLot * 10) / 10;
	
		if(dLot < 0.1)
			dLot = 0.1;
	}

	return(dLot);
}

 
Дальнейшая проверка показывает, что после рекомпилляции, значение в диалоге Expert Properties сбрасывается в дефалт, более того, даже выбор из Set Input Parameters меняет его не всегда.
Причина обращения: