//интервал, в который происходит сжатие
public OptimProperty intervalNewGrafik = new OptimProperty(60, 1, 100, 1);
public virtual void Execute(IContext ctx, ISecurity source)
{
//ISecurity sourceCompress = source.CompressTo(intervalNewGrafik);
ISecurity sourceCompress = source.CompressTo(new Interval(intervalNewGrafik, source.IntervalBase));
IList<double> Highest = ctx.GetData("Массив High компрессионного таймфрейма", new[] { ShortPeriod.ToString() }, delegate { return sourceCompress.HighPrices; });
var HighestDec = sourceCompress.Decompress(Highest, DecompressMethodWithDef.Default);
IList<double> Lowest = ctx.GetData("Массив Low компрессионного таймфрейма", new[] { ShortPeriod.ToString() }, delegate { return sourceCompress.LowPrices; });
var LowestDec = sourceCompress.Decompress(Lowest, DecompressMethodWithDef.Default);
// Берем основную панель (Pane).
IPane mainPane = ctx.First;
// Отрисовка графиков.
mainPane.AddList(string.Format("High старшего периода "), HighestDec, ListStyles.LINE,0x000000, LineStyles.SOLID, PaneSides.RIGHT);
mainPane.AddList(string.Format("Low старшего периода "), LowestDec, ListStyles.LINE, 0x00ffff, LineStyles.SOLID, PaneSides.RIGHT);
}