Nektodron, пытаюсь сделать индикатор в виде свечей от 2-х источников, этот код комиплируется в SharpDevelop, но в ТСЛабе при запуске скрипта выдаёт ошибку:

Code:
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>>", так как некоторые типы возвращаемого значения в блоке не являются неявно преобразуемыми в тип возвращаемого значения делегата



Что в этом коде нужно исправить?


Отредактировано uprav (Sun Sep 05 2010 04:21 PM)
_________________________