клиринг в 18:45 - после него проблемы.

клиринг в 18:45 - после него проблемы.
Atom
6/13/2012
igork


SmartCom 4.0.20.

Искал причину того, что после вечернего клиринга приложение видит securities со старыми параметрами (ClosePrice и т.д.). Даже StopExport/StartExport не решали проблему, пришлось делать Disconnect и Connect, только так инструменты начинают обновляться.

Последующие наблюдения дали следующие результаты: если происходит обрыв связи в ходе торговой сессии, то в соответсвии с настройками ReConnect происходит нормально и все работает пучком (кажется, с пристрастием не тестировал). Но с клирингом в 18:45 проблемы. В 18:45:41 получаем последние сообщения Position Changed, и после этого получение сообщений SecuritiesChanged прекращается. При этом никаких проблем с коннектом не было, соединение за 15 минут (18:45 - 19:00) не разрывалось. Далее каждые 20 секунд приходит PortfolioChanged, но более никаких сообщений по позициям и инструментам не поступает (трэйды не пробовал, робот не торгует, потому что у него тупо старые цены стоят). Как написано выше, StopExport/StartExport не решают проблему. Забавно, но если сделать StopExport/StartExport в 19:03, то SecuritiesChanged приходит один раз, но параметры инструмента старые. Только полное переподключение решает проблему.

Переподключение закодирую, но исключительно для собственного понимания - почему так? Могу выслать целиковое приложение VS2010 если необходимо для того, чтобы посмотреть у себя.

Tags:


Thanks:


1 2  >
OvcharenkoVI

Avatar
Date: 6/13/2012
Reply


Могу сразу за Александра ответить, что использовать нужно 4.1, а дальше по проблеме не знаю )
Thanks:

igork

Avatar
Date: 6/13/2012
Reply


Я еще не разобрался с лицензионными условиями использования StockSharp, и чем это грозит в будущем. Просмотрев ветку, посвященную лицензиям, я понял, что есть большие отличия между физиками и юриками. Физик - это человек, у которого один компьютер и один IP-адрес. Поэтому я скорее на юрика похож - у меня (будет) много роботов, очень простых, но много, потому что я не очень люблю, когда многопоточный робот падает. Плюс у меня есть тестовая виртуалка, рабочий комп, персональный комп и т.п. У меня каждый простенький робот живет на своей виртуальной машине - их сейчас уже 3 штуки. Поэтому 4.1 остерегаюсь.

Желательно бы по сути вопроса. Ведь непонятно теперь, когда делать Connect - в 18:59 (было бы здрово), или в 19:00, или в 19:01.
Thanks:

Alexander

Avatar
Date: 6/13/2012
Reply


Поддержка 4.0 не осуществляется
Thanks:

igork

Avatar
Date: 6/13/2012
Reply


:-) понятно. Извините, но на 4.1 все равно не перейду, при проектировании заранее все предумотрел и решил использовать только Connect/Disconnect/StartExport/StopExport, чтобы не было проблем при переходе со StockSharp на другую библиотеку.
Thanks:

Mikhail Sukhov

Avatar
Date: 6/13/2012
Reply


igork
Я еще не разобрался с лицензионными условиями использования StockSharp, и чем это грозит в будущем. Просмотрев ветку, посвященную лицензиям, я понял, что есть большие отличия между физиками и юриками. Физик - это человек, у которого один компьютер и один IP-адрес. Поэтому я скорее на юрика похож - у меня (будет) много роботов, очень простых, но много, потому что я не очень люблю, когда многопоточный робот падает.


http://stocksharp.com/fo...sienziia.aspx#post18891 И не плохо бы погуглить что такое юр лицо. Наличие множества компьютеров не делает из физика юрика.
Thanks:

igork

Avatar
Date: 6/14/2012
Reply


Михаил,

я с превеликим уважением отношусь к вашей разработке, но везде есть свои нюансы. Читать всю ветку про лицензии нет сил, но просматривая текст лицензии, я обратил внимание на некоторые вещи. "Лицензия выдается бесплатно сроком на год." А что после года? А если после года использования заломят 2500 р за каждый экземпляр робота, который конектится через SmartCom? И т.д. С одной стороны меня как физика интересует шкурный вопрос, с другой стороны какая-то вменяемая плата не напрягает. Нужна четкая определеность в том, как вы будете монетизировать библиотеку, и что случится, когда вдруг вы свою компанию закроете, а срок действия лицензионного файлика истечет. А что будет, если вы запусите версию 4.2 с другими условиями, а любые вопросы по версии 4.1 тоже получат статус "Поддержка 4.1 не осуществляется"?

Баги я нахожу, прикладываю свои workaround-ы, так что и текущая версия не напрягает. Когда закончу роботов - тоже выложу в бесплатный доступ. Тестировать я и так тестирую и о проблемах сообщаю. Проблема, за которую взялся сегодня, была выявлена еще 2 недели назад, но только сегодня нашел время ей заняться, да и то потому, что после вечернего клиринга ГО на инструментах не поменялось, и откладывать уже было нельзя. Точно ли эта проблема решена в 4.1? Если да, то почему так и не сказать, вместо unsupported?

В конечном счете меня пока интересует только SmartCom. Написав некоторый комплект роботов, при возникновении каких-то проблем с автором Stock#, будет несложно написать такую-же библиотеку только для SmartCom, реализовав базовые объекты и 10 событий. Иначе смысла выкладывать даже бесплатных роботов для всеобщего пользования нет, если пользователь должен будет к 150 кб исполняемому файлу тащить еще несколько мегов библиотек, регистрироваться где-то и т.д.

Ввиду этой неопределенности нет желания завязываться глубже и остаться на 4.0.23. Лицензионное соглашение пока недоработано. Даже у физика как минимум три виртуальных машины: одна для торговли, вторая для тестирования на тестовом счете, и третья для разработки. И все ходят в инет с одного компа через Stream/Akado/т.п. или через корпоративный прокси. При этом помимо основного IP есть резервный, так как при отключении Stream сразу переключаемся на Akado/Yota и т.д. Посему решил пока не переходить, не разобравшись. Извиняюсь за оффтоп, ветку можно залочить, вопрос исчерпан.
Thanks: votor

Mikhail Sukhov

Avatar
Date: 6/14/2012
Reply


igork
Читать всю ветку про лицензии нет сил


Проблему я понял, методы решения предоставил. Имеющий уши, да услышит.
Thanks:

Maksim Chertkov

Avatar
Date: 8/10/2012
Reply


Если еще актуально по поводу перехода через клиринг - то проблема там в самом API SmartCOM. Пользую его напрямую, без коннектора, и проблема состоит в том что в клиринг отваливаются подписки на события. Я решил эту проблему автоматическим переподключением около 19-00 с переподпиской на события получения информации (сделки, стакан).
Thanks:

igork

Avatar
Date: 8/10/2012
Reply


Максим, спасибо, я заметил эту проблему, SmartTrade и прочие терминалы тоже перестали работать после клиринга, их надо переподключать. Проблема усугублена еще и тем, что благодаря реализации Stock# Trader обычный Disconnect/Connect ничего не дает => после переподключения все события начинают транслироваться, кроме SecuritiesChanged. Приходилось руками закрывать приложение и снова его запускать. В результате сделал надстройку над SmartTrader, собственную реализацию WorkingTime, и принудительно убиваю SmartTrader по расписанию и заново его создаю с новой подпиской на все события. Вот только сейчас заканчиваю, в понедельник будет ясно, заработает такая конструкция или нет.
Thanks:

Maksim Chertkov

Avatar
Date: 8/10/2012
Reply


Я отказался от коннектора именно из-за некорректной работы при переподключении. Непосредственная работа с API позволяет переподписать только те события, которые нужны, не убивая экземпляр клиента. Аналогичная проблема кстати возникает при оставленном на ночь клиенте - он не отключается, но события отваливаются. Мне пришлось писать отдельный класс-реконнектор, который отвечает за переподключение и принудительно перезагружает клиента в момент клиринга, а так же отключает его на ночь. Плюс SmartCOM еще и сервера часто отключает без предупреждения, поэтому пришлось дописывать карусель серверов при переподключении. Тоже важные тонкости, думаю пригодятся ;)
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy