Можно получить весь список инструментов, у каждого инструмента получить его характеристики, такие как шаг цены, размер лота и другие.
Список баров по инструменту нельзя получить таким способом.
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}";
}
}
}
}
}