Гидра на CodePlex
Atom Ответить
11.09.2011


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

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


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


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

Теги:


Спасибо:




77 Ответов
< 1 2 3 4  >
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.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. насчет квика - к сожалению эта хрень достаточно востребована.
Спасибо:

Mikhail Sukhov

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


Задачи раздают пользователи, тестируют они жеLaugh Баг трекер - http://stocksharp.codepl...m/workitem/list/advanced Чем задача с авто накатыванием скрипта не подходит + прикрутить нормальный логгинг (сейчас не все сообщения в гидру идут от источников, потому что не используется подход ILogSource).

1. Сейчас есть универсальный доступ на уровне БД. Тоесть, миграция с SqlServer будет не такая, что перестанет с ним работать, а будет поддерживаться еще и SQLite. Который станет режимом по умолчанию. Интерфейс сейчас единый - ITradingStorage + Ecng.Data. С не БД форматами сложнее. Честно говоря, даже сложно себе представить необходимость хранения метаданных в Экселе.

2. С добавлением и удалением инструментов просто. Тут нужно переделать несколько интерфейсы для источников и Worker. А вот другие задачи... Я думаю они уже к Гидре не имеют отношения. Гидра - это качалка данных. Пусть она ей и остается.

3. Это тоже просто. Заводите отдельную настройку в MarketDataSourceSettings и пусть ее источник нормально обрабатывает.

4. Вопрос был в том, не зачем оно вообще существует, а что вы сделали с ними конкретно в рамках Гидры.

5. Востребована. Но не незаменимая.
Автор топика
Спасибо:

Graliur

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


Добрый день!
Сегодня установил S# 4.0.9, и гидру из codeplex'a, собрал, запустил. При попытке построить в гидре свечки из данных финама столкнулся с проблемой - сделки не появляются в окне "Сформировать свечки для ...". При прогоне через дебаггер выяснил - что метод _storage.GetTradeStorage(Security).ToDate как и _storage.GetTradeStorage(Security).FromDate для загруженного инструмента всегда выдает дату 01.01.0001. Во временную папку сделки скачиваются с нормальными датами. Что я делаю не так?
Спасибо:

Alexander

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


Нажмите потом "Показать свечки".

P.S. Сделал чтоб автоматом показывались по завершению.
Спасибо:

Graliur

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


При нажатии кнопки "Показать свечки" ничего не происходит.
Спасибо:

Alexander

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


Graliur Перейти
При нажатии кнопки "Показать свечки" ничего не происходит.


для какого инструмента?
проделал у себя всё это - строит нормально


какие даты выставлены? сделки для каких дат скачены?
Спасибо:

Graliur

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



+ файл со сделками в формате финама:
2011_12_19.txt 25,2KB (0)
Спасибо:

Alexander

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


Сделал с последней версии 4.0.10, с нуля загрузил аэрофлот, загрузил сделки с финама (у меня настройки такие же, только на месте временной директории и директории с данными пусто).
далее нажал свечки, авто, и нажал создать свечки.

всё ок сработало, свечки загрузились.

скриншот прилагаю.

попробуйте у себя с 0 сделать тоже самое.
Спасибо:

Graliur

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


Вчера запустил на другом компьютере CoreQuad9450 Win7x64 - заработало, сейчас пытаюсь добиться подобного результата на нетбуке asus1215n Win7x64 (на процессоре intel D525 - 2 ядра но урезанные, 4Гиб оперативки).
По ощущениям гидра работает на нем существенно медленнее(задержки более 10 секунд в работе интерфейса, после нажатия кнопок), а сегодня при попытке обновить инструменты выдала ошибку:

Цитата:
Помощник отладки управляемого кода "ContextSwitchDeadlock" обнаружил неполадку в "D:\PRG\StockSharp_4.1.0\Hydra\Hydra\bin\Debug\Hydra.vshost.exe".
Дополнительные сведения: The CLR has been unable to transition from COM context 0x4543f8 to COM context 0x454568 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.


После чего, минуты через 3, выдала список инструментов.

В процессе работы возникли следующие вопросы:

- есть ли возможность получить более подробное логирование?
- как правильно обнулять базу и настройки программы?
- планируется ли оптимизация скорости работы?
Спасибо:

Alexander

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


Graliur Перейти
В процессе работы возникли следующие вопросы:

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


1) Да, добавить логирование в работу гидры
2) Удалить из папки Мои документы\StockSharp базу данных
3) Какие конкретно операции вы хотите оптимизировать и каким образом?
Спасибо:

Graliur

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


1 Оно существует( и его можно включить )или его нужно написать?
3.1 Как минимум оптимизировать скорость работы пользовательского интерфейса (вынести исполнение в отдельный поток).
3.2 Ввести окна с сообщением об ожидании для процессов с временем задержки > 1 сек.
3.3 Дать возможность прерывать пользователю длительные процессы.
3.4 В идеале показать терминал с выводом сообщений состояния.
3.5 После визуализации состояний станут наглядно видны места повышенных задержек - далее уже поработать над конкретными модулями.
Спасибо:

Alexander

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


Graliur Перейти
1 Оно существует( и его можно включить )или его нужно написать?
3.1 Как минимум оптимизировать скорость работы пользовательского интерфейса (вынести исполнение в отдельный поток).
3.2 Ввести окна с сообщением об ожидании для процессов с временем задержки > 1 сек.
3.3 Дать возможность прерывать пользователю длительные процессы.
3.4 В идеале показать терминал с выводом сообщений состояния.
3.5 После визуализации состояний станут наглядно видны места повышенных задержек - далее уже поработать над конкретными модулями.


Готовы заняться? Доступ на codeplex дадим
Спасибо:

Graliur

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


В свободное от работы время могу организовать посильную помощь ;)

Если с этим вопросов нет - то дальше в мейл Graliur собака мейлру
Спасибо:

Alexander

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


Graliur Перейти
В свободное от работы время могу организовать посильную помощь ;)

Если с этим вопросов нет - то дальше в мейл Graliur собака мейлру


Зачем mail?
Надо зарегистрироваться на codeplex, мы добавляем к проекту с возможностью вносить изменения.

Вносите изменения в проект - кладёте в репозиторий, отписываетесь на форуме.

P.S. Добавил Graliur к проекту
Спасибо:

Mikhail Sukhov

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


2Graliur. Временно заблокировал ваш аккаунт после того, как залили неработающее. Понимаю, что не со зла. Поэтому, дам опять доступ после того, как прочтете руководство пользования Visual Studio.

2All. Выкинул всех тех, кто не имеет активности более 60 дней.
Автор топика
Спасибо:

Graliur

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


Прошу прощения за нечаянный саботаж, обещаю больше не заливать не работающий код ).
По поводу разбора Гидры - обнаружил, что у меня не открывается окно графика свечей из окна "Сформировать свечки для..." , при этом из окна "Найти сделки для..." все работает.
Стал разбираться в коде - в CandlesCompressWindow.xaml.cs нет создания и вывода ChartWindow, который выполняет вывод графика в CandlesWindowsxaml.cs. Одна из мыслей - может это я его случайно удалил Blushing, последнюю версию с кодплекса к себе залить не могу так как забанен.
Спасибо:

Mikhail Sukhov

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


Graliur Перейти
Прошу прощения за нечаянный саботаж, обещаю больше не заливать не работающий код ).
По поводу разбора Гидры - обнаружил, что у меня не открывается окно графика свечей из окна "Сформировать свечки для..." , при этом из окна "Найти сделки для..." все работает.
Стал разбираться в коде - в CandlesCompressWindow.xaml.cs нет создания и вывода ChartWindow, который выполняет вывод графика в CandlesWindowsxaml.cs. Одна из мыслей - может это я его случайно удалил Blushing, последнюю версию с кодплекса к себе залить не могу так как забанен.


Забанить мы не можем и, если бы могли, не делали. Качать теперь как все смертные, через http://stocksharp.codepl...eControl/list/changesets После реабилитации себя в глазах общественности доступ вернем для более удобного способа скачивания.
Автор топика
Спасибо:

Alexander

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


Graliur Перейти
Прошу прощения за нечаянный саботаж, обещаю больше не заливать не работающий код ).
По поводу разбора Гидры - обнаружил, что у меня не открывается окно графика свечей из окна "Сформировать свечки для..." , при этом из окна "Найти сделки для..." все работает.
Стал разбираться в коде - в CandlesCompressWindow.xaml.cs нет создания и вывода ChartWindow, который выполняет вывод графика в CandlesWindowsxaml.cs. Одна из мыслей - может это я его случайно удалил Blushing, последнюю версию с кодплекса к себе залить не могу так как забанен.



Добавил опять к проекту.
Просьба перед внесением изменений отписаться на форуме.
И изменения для начала класть в Shelve (File -> Source Control -> Shelve Pending changes...)
Спасибо:

Graliur

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


Заметил еще один интересный момент - во время отладки Гидры SQLite ругается в вывод VisualStudio:
SQLite error (21): misuse at line 110832 of [a499ae3835]
Спасибо:

Mikhail Sukhov

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


Graliur Перейти
Заметил еще один интересный момент - во время отладки Гидры SQLite ругается в вывод VisualStudio:
SQLite error (21): misuse at line 110832 of [a499ae3835]


И Гугл по этому ничего вразумительного не сказал.
Автор топика
Спасибо:

Graliur

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


Подправил CandlesCompressWindow - добавил метод ShowChart() для отображения графика свечей, и его вызов в CandlesCompressWindow.UpdateCandlesList().

UPD: по Sqlite 21 нашел:

http://stackoverflow.com...oid-sqlite-error-code-21

UPDUPD: Еще про SQLite err 21:

http://translate.google....msg00151.html&anno=2
Спасибо:
< 1 2 3 4  >

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

loading
clippy