Здравствуйте! Подготовил простой код для вопроса. Консольное приложение, подключаюсь к бирже, подписываюсь на инструмент и сделки, и сделок не получаю, хотя на бирже они идут. Весь код консольного приложния:
using System;
using System.Diagnostics;
using StockSharp.Algo;
using StockSharp.Bitmex;
using StockSharp.BusinessEntities;
namespace ConsoleApp1
{
class Program
{
private static string bitmexKey = "VYADy5Od27ZiKKtuSQ09rVM9";
private static string bitmexSecret = "dUoqGLZJnXeMOB67R430PZQnZ1Y3jzJITh4cek02o0GLHpnn";
private static Connector _connector = new BitmexTrader() { Key = bitmexKey, Secret = bitmexSecret };
static void Main(string[] args)
{
_connector.NewTrade += (trade) => Debug.WriteLine($"Сделка: {trade.Id}, {trade.Time} , {trade}");
_connector.NewSecurity += _connector_NewSecurity;
_connector.Connect();
Console.ReadKey();
_connector.Disconnect();
}
private static void _connector_NewSecurity(Security security)
{
if (security.Code == "XBTUSD")
{
_connector.RegisterSecurity(security);
_connector.RegisterTrades(security);
Debug.WriteLine($"Инструмент {security.Code} найден!");
Debug.WriteLine((_connector.RegisteredSecurities as List<Security>).Count);
foreach (var item in _connector.RegisteredSecurities)
Debug.WriteLine($"Инструмент {item.Code} успешно зарегистрирован!");
foreach (var item in _connector.RegisteredTrades)
Debug.WriteLine($"Сделки по инструменту {item.Code} успешно зарегистрированы!");
}
}
}
}
(На всякий случай прилалгаю скрин "референсов".)
Собственно вопрос: почему не удается получить сделки?
ПС: проверил, зарегистрирован ли на самом деле инструмент - _connector.RegisteredSecurities - пуст. Т.е. похоже на то, что не работает функция регистрации инструмента (RegisterSecurity)?
(Исходный код обновил - добавил проверку на наличие зарегистрированных инструментов)