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
|
|
|
|
Спасибо:
|
|
|
|
|
|
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? )
Хранение данных. почему бы для хранения настроек программы и загруженных и обработанных данных не
использовать какой-то общий интерфейс и реализовать хотя бы несколько базовых провайдеров
(txt, xls, csv, MySql, Ms Sql). я бы написал провайдеры под субд и excel (на openxml, vsto или interop)
а каждый пользователь подключит нужную ему имплементацию? (я бы вместо файлов использовал бы MySQL).
Многозадачность. Мне нужно выполнять одновременно несколько задач - качать данные,
обрабатывать их, сохранять в базу/файл и строить по ним свечи. А самое важное - во время закачки данных
иметь возможность добавлять и удалять интсрументы.
обработка ошибок.
например в строке securities.ForEach(_trader.Trader.RegisterQuotes);
у меня часто возникает ексепшн. в таком случае можно просто удалить
плохой инструмент из списка и продолжить работу с другими.
Все-таки для программ, которыми пользуются трейдеры/аналитики юзабилити имеет значение
- это всякие тулбары, менюшки, статус бары, хоткеи настраиваемые, лог окна и т.д.
- насчет квика - к сожалению эта хрень достаточно востребована.
|
|
|
|
Спасибо:
|
|
|
|
|