Mikhail Sukhov
|
Дата: 14.10.2011
prometey1982 Как эти shelves использовать? Тоже думал над этим моментом поэтому попытался сделать чтобы логи работали. Единственный момент, видимо опять же нужно сохранение логов в файлы. Шелв описал уже Александр, а про логи в файл - это естественно. Идея LogManager в том, что он умеет ретранслировать сообщения от своих источников LogManager.Sources (в данном случае, это все Гидра источники, главная форма, Worker) в свои слушатели. Вот случателями я предлагаю сделать FileLogListener и GuiLogListener. Последний вы как раз и успели создать в коде. Только зачем-то его создание перенесли в момент, когда нажимается кнопка Логи. А нужно в конструкторе. Потому что MonitorWindow будет получать логи начиная с того момента, как он был передан в GuiLogListener.
|
|
Спасибо:
|
|
|
|
|
prometey1982
|
Дата: 14.10.2011
Понял, значит LogManager только транслятор сообщений. Смущает немного INotifyCollection или как оно на память точно не помню. Это было сделано для построения иерархии сообщений? Точнее вывода в иерархию? А есть ли коллекции реализующие данный интерфейс? Хотя наверно это все в документации есть. Хотя с другой стороны можно реализовать и без коллекции как таковой, динамически возвращать элементы по там же будет Worker и источники только, в смысле свою коллекцию сделать, тем более что из MainWindow надо эти вещи убрать в класс менеджер наверно, они ИМХО слабо с самой формой связаны. Из-за этого и пришлось вложенный класс логов сделать, дабы свойство Parent не перекрывалось.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 14.10.2011
prometey1982 Понял, значит LogManager только транслятор сообщений. Смущает немного INotifyCollection или как оно на память точно не помню. Это было сделано для построения иерархии сообщений? Точнее вывода в иерархию? А есть ли коллекции реализующие данный интерфейс? Хотя наверно это все в документации есть. Хотя с другой стороны можно реализовать и без коллекции как таковой, динамически возвращать элементы по там же будет Worker и источники только, в смысле свою коллекцию сделать, тем более что из MainWindow надо эти вещи убрать в класс менеджер наверно, они ИМХО слабо с самой формой связаны. Из-за этого и пришлось вложенный класс логов сделать, дабы свойство Parent не перекрывалось. Не совсем понял причину вложенного класса. Иерархия вложенности источников достигается за счет реализации интерфейса ILogSource, а не структуры кода.
|
|
Спасибо:
|
|
|
|
|
prometey1982
|
Дата: 15.10.2011
Чтобы MainWindow наследующийся от FrameworkElement не перекрывал Parent объявленный как раз во FrameworkElement.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 15.10.2011
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 06.11.2011
Что-то все затихло.[sad]
|
|
Спасибо:
|
|
|
|
|
AlexK2
|
Дата: 16.11.2011
прежде чем изобретать квадратное колесо, поискал в инете и нашел (есть задача скачаивать данные торгов с квика, сохранять и потом строить свечи), скачал исходники, собрал, настроил. предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).
я новичок, просьба не пинать, не было времени чтобы прочитать всю документацию по сток шарпу, юзал ка кобычно дебагер :-) у меня такой вопрос. использование DDE - это полный пипец. тот же квик прекрасно сохраняет данные в базу данных. может уже есть какой-то интерфейс в стокшарпе чтоб сохранять данные в базу, строить по ним свечи и графически отбражать свечи, используя гидру?
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 16.11.2011
|
|
|
|
AlexK2 прежде чем изобретать квадратное колесо, поискал в инете и нашел (есть задача скачаивать данные торгов с квика, сохранять и потом строить свечи), скачал исходники, собрал, настроил. предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).
я новичок, просьба не пинать, не было времени чтобы прочитать всю документацию по сток шарпу, юзал ка кобычно дебагер :-) у меня такой вопрос. использование DDE - это полный пипец. тот же квик прекрасно сохраняет данные в базу данных. может уже есть какой-то интерфейс в стокшарпе чтоб сохранять данные в базу, строить по ним свечи и графически отбражать свечи, используя гидру? Нет, по ODBC не выводим. Stock# - безбазовый клиент. Не знаю чем DDE "пипец", но работает как часы и довольно шустро для своих задач. Не медленнее чем было бы по ODBC.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 17.11.2011
|
|
|
|
AlexK2 предложения по мелочам - первым делом когда скачал гидру, то для удобства добавил менюшки, статус бары(чтоб видеть что происходит), создал пару таблиц для хранения данных торгов с ртс и квика, Следующая версия Гидры будет без привязки к SQL Server. Переносим на SQLite. Может сделаете такс с авто накатывания скрипты модификации базы при старте новой версии Гидры? Что в меню? Статус бар уже есть - то что посередине. Плюс логи. Что-то еще выводите? AlexK2 сейчас хочу MonitorWindow прикрутить и разобраться с многопоточностью(есть задачи, источники и инструменты, как их безопасно обрарабывать в разных потоках).
Да, было бы хорошо. Помощникам выделенный саппорт через скайп.[cool] Могу рассказать про многопоточность (хотя пока не понимаю сути проблемы). AlexK2 тот же квик прекрасно сохраняет данные в базу данных.
Как я пишу, от базы нужно избавляться. Тем более, построение свечек, отличных от ТФ, на SQL - это тот еще геморрой. Зачем, если на C# уже есть и будет быстрее на порядок. Ну и плюс - это не универсальное решение. Квик - это вчерашний день. В него вкладываться (в плане разработки) уже не эффективно.
|
|
Спасибо:
|
|
|
|
|
AlexK2
|
Дата: 17.11.2011
|
|
|
|
как у Вас организована работа над проектом? (кто раздает задачи, кто тетсирует и т.д) может кинете мне какую-нибудь задачку? (может уже используется что-то типа jira? )
1. Хранение данных. почему бы для хранения настроек программы и загруженных и обработанных данных не использовать какой-то общий интерфейс и реализовать хотя бы несколько базовых провайдеров (txt, xls, csv, MySql, Ms Sql). я бы написал провайдеры под субд и excel (на openxml, vsto или interop) а каждый пользователь подключит нужную ему имплементацию? (я бы вместо файлов использовал бы MySQL).
2. Многозадачность. Мне нужно выполнять одновременно несколько задач - качать данные, обрабатывать их, сохранять в базу/файл и строить по ним свечи. А самое важное - во время закачки данных иметь возможность добавлять и удалять интсрументы.
3. обработка ошибок. например в строке securities.ForEach(_trader.Trader.RegisterQuotes); у меня часто возникает ексепшн. в таком случае можно просто удалить плохой инструмент из списка и продолжить работу с другими.
4. Все-таки для программ, которыми пользуются трейдеры/аналитики юзабилити имеет значение - это всякие тулбары, менюшки, статус бары, хоткеи настраиваемые, лог окна и т.д.
5. насчет квика - к сожалению эта хрень достаточно востребована.
|
|
Спасибо:
|
|
|
|