Исправьте Баг в коннекторе AlfaDirect
Atom Ответить
24.03.2015


Разбирался с тестовым примером SampleAlfaDirect. Не приходят события связанные с Portfolio и как следствие не получается определить размер открытой позиции по инструменту на момент начала торгов.
Стал смотреть код и вроде бы нашел причину.
В файле AlfaTables.cs есть такая функция:

public string[] GetLocalDbData(string where = null)
{
if (where == null)
where = _filtered && _activeFilter.Any() ?
"paper_no in ({0})".Put(string.Join(",", _activeFilter)) : string.Empty;

var res = _ad.GetLocalDBData(Name, _strFields, where);
Log("GetLocalDbData {0}: {1}", where, res);
// сразу после старта терминала АД может вернуть null (баг в терминале)
return res == null ? ArrayHelper.Empty<string>() : res.ToRows();
}

причем сами разработчики написали, что баг в терминале присутствует.
Мне кажется, что проще поправить баг Вам, чем ждать пока его исправят разработчики АД.
Наверное есть смысл поставить "заплатку" и если возвращается пустой res сделать еще несколько попыток, например вот так

public string[] GetLocalDbData(string where = null)
{
if (where == null)
where = _filtered && _activeFilter.Any() ?
"paper_no in ({0})".Put(string.Join(",", _activeFilter)) : string.Empty;

var res = _ad.GetLocalDBData(Name, _strFields, where);
for (int i = 0; i < 10; i++)
{
if (res != null) break;
System.Threading.Thread.Sleep(500);
res = _ad.GetLocalDBData(Name, _strFields, where);
}
Log("GetLocalDbData {0}: {1}", where, res);
// сразу после старта терминала АД может вернуть null (баг в терминале)
return res == null ? ArrayHelper.Empty<string>() : res.ToRows();
}


Поправьте, please!)

Теги:


Спасибо:




9 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.03.2015
Ответить


Заплатки - не наш путь.
Спасибо:

LevNNN

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


Плохо! Так у Вас нерабочее ПО. Ваш пример тоже соответственно не работает. Я догадываюсь, что в платной версии у Вас этот баг исправлен?!)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.03.2015
Ответить


LevNNN Перейти
Плохо! Так у Вас нерабочее ПО.


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

LevNNN Перейти
Я догадываюсь, что в платной версии


Платной версии Альфа директа не существует. Как не существует и бесплатных версий платных коннекторов.
Спасибо:

LevNNN

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


Ваш комментарий - // сразу после старта терминала АД может вернуть null (баг в терминале)

Значит надо вызывать не сразу после старта... Вы про это хотели сказать?!

Тогда у Вас некорректно написан тестовый пример!

Какие настройки надо произвести на компьютере?! Если это некоммерческая тайна конечно!))


Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 26.03.2015
Ответить


Во первых успокойтесь. Во вторых что не так с примером по вашему.
Спасибо:

LevNNN

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


Да я спокоен!) Кстати, Вы так и не ответили на мой вопрос!

Вы просто напишите прямо - "Мы не настоящий Open Source... Мы не выложили все исходники, без нас Вы их поправить не сможете... Мы специально немного запутали код, чтобы Вы нам платили за поддержку и покупали платную версию. "

И ни каких вопросов у меня не будет!))
Автор топика
Спасибо:

LevNNN

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


Кстати, я абсолютно не против, чтобы Вы зарабатывали деньги, в том числе и на технической поддержке. Просто напишите об это прямо!
А то так сидишь, с кодом ковыряешься и совсем непонятно, то ли сам дурак, то ли это специально сделано.
Судя по тому, что тестовый пример не работает - специально.

Из - за того что тестовый пример для AlfaDirect не корректно работает, а также в целом проект компилируется с ошибками (StockSharp.Quik.Lua) - появляется отношение к проекту как к чему -то сырому и что использовать его в боевом режиме преждевременно.

Т.е. в Вашем замечательном продукте на который Вы потратили кучу сил и времени есть "ложка дегтя", от которой Вы избавиться не хотите! Подумайте на эту тему!




Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 26.03.2015
Ответить


Это паранойя. Извините но дальше нет желания с вами общаться.
Спасибо:

LevNNN

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


А в чем паранойя?! Напишите что-нибудь конкретное! Вам вопросы задаешь, Вы не отвечаете! Если я неправ, я извинюсь!
Автор топика
Спасибо:


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

loading
clippy