Список сделок

Для получения списка сделок существует метод ISecurity.GetTrades(...). Он имеет две реализации:

  • GetTrades(int barNum) - Получить список сделок по номеру свечи.

  • GetTrades(int firstBarIndex, int lastBarIndex) - Получить список сделок по нескольким свечам.

В обоих случаях методы возвращают список объектов ITrade.

Пример, получаем последние 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