Список сделок
Для получения списка сделок существует метод ISecurity.GetTrades(...). Он имеет две реализации:
GetTrades(int barNum) - Получить список сделок по номеру свечи.
GetTrades(int firstBarIndex, int lastBarIndex) - Получить список сделок по нескольким свечам.
В обоих случаях методы возвращают список объектов ITrade.
Интерфейс ITrade
Date | Дата и время |
TradeNo | Номер сделки |
Direction | Направление сделки (Buy, Sell) |
Price | Цена |
Quantity | Количество |
OpenInterest | Открытый интерес |
Пример, получаем последние 5 сделок и выводи их в лог:
using System; using System.Linq; using System.Text; using TSLab.Script; using TSLab.Script.Handlers; namespace MyLib { public class GetTrades : IExternalScript { public void Execute(IContext ctx, ISecurity sec) { // Получаем список сделок для последнего бара и берем только последние 5 штук. var trades = sec.GetTrades(ctx.BarsCount - 1).Reverse().Take(5).ToList(); var sb = new StringBuilder(); // Выводим информацию по каждой сделке в лог. 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 полностью совпадает с данными из терминала.
