Переменная compSma1 зависит не только от CompSma1Period, но и от CompressSmaVremay, поэтому лучше так:
var compSma1 = ctx.GetData("Sma1", new string[] { CompSma1Period.ToString(), CompressSmaVremay.ToString() }, ...

Иначе будете получать непредсказуемые результаты при оптимизации параметра CompressSmaVremay. Хотя, если его не оптимизируете, то сойдет и так.
_________________________
Не пишите мне! Никому ничего делать не буду.