Получить все инструменты поставщика

Можно получить весь список инструментов, у каждого инструмента получить его характеристики, такие как шаг цены, размер лота и другие. Список баров по инструменту нельзя получить таким способом.

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

namespace MyLib
{
    public class GetAllSymbols2 : IExternalScript
    {
        // для текстового поставщика
        public void Execute(IContext ctx, ISecurity sec)
        {
            var secInfo = sec?.SecurityDescription?.TradePlace?.DataSource as ISecuritiesInfo;
            if (secInfo != null)
            {
                var sb = new StringBuilder();
                sb.AppendLine("=== Symbols ===");

                var places = secInfo.GetTradePlaces(false).ToList();
                // получить все инструменты из рынка 1
                var securities = secInfo.GetSecurities("", ActiveType.Unknown | ActiveType.Undefined, places[0].Id).ToList();

                // выводим первые 10 инструметов
                foreach (var s in securities.Take(10))
                    sb.AppendLine(Print(s));

                ctx.Log(sb.ToString(), MessageType.Info, true);

                string Print(IDataSourceSecurity s)
                {
                    var ss = s as SecurityHelper;
                    return $"{s.Name}: шаг цены={s.Tick}, размер лота:{s.LotSize}";
                }
            }
        }
    }
}

Last updated