Гидра на CodePlex

Гидра на CodePlex
Atom
9/12/2011
Mikhail Sukhov


Так как Гидра теперь выложена со своими исходника в систему CodePlex, предлагаю всем неравнодушным к проекту помочь в развитие.

Навскидку видны следующие таски:


  1. (Сделано) Научить ее работать с SQL Lite, чтобы не требовалась сложная установка с Sql Server 2008.
  2. Авто обновление закаченных данных и структуры базы при новой версии.
  3. (Сделано) Научить Гидру работать со свечками. Закачивать из внешних источников, автоматически их создавать из тиков и т.д. Нужно для тех инструментов, для который просто не найти тики. Со стороны тестера S# такое можно поддержать.
  4. Сделать источники для западных площадок (IQFeed, ESignal).
  5. (Сделано) Научить Гидру сохранять не только тики и стаканы, а так же волатильность, открытый интерес.
  6. (Сделано) Выводить ошибки через MonitorWindow (переделав предварительно все логи на ILogSource).


Желающих прощу высказываться в этом топике.

Tags:


Thanks:


< 1 2 3 4 5  > >>
Mikhail Sukhov

Avatar
Date: 10/14/2011
Reply


prometey1982
Как эти shelves использовать? Тоже думал над этим моментом поэтому попытался сделать чтобы логи работали. Единственный момент, видимо опять же нужно сохранение логов в файлы.


Шелв описал уже Александр, а про логи в файл - это естественно. Идея LogManager в том, что он умеет ретранслировать сообщения от своих источников LogManager.Sources (в данном случае, это все Гидра источники, главная форма, Worker) в свои слушатели. Вот случателями я предлагаю сделать FileLogListener и GuiLogListener. Последний вы как раз и успели создать в коде. Только зачем-то его создание перенесли в момент, когда нажимается кнопка Логи. А нужно в конструкторе. Потому что MonitorWindow будет получать логи начиная с того момента, как он был передан в GuiLogListener.
Thanks:

prometey1982

Avatar
Date: 10/14/2011
Reply


Понял, значит LogManager только транслятор сообщений. Смущает немного INotifyCollection или как оно на память точно не помню. Это было сделано для построения иерархии сообщений? Точнее вывода в иерархию? А есть ли коллекции реализующие данный интерфейс? Хотя наверно это все в документации есть. Хотя с другой стороны можно реализовать и без коллекции как таковой, динамически возвращать элементы по там же будет Worker и источники только, в смысле свою коллекцию сделать, тем более что из MainWindow надо эти вещи убрать в класс менеджер наверно, они ИМХО слабо с самой формой связаны. Из-за этого и пришлось вложенный класс логов сделать, дабы свойство Parent не перекрывалось.
Thanks:

Mikhail Sukhov

Avatar
Date: 10/14/2011
Reply


prometey1982
Понял, значит LogManager только транслятор сообщений. Смущает немного INotifyCollection или как оно на память точно не помню. Это было сделано для построения иерархии сообщений? Точнее вывода в иерархию? А есть ли коллекции реализующие данный интерфейс? Хотя наверно это все в документации есть. Хотя с другой стороны можно реализовать и без коллекции как таковой, динамически возвращать элементы по там же будет Worker и источники только, в смысле свою коллекцию сделать, тем более что из MainWindow надо эти вещи убрать в класс менеджер наверно, они ИМХО слабо с самой формой связаны. Из-за этого и пришлось вложенный класс логов сделать, дабы свойство Parent не перекрывалось.


Не совсем понял причину вложенного класса. Иерархия вложенности источников достигается за счет реализации интерфейса ILogSource, а не структуры кода.
Thanks:

prometey1982

Avatar
Date: 10/15/2011
Reply


Чтобы MainWindow наследующийся от FrameworkElement не перекрывал Parent объявленный как раз во FrameworkElement.
Thanks:

Mikhail Sukhov

Avatar
Date: 10/15/2011
Reply


prometey1982
Чтобы MainWindow наследующийся от FrameworkElement не перекрывал Parent объявленный как раз во FrameworkElement.


http://altyn.livejournal.com/340068.html
Thanks:

Mikhail Sukhov

Avatar
Date: 11/6/2011
Reply


Что-то все затихло.[sad]
Thanks:

AlexK2

Avatar
Date: 11/16/2011
Reply


прежде чем изобретать квадратное колесо, поискал в инете и нашел (есть задача скачаивать данные торгов с квика, сохранять и потом строить свечи), скачал исходники, собрал, настроил.
предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).

я новичок, просьба не пинать, не было времени чтобы прочитать всю документацию по сток шарпу, юзал ка кобычно дебагер :-)
у меня такой вопрос. использование DDE - это полный пипец. тот же квик прекрасно сохраняет данные в базу данных.
может уже есть какой-то интерфейс в стокшарпе чтоб сохранять данные в базу, строить по ним свечи и
графически отбражать свечи, используя гидру?
Thanks:

Alexander

Avatar
Date: 11/16/2011
Reply


AlexK2
прежде чем изобретать квадратное колесо, поискал в инете и нашел (есть задача скачаивать данные торгов с квика, сохранять и потом строить свечи), скачал исходники, собрал, настроил.
предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).

я новичок, просьба не пинать, не было времени чтобы прочитать всю документацию по сток шарпу, юзал ка кобычно дебагер :-)
у меня такой вопрос. использование DDE - это полный пипец. тот же квик прекрасно сохраняет данные в базу данных.
может уже есть какой-то интерфейс в стокшарпе чтоб сохранять данные в базу, строить по ним свечи и
графически отбражать свечи, используя гидру?


Нет, по ODBC не выводим.
Stock# - безбазовый клиент.
Не знаю чем DDE "пипец", но работает как часы и довольно шустро для своих задач. Не медленнее чем было бы по ODBC.
Thanks:

Mikhail Sukhov

Avatar
Date: 11/17/2011
Reply


AlexK2
предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика,


Следующая версия Гидры будет без привязки к SQL Server. Переносим на SQLite. Может сделаете такс с авто накатывания скрипты модификации базы при старте новой версии Гидры?

Что в меню? Статус бар уже есть - то что посередине. Плюс логи. Что-то еще выводите?

AlexK2

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


Да, было бы хорошо. Помощникам выделенный саппорт через скайп.[cool] Могу рассказать про многопоточность (хотя пока не понимаю сути проблемы).

AlexK2

тот же квик прекрасно сохраняет данные в базу данных.


Как я пишу, от базы нужно избавляться. Тем более, построение свечек, отличных от ТФ, на SQL - это тот еще геморрой. Зачем, если на C# уже есть и будет быстрее на порядок. Ну и плюс - это не универсальное решение. Квик - это вчерашний день. В него вкладываться (в плане разработки) уже не эффективно.
Thanks:

AlexK2

Avatar
Date: 11/17/2011
Reply


как у Вас организована работа над проектом? (кто раздает задачи, кто тетсирует и т.д)
может кинете мне какую-нибудь задачку? (может уже используется что-то типа jira? )

1. Хранение данных. почему бы для хранения настроек программы и загруженных и обработанных данных не
использовать какой-то общий интерфейс и реализовать хотя бы несколько базовых провайдеров
(txt, xls, csv, MySql, Ms Sql). я бы написал провайдеры под субд и excel (на openxml, vsto или interop)
а каждый пользователь подключит нужную ему имплементацию? (я бы вместо файлов использовал бы MySQL).

2. Многозадачность. Мне нужно выполнять одновременно несколько задач - качать данные,
обрабатывать их, сохранять в базу/файл и строить по ним свечи. А самое важное - во время закачки данных
иметь возможность добавлять и удалять интсрументы.

3. обработка ошибок.
например в строке securities.ForEach(_trader.Trader.RegisterQuotes);
у меня часто возникает ексепшн. в таком случае можно просто удалить
плохой инструмент из списка и продолжить работу с другими.

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

5. насчет квика - к сожалению эта хрень достаточно востребована.
Thanks:
< 1 2 3 4 5  > >>

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

loading
clippy