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() { 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)?
(Исходный код обновил - добавил проверку на наличие зарегистрированных инструментов)
image7391.png 435 KB (291) image2893.png 160 KB (269)



Спасибо:


< 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