клиринг в 18:45 - после него проблемы.
Atom Ответить
13.06.2012


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 если необходимо для того, чтобы посмотреть у себя.

Теги:


Спасибо:




19 Ответов
OvcharenkoVI

Фотография
Автор статей
Дата: 13.06.2012
Ответить


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

igork

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


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

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

Alexander

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


Поддержка 4.0 не осуществляется
Спасибо:

igork

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


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

Mikhail Sukhov

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


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


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

igork

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


Михаил,

я с превеликим уважением отношусь к вашей разработке, но везде есть свои нюансы. Читать всю ветку про лицензии нет сил, но просматривая текст лицензии, я обратил внимание на некоторые вещи. "Лицензия выдается бесплатно сроком на год." А что после года? А если после года использования заломят 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 и т.д. Посему решил пока не переходить, не разобравшись. Извиняюсь за оффтоп, ветку можно залочить, вопрос исчерпан.
Автор топика
Спасибо: votor

Mikhail Sukhov

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


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


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

Maksim Chertkov

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


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

igork

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


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

Maksim Chertkov

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


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

Mikhail Sukhov

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


Maksim Chertkov Перейти
Тоже важные тонкости, думаю пригодятся ;)


Может списком выписывать, какие есть тонкости и что не работает в SmartTrader?
Спасибо:

Maksim Chertkov

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


Mikhail Sukhov Перейти

Может списком выписывать, какие есть тонкости и что не работает в SmartTrader?


Не понял сути наезда. Человек идет по тому же пути, что мне пришлось проходить, что плохого в том чтоб ему помочь? В том что он столкнется с этим после решения проблем с клирингом я уверен 100%. И не для того ли создан раздел по коннектору СмартКом чтоб выяснять что в нем работает и что нет? Если администрация считает эти сообщения флудом и оффтопом, скажите пожалуйста, я удалю сообщения и больше писать про решения каких-либо проблем не буду, зачем делать жизнь кому-то проще...
Спасибо: igork Кот Матроскин

Mikhail Sukhov

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


Maksim Chertkov Перейти
что плохого в том чтоб ему помочь?


Ничего, кроме как не понятно, каким образом это относиться к S#. Есть правила, есть суть "оффтопа". Если что-то не работает в S#, то нужно об этом извещать. Если конечно есть желание помогать.
Спасибо:

Maksim Chertkov

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


Mikhail Sukhov Перейти
Если что-то не работает в S#, то нужно об этом извещать. Если конечно есть желание помогать.


Именно о некорректной работе SmartTrader с переподключением я писал еще в феврале по скайпу, когда был платно оформлен на техподдержку.
Ответ был такой что по непонятным причинам внутри SmartCOM поднятия событий иногда не происходит. Мне весь диалог сюда копировать? А сейчас человек обратился с той же проблемой, ничего по теме кроме обсуждения лицензий сказано не было, тема провисела месяц, и когда я поделился опытом и сказал почему именно поднятия не происходит и как это можно решить, описав попутно еще одну проблему, которую в коннектор включать как мне кажется смысла нет, оказалось что это оффтоп. Проблему понял, больше о том что не работает в коннекторах и API на форуме ни звука.

Спасибо:

Mikhail Sukhov

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


Maksim Chertkov Перейти
Мне весь диалог сюда копировать?


Нет, только собственно то, что не работает. И если известно как исправлять - то и это так же.

Maksim Chertkov Перейти
А сейчас человек обратился с той же проблемой, ничего по теме кроме обсуждения лицензий сказано не было, тема провисела месяц,


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

Maksim Chertkov Перейти
больше о том что не работает в коннекторах и API на форуме ни звука.


Ну начинается...
Спасибо:

Maksim Chertkov

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


Mikhail Sukhov Перейти

Нет, только собственно то, что не работает.


А из поста топикстартера это непонятно было?

Mikhail Sukhov Перейти

И если известно как исправлять - то и это так же.


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

Mikhail Sukhov Перейти

Человек пишет много, и не в том разделе.


А в каком разделе нужно обсуждать проблемы в работе коннектора SmartCOM? Он же не в Плазу и не в Квик написал...

Mikhail Sukhov Перейти

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


Понимаю это, я ж написал не претензию, а совет человеку как решить проблему. На тему все забили, а проблема как выяснилось осталась. Мы с ним пообщались, он сказал спасибо.
Мож кто другой сэкономит время, прочитав этот топик вместо того чтоб самому ловить эти глюки. Еще лучше будет если кто-то напишет что мое решение это гавно и приведет пример более элегантного решения проблемы - да я первый ему спасибо скажу.

Спасибо:

Mikhail Sukhov

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


Maksim Chertkov Перейти

Мож кто другой сэкономит время, прочитав этот топик вместо того чтоб самому ловить эти глюки. Еще лучше будет если кто-то напишет что мое решение это гавно и приведет пример более элегантного решения проблемы - да я первый ему спасибо скажу.


Можно еще раз привести суть проблемы и ее решение? В этом топике обсуждалось несколько проблем.
Спасибо:

Maksim Chertkov

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


Имелась ввиду проблема с отваливающимися событиями в СмартКОМ - она подробно изложена в самом первом топике автора. И в связи с тем что автор не пожелал переходить на версию 4.1 я написал как решал эту проблему и похожие другие, когда сам пользовался S# 4.0.23. Еще написал что хорошо бы в механизм подключения к API добавить массив строк с серверами для подключения к API и задействовать их по очереди - в IT-invest есть нехорошая практика перепрыгивать с сервера на сервер.
Если все эти проблемы решены в версии 4.1 - значит это помогло только топикстартеру и больше неактуально. Если нет - то можно попробовать внести эти изменения в коннектор.
Спасибо:

Mikhail Sukhov

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


Maksim Chertkov Перейти
Если все эти проблемы решены в версии 4.1


С этого и надо было начинать... Все остальное не интересно, но спасибо за консультацию.
Спасибо:


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

loading
clippy