Добрый день.
Объекты и функции для того и придумали, чтобы скрывать детали реализации и не смешивать не смешиваемое. Использовать локальные переменные для хранения промежуточных результатов тоже не запрещается. Компьютеру все равно сколько вы ему букв подсунете, а вот нормальные люди откажутся вникать в простынь неформатированного кода.
Code:
    IList<double> Calc( IList<double> close ) {
      var WmaSlow = TradeHelper.WMA( сlose, WmaSlowPeriod );
      var WmaFast = TradeHelper.WMA( сlose, WmaFastPeriod );
      var Gist = TradeHelper.Subtract( WmaFast, WmaSlow );
      var SmaSignal = Series.SMA( Gist );
      return SmaSignal;
    }

    public ISecurity Execute( ISecurity sec ) {
      ISecurity tf = sec.CompressTo( new Interval( tfPeriod, DataIntervals.MINUTE ) ); //tfPeriod - оптим.параметр;
      var signals = tf.Decompress( Calc( tf.ClosePrices ));
      ...
    }
_________________________
Не пишите мне! Никому ничего делать не буду.