Понимаю что поднимаю старую и изжеванную тему, но можно ли ISecurityRt использовать в кубиках, а не в скриптах
public class Portfel : IOneSourceHandler, ISecurityInput0, IDoubleReturns, IStreamHandler, IContextUses
{
public IContext Context { set; get; }
public double Execute(ISecurity sec)
{
var rtSec = sec as ISecurityRt;
if (rtSec == null)
{
//Context.Log("Мы в режиме лаборатории!!!", new Color());
return 0;
}
// var bid = rtSec.FinInfo.Bid ?? 0; // Бид и аск.
// var ask = rtSec.FinInfo.Ask ?? 0;
// Context.Log("BID" + bid.ToString(CultureInfo.InvariantCulture) + " ASK" + ask.ToString(CultureInfo.InvariantCulture), new Color());
var cb = rtSec.CurrencyBalance; // Размер свободных денег (Колонка текущая стоимость)
var bq = rtSec.BalanceQuantity; // Сколько взято лотов всего по портфелю для бумаги
var eb = rtSec.EstimatedBalance; // Чистый баланс. Все обязательства учтены. (Колонка чистая стоимость)
var pn = rtSec.PortfolioName; // Имя потфеля.
// Context.Log("svobodnie: " + cb.ToString(CultureInfo.InvariantCulture) + " balance: " + eb.ToString(CultureInfo.InvariantCulture), new Color());
return 0;
}
}
TsLab ругается
16:10:59.33 128 Скрипт 'testPortfel': c:\Users\INVEST\AppData\Local\TSLab\TSLab12\temp\code5.cs(30,24) : error CS0029: Неявное преобразование типа "double" в "System.Collections.Generic.IList<double>" невозможно
16:10:59.33 128 Скрипт 'testPortfel': c:\Users\INVEST\AppData\Local\TSLab\TSLab12\temp\code5.cs(30,17) : error CS1662: Не удается преобразовать "анонимный метод" в тип делегата "TSLab.DataSource.CacheObjectMaker<System.Collections.Generic.IList<double>>", так как некоторые типы возвращаемого значения в блоке не являются неявно преобразуемыми в тип возвращаемого значения делегата