Решил агрегировать все текущие задачи по проекту:
- Добавить профилировщик получения данных и отправки заявок - необходимо понять насколько быстрый PlazaTrader у нас (особенно в связи с грядущими изменениями в плазе после нового года).
- Если заявка GTC, то в вечерний клиринг приходит сообщение Inserted, с id_ord = новому номеру заявки и с id_ord1 = старому номеру заявки. Необходимо заменить одно на другое.
- Авто обновление закаченных данных и структуры базы при новой версии.
- Научить Гидру работать со свечками. Закачивать из внешних источников, автоматически их создавать из тиков и т.д. Нужно для тех инструментов, для который просто не найти тики. Со стороны тестера S# такое можно поддержать.
- Сделать источники для западных площадок (IQFeed, ESignal).
- Научить Гидру сохранять не только тики и стаканы, а так же волатильность, открытый интерес.
- Выводить ошибки через MonitorWindow (переделав предварительно все логи на ILogSource).
- Документация по индикаторам
Тестирование. Управление памятью.
- Собрать готовой программой метрики по использованию памяти при тестировании
Micex Bridge. Пока неизвестно насколько актуально. Данные по ММВБ стали передавать через Plaza II.
Часть задач - простые (с документацией), часть - более сложные и требуют больше времени (сжатие сделок в свечки). Каждый может найти задачу конкретно под себя. Пишите в данной теме кто за какую задачу готов взяться.
У всех мало свободного времени и всем некогда. За последние 2 года мы сделали многое - создали лучшую в России библиотеку для создания роботов, осуществляли на форуме буквально ежеминутную поддержку.
Пора и вам что-то сделать для проекта. Не ждите других.
Сделано:
Publisher. (by <mark>esper</mark>)
- Перенаправить вывод Visual Studio в консоль
- Избавиться от накопления очереди сообщений в первые секунды работы (необходимо разбить получение реплики на несколько соединений, работающих в отдельных thread'ах, каждое со своим циклом выборки).
- Обрабатывать снятие заявки в клиринг (сейчас заявка остаётся активной и снять её невозможно)
- Возможность задания даты истечения заявки (сейчас делается через PlazaStopCondition.ExpiryDate, что не прозрачно, т.к. на Plaza вообще нет стоп заявок)
- Поддержка FutMoveOrder - одновременное перемещение 2х заявок (by <mark>frontman</mark>)
- Поддержка Plaza 64x. (by <mark>frontman</mark>)
- Поддержать потоки ММВБ.
- Отфильтровывать данные от уже прошедшей сессии (вечером приходят данные как от дневной, так и от вечерней сессии).
- Научить ее работать с SQL Lite, чтобы не требовалась сложная установка с Sql Server 2008.
Тестирование. Перфоманс на истории.
- Сделать компрессор сделок в свечки.
- Описание формата Security.Id
- Документация по свечкам
Comments (30)
Login or Create account, Log in or register to leave a comment
Готов участвовать в
Тестирование с указанным PositionManager-ом уже выполняется, о результатах отпишусь позднее.
Тестирование с указанным PositionManager-ом уже выполняется, о результатах отпишусь позднее.
для скорейшего нахождения возможных ошибок эту задачу необходимо делать не одному человеку :)
Добрый день, я бы поучаствовал в прикручивании sqlite к stock# для меня это очень актуально. P.S. давнобы сделал это сам но к сожелению в репозитории нет кода для обращения к бд
Уже высказывались насчет помощи по этой таске, но, видимо, решили отказаться от этой затеи.
Проблема состоит в переделке Ecng.Data + подготовке БД (фактически, db3 файл, на котором можно тестировать). Первое можно сделать совместно, так как я изобретатель того велосипеда. Второе можно сделать заранее.
В SQLite имеет смысл сделать таблицу, содержащую текущую версию Гидры. Чтобы при выходе новой версии Гидра сама могла обновлять БД в соответствие с миграционным скриптом.
Вот как раз создание структуры таблиц в SQLite наименьшая проблема, решается средствами самого сиквела. Вопрос именно в самом коде библиотеки. Вопрос как в этом можно поучаствовать.
Намылил в личку.
Хотелось бы внести предложение о добавлении в класс PlazaTrader свойства BrokerCode и последующего его использования(если он задан) во всех транзакциях. У меня просто возникла потребность в нем. Может у кого то еще она возникла) А то я уже устал каждую новую версию переписывать под себя))))
Зачем это всем? :) Есть BrokerParams, уже добавляли. Его надо в Registry засунуть и запустить по нему экспорт.
У меня ток получилось сделать добавляя broker_code к транзакции(( if (!String.IsNullOrEmpty(BrokerCode)) { transaction.SetField("broker_code", BrokerCode); }
Александр можете как нить поподробнее если не сложно...
Раз работает у вас так - отлично, зачем ещё что-то?
Вы бы лучше написали профилировщик простой, для отладки и тестирования заявки\данных. От вас исходили претензии к скорости. :)
Ну работать то работает, а вот переписывать каждый раз лень) Спасибо. А насчет профилировщика ... Честно я даже не понимаю что это...
Мини-программа, которая позволит
для начала хватит :)
Считаю информативнее было бы узнать, насколько у стакан отстает от биржевого. Почему стакан? Потому что это вроде как единственный поток, который должен литься рел таймом. Тики льются дискретно.
Да. С демократией плохо на этом сайте. Ну что ж не в первой. А самое главное не пойму я что кого то оскорблял? Или ругался нецензурно. Я делился своим опытом. Т.к если у Александра например нет комиссии за транзакции у других людей, которые будут тестить скорость через эту программу(а только так можно добиться объективных результатов) она может быть. Спасибо что хоть меня совсем не забанили.
Я что-то пропустил? О чем пост и причем здесь Александр?
я 2 раза написал что флуд не по теме в данной теме. если есть вопросы - обращайтесь в личку. я почистил весь флуд, оставив лишь существенные сообщения.
и я несколько раз написал что можно тестировать не по 2000 транзакций, а 300 транзакций или вообще 30. или тестировать получение стаканов. или на тестовом сервере. вариантов - тысячи.
вы второй день пишете почему это сделать нельзя, либо сделать сложно.
Ну чем больше людей тем достовернее данные... А может со мной кто нить поделиться секретом как избежать платы за транзакции?) Ну я б тож был не против не платить... А ребят?!
Ну... Мои сообщения почему то удалили. Я просто сказал что у меня например при отправки большого числа транзакций больше 2000 берется плата со стороны биржи. и что при создании профилировщика
надо это как то учесть т.к. планируется отправка большого числа транзакций...
И у меня берется. Так что, не тестировать теперь? Плазу не использовать? Не писать роботов?
Да дело не в том. А в том что этот фактор надо учесть явно. Т.к. те кто захочет тестировать не думаю что все в курсе о том что берут мзду за транзакции. Вообщем мне кажется вы как то не в той плоскости восприняли мое замечание. Вы почитайте что я писал повнимательнее: "при создании профилировщика надо это как то учесть". Учесть значит создавать и использовать зная об этом.
А что конкретно вы предлагаете?
Конкретно я предлагаю Например учесть этот барьер. Т.е не делать в день больше 2000 транзакций, ну или дать возможность пользователю ограничить количество транзакций в случае если он еще какие то торги ведет по данному счету... И конечно же информировать желающих тестировать о этом ограничении.
Делайте тестер с ограничением. Вообще я так и думал, что пользователь будет сам задавать кол-во заявок.
Обновил задачи в первом посте.
По Гидре: "Научить Гидру работать со свечками. Закачивать из внешних источников, автоматически их создавать из тиков и т.д. Нужно для тех инструментов, для который просто не найти тики." - т.е. из свечек рассчитывать как бы тики?
Постучитесь в скайп - мой или Михаила Сухова, подробнее расскажем о текущих задачах.
Сделайте удобный список текущих задач. Не понятно, чем можно поддержать проект.
Чем не нравится список в первом сообщении? Если что-то непонятно - обращайтесь в скайп ко мне или Михаилу, расскажем что конкретно можно сделать дабы помочь проекту.