Bitmex, Получение сделок, API 4.4.12_ru
Atom
29.07.2018
tsuranov


Здравствуйте! Подготовил простой код для вопроса. Консольное приложение, подключаюсь к бирже, подписываюсь на инструмент и сделки, и сделок не получаю, хотя на бирже они идут. Весь код консольного приложния:

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() ;

    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)? (Исходный код обновил - добавил проверку на наличие зарегистрированных инструментов)

image7391.png 435 KB (423) image2893.png 160 KB (400)



Спасибо:


< 1 2 
Support

Фотография
Дата: 31.07.2018
Ответить


Добрый день

Просьба включить логи Connector.LogLevel = LogLevels.Verbose и прислать на почту support@stocksharp.com

Спасибо:

Support

Фотография
Дата: 31.07.2018
Ответить


Событие CandleSeriesStopped не будет срабатывать никогда при построении свечей. Только при отписке.

Спасибо:

tsuranov

Фотография
Дата: 01.08.2018
Ответить


"Событие CandleSeriesStopped не будет срабатывать никогда при построении свечей. Только при отписке." - у меня оно срабатывает, если проставить дату "to" _connector.SubscribeCandles(_candleSeries, DateTime.Now.Subtract(TimeSpan.FromMinutes(5)), DateTime.Now); Как я понял, в этом случае свечи получаются только с "from" до "to" Если "to" не проставить, то вроде как дата окончания не проставлена и свечи будут формироваться бесконечно. Мне показалось это логичным.

Спасибо:

Support

Фотография
Дата: 01.08.2018
Ответить


Добрый день

К сожалению в присланном логе нет информации об ошибках, которые вы приводили ранее.

Спасибо:

tsuranov

Фотография
Дата: 01.08.2018
Ответить


убрал ,чтобы не засорять главное.

Спасибо:

tsuranov

Фотография
Дата: 01.08.2018
Ответить


Прощу прощения, по логам я неправильно понял и прислал не для ночной сборки. Выслал для ночной.(правда там пишет, что коннектор является заглушкой... странно)

Спасибо:

Support

Фотография
Дата: 02.08.2018
Ответить


Добрый день

Событие CandleSeriesStopped будет вызываться только в случае остановки серии. Это может быть сделано принудительно через метод отписки или при окончании данных. Если вы не указали дату окончания у подписки и источник предоставляет изменения свечей в реальном времени, то событие не будет вызвано никогда.

Спасибо: tsuranov

tsuranov

Фотография
Дата: 02.08.2018
Ответить


Благодарю! (по поводу результата по основному вопросу отпишусь позже, сегодня не успеваю)

Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy