Для получения списка сделок существует метод ISecurity.GetTrades(...). Он имеет две реализации:
GetTrades(int barNum) - Получить список сделок по номеру свечи.
GetTrades(int firstBarIndex, int lastBarIndex) - Получить список сделок по нескольким свечам.
В обоих случаях методы возвращают список объектов ITrade.
Интерфейс ITrade
Date
Дата и время
TradeNo
Номер сделки
Direction
Направление сделки (Buy, Sell)
Price
Цена
Quantity
Количество
OpenInterest
Открытый интерес
Пример, получаем последние 5 сделок и выводи их в лог:
usingSystem;usingSystem.Linq;usingSystem.Text;usingTSLab.Script;usingTSLab.Script.Handlers;namespaceMyLib{publicclassGetTrades:IExternalScript {publicvoidExecute(IContext ctx,ISecurity sec) { // Получаем список сделок для последнего бара и берем только последние 5 штук.var trades =sec.GetTrades(ctx.BarsCount-1).Reverse().Take(5).ToList();var sb =newStringBuilder(); // Выводим информацию по каждой сделке в лог.foreach (var trade in trades) {sb.AppendFormat("Date: {0}; ",trade.Date);sb.AppendFormat("TradeNo: {0}; ",trade.TradeNo);sb.AppendFormat("Direction: {0}; ",trade.Direction);sb.AppendFormat("Price: {0}; ",trade.Price);sb.AppendFormat("Quantity: {0}; ",trade.Quantity);sb.AppendFormat("OpenInterest: {0}; ",trade.OpenInterest);sb.AppendLine(); }ctx.Log(sb.ToString()); } }}
Информация из TSLab полностью совпадает с данными из терминала.