Список сделок
Для получения списка сделок существует метод 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 полностью совпадает с данными из терминала.

Last updated
Was this helpful?