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


Так как Гидра теперь выложена со своими исходника в систему 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 Go to
Как эти 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 Go to
Понял, значит 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 Go to
Чтобы 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 Go to
прежде чем изобретать квадратное колесо, поискал в инете и нашел (есть задача скачаивать данные торгов с квика, сохранять и потом строить свечи), скачал исходники, собрал, настроил.
предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).

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


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

Mikhail Sukhov

Avatar
Date: 11/17/2011
Reply


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


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

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

AlexK2 Go to

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


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

AlexK2 Go to

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


Как я пишу, от базы нужно избавляться. Тем более, построение свечек, отличных от ТФ, на 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