Данные по инструменту

FinInfo - текущие котировки по бумаге

Свойство ISecurity.FinInfo предоставляет текущие данные по бумаге. Например, можно посмотреть текущие цены bid/ask, цену открытия, открытый интерес, дату экспирации если есть, гарантийные обязательства и многое другое.

Полный список можно посмотреть здесь.

Пример скрипта, который выводит в лог текущие цены bid и ask при каждом пересчете:

using TSLab.Script;
using TSLab.Script.Handlers;

namespace MyLib
{
    public class GetFinInfo : IExternalScript
    {
        public void Execute(IContext ctx, ISecurity sec)
        {
            var fi = sec.FinInfo;
            var txt = string.Format("{0}: {1} ({2})  -  {3} ({4})", fi.LastUpdate, fi.Bid, fi.BuySqty, fi.Ask, fi.SellSqty);
            ctx.Log(txt);
        }
    }
}

Bars - список свечей

Свойство ISecurity.Bars предоставляет список свечей. Этот список состоит из объектов IDataBar, которые содержат время, цены, объем, открытый интерес.

Подробное описание текстовых файлов источников можно посмотреть здесь.

Пример скрипта, который рассчитывает и отображает на графике медианную цену по барам:

using System.Linq;
using TSLab.Script;
using TSLab.Script.Handlers;

namespace MyLib
{
    public class GetMedian : IExternalScript
    {
        public void Execute(IContext ctx, ISecurity sec)
        {
            var prices = sec.Bars.Select(x => (x.High + x.Low) / 2).ToList();
            ctx.First.AddList("Median", prices, ListStyles.LINE, ScriptColors.Magenta, LineStyles.SOLID, PaneSides.RIGHT);
        }
    }
}

Список цен

Для удобства, интерфейс ISecurity предоставляет различные списки цен:

OpenPrices

Список цен открытия

ClosePrices

Список цен закрытия

HighPrices

Список максимумов

LowPrices

Список минимумов

Volumes

Список объемов

Пример скрипта, который отображает на графике максимальные и минимальные цены:

using TSLab.Script;
using TSLab.Script.Handlers;

namespace MyLib
{
    public class GetPrices : IExternalScript
    {
        public void Execute(IContext ctx, ISecurity sec)
        {
            ctx.First.AddList("HighPrices", sec.HighPrices, ListStyles.LINE, ScriptColors.Green, LineStyles.DOT, PaneSides.RIGHT);
            ctx.First.AddList("LowPrices", sec.LowPrices, ListStyles.LINE, ScriptColors.Red, LineStyles.DOT, PaneSides.RIGHT);
        }
    }
}

Last updated