Есть минутки РТС, в своем коде сжимаю в 10-минутки и получаю разницу если сжимать через кубики.
Причем эффект имеет свойство исчезать и появляться.
Вообщем вопрос почему это происходит и как избавиться.
Ниже код и скрины
Сжатие через кубики:
*******************************************************
// Initialize 'Volume1' item
this.Volume1_h.Context = context;
// Initialize 'Сжать1' item
this.Сжать1_h.Interval = 10;
this.Сжать1_h.Shift = this.Сжать1_Shift;
// Make 'Сжать1' item data
TSLab.Script.ISecurity Сжать1;
try
{
Сжать1 = this.Сжать1_h.Execute(Sec1);
}
catch (System.ArgumentOutOfRangeException )
{
throw new TSLab.Script.ScriptException("Ошибка при вычислении блока \'Сжать1\'. Индекс за пределам диапазона.");
}
// Make 'Volume1' item data
System.Collections.Generic.IList<double> Volume1 = context.GetData("Volume1", new string[] {
this.Сжать1_h.Interval.ToString(),
this.Сжать1_h.Shift.ToString(),
"Сжать1"
}, delegate {
try {
return this.Volume1_h.Execute(Сжать1);
}
catch (System.ArgumentOutOfRangeException ) {
throw new TSLab.Script.ScriptException("Ошибка при вычислении блока \'Volume1\'. Индекс за пределам диапазона.");
}
});
*********************************************
Теперь мой код:
****************************************************
compress.Interval = 10; // сжимает минутки до 10-минуток
compress.Shift = 0; //сдвига нет
ISecurity NewCompSec; //данны в новой компрессии
try
{
NewCompSec = this.compress.Execute(sec);
}
catch (System.ArgumentOutOfRangeException)
{
MessageBox.Show("Ошибка при вычислении блока компрессии. Индекс за пределам диапазона.");
throw new TSLab.Script.ScriptException("Ошибка при вычислении блока компрессии. Индекс за пределам диапазона.");
}
unCompVolume.Context = ctx;
IList<double> nVolume = ctx.GetData("myVolume", new[] { VolumeSMAPeriod.ToString() },
delegate { return unCompVolume.Execute(NewCompSec); });
*******************************************
Красные бары это мое сжатие, синие - через кубики.