Я на форуме нашел примеры индикаторов и среди них есть те, что работают с объектом ISecurityRT (наверное от слова рантайм). Пример скомпилировался, но работать корректно не хочет, либо я не того жду от примера. Код класса индикатора вот:
public class CurrentBid : IBar2DoubleHandler
{
public IList<double> Execute(ISecurity source)
{
var rt = source as ISecurityRt;
var v = rt == null ? 0.1 : rt.FinInfo.Bid.HasValue ? rt.FinInfo.Bid.Value : 0.2;
var res = new double[source.Bars.Count];
for (int i = 0; i < res.Length; i++)
{
res[i] = v;
}
return res;
}
}
Тестирую не на тектовых данных, как положено, онлайн. В вывод на график попадают 0.1 (иерархический кастинг as возвращает null). Скажите пожалуйста, что тут неверно?