Nektodron, пытаюсь сделать индикатор в виде свечей от 2-х источников, этот код комиплируется в SharpDevelop, но в ТСЛабе при запуске скрипта выдаёт ошибку:
public class spread : ISecurityInputs, IDoubleReturns, ITwoSourcesHandler, IStreamHandler
{
public ISecurity Execute(ISecurity source1, ISecurity source2)
{
var bars = new List<Bar>(source1.Bars.Count);
for (int i = 0; i < source1.Bars.Count; i++)
{
var bar = source1.Bars[i];
var o1 = source2.OpenPrices[i];
var h1 = source2.HighPrices[i];
var l1 = source2.LowPrices[i];
var c1 = source2.ClosePrices[i];
var newBar = new Bar(bar.Color, bar.Date,bar.Open-o1,
bar.High-h1,
bar.Low-l1,
bar.Close-c1,
bar.Volume){ Ask = bar.Ask, Bid = bar.Bid, AskQty = bar.AskQty, BidQty = bar.BidQty };
bars.Add(newBar);
}
return source1.CloneAndReplaceBars(bars);
}
}
18:17:55.84 c:\Documents and Settings\...\Local Settings\Application Data\TSLab\TSLab\temp\code8.cs(27,24) : error CS0266: Неявное преобразование типа 'TSLab.Script.ISecurity' в 'System.Collections.Generic.IList<double>' невозможно. Существует явное преобразование (возможно, отсутствует приведение)
18:17:55.84 c:\Documents and Settings\...\Local Settings\Application Data\TSLab\TSLab\temp\code8.cs(27,17) : error CS1662: Не удается преобразовать "анонимный метод" в тип делегата "TSLab.DataSource.CacheObjectMaker<System.Collections.Generic.IList<double>>", так как некоторые типы возвращаемого значения в блоке не являются неявно преобразуемыми в тип возвращаемого значения делегата
Что в этом коде нужно исправить?