← Voltar

Текущие задачи

Решил агрегировать все текущие задачи по проекту:

Plaza 2.

  1. Добавить профилировщик получения данных и отправки заявок - необходимо понять насколько быстрый PlazaTrader у нас (особенно в связи с грядущими изменениями в плазе после нового года).
  2. Если заявка GTC, то в вечерний клиринг приходит сообщение Inserted, с id_ord = новому номеру заявки и с id_ord1 = старому номеру заявки. Необходимо заменить одно на другое.

Гидра.

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

Документация.

  1. Документация по индикаторам

Тестирование. Управление памятью.

  1. Собрать готовой программой метрики по использованию памяти при тестировании

Micex Bridge. Пока неизвестно насколько актуально. Данные по ММВБ стали передавать через Plaza II.

Часть задач - простые (с документацией), часть - более сложные и требуют больше времени (сжатие сделок в свечки). Каждый может найти задачу конкретно под себя. Пишите в данной теме кто за какую задачу готов взяться.

У всех мало свободного времени и всем некогда. За последние 2 года мы сделали многое - создали лучшую в России библиотеку для создания роботов, осуществляли на форуме буквально ежеминутную поддержку.

Пора и вам что-то сделать для проекта. Не ждите других.

Сделано:

Publisher. (by <mark>esper</mark>)

  1. Перенаправить вывод Visual Studio в консоль

Plaza 2.

  1. Избавиться от накопления очереди сообщений в первые секунды работы (необходимо разбить получение реплики на несколько соединений, работающих в отдельных thread'ах, каждое со своим циклом выборки).
  2. Обрабатывать снятие заявки в клиринг (сейчас заявка остаётся активной и снять её невозможно)
  3. Возможность задания даты истечения заявки (сейчас делается через PlazaStopCondition.ExpiryDate, что не прозрачно, т.к. на Plaza вообще нет стоп заявок)
  4. Поддержка FutMoveOrder - одновременное перемещение 2х заявок (by <mark>frontman</mark>)
  5. Поддержка Plaza 64x. (by <mark>frontman</mark>)
  6. Поддержать потоки ММВБ.
  7. Отфильтровывать данные от уже прошедшей сессии (вечером приходят данные как от дневной, так и от вечерней сессии).

Гидра.

  1. Научить ее работать с SQL Lite, чтобы не требовалась сложная установка с Sql Server 2008.

Тестирование. Перфоманс на истории.

  1. Сделать компрессор сделок в свечки.

Документация.

  1. Описание формата Security.Id
  2. Документация по свечкам

Проблемы со сделками, позициями.

  1. Потестировать изменение позиции с помощью указанного PositionManager.

Este tópico foi útil?

Compartilhar tópico

Comentários (30)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

AN
AN

Готов участвовать в

  • Тестирование. Перфоманс на истории.
  • Тестирование. Управление памятью. До конца недели сделаю следующее:
  1. По первой задаче - я её немного иначе понимаю, чем описано в http://stocksharp.com/forum/1837/Pierfomans-tiestingha-na-istorii/ , описал своё понимание в этой теме.
  2. По второй - сделаю готовое приложение, которым можно будет удобно нагружать тестирование на истории с разной нагрузкой. Само профилирование запустить не могу, думаю понимаете почему ))) .
esper
esper

Проблемы со сделками, позициями. Потестировать изменение позиции с помощью указанного PositionManager.

Тестирование с указанным PositionManager-ом уже выполняется, о результатах отпишусь позднее.

Alexander
Alexander Autor

Проблемы со сделками, позициями. Потестировать изменение позиции с помощью указанного PositionManager.

Тестирование с указанным PositionManager-ом уже выполняется, о результатах отпишусь позднее.

для скорейшего нахождения возможных ошибок эту задачу необходимо делать не одному человеку :)

andrv
andrv

Добрый день, я бы поучаствовал в прикручивании sqlite к stock# для меня это очень актуально. P.S. давнобы сделал это сам но к сожелению в репозитории нет кода для обращения к бд

Mikhail Sukhov
Mikhail Sukhov

andrv: Добрый день, я бы поучаствовал в прикручивании sqlite к stock# для меня это очень актуально. P.S. давнобы сделал это сам но к сожелению в репозитории нет кода для обращения к бд

Уже высказывались насчет помощи по этой таске, но, видимо, решили отказаться от этой затеи.

Проблема состоит в переделке Ecng.Data + подготовке БД (фактически, db3 файл, на котором можно тестировать). Первое можно сделать совместно, так как я изобретатель того велосипеда. Второе можно сделать заранее.

В SQLite имеет смысл сделать таблицу, содержащую текущую версию Гидры. Чтобы при выходе новой версии Гидра сама могла обновлять БД в соответствие с миграционным скриптом.

andrv
andrv

Mikhail Sukhov:

andrv: Добрый день, я бы поучаствовал в прикручивании sqlite к stock# для меня это очень актуально. P.S. давнобы сделал это сам но к сожелению в репозитории нет кода для обращения к бд

Уже высказывались насчет помощи по этой таске, но, видимо, решили отказаться от этой затеи.

Проблема состоит в переделке Ecng.Data + подготовке БД (фактически, db3 файл, на котором можно тестировать). Первое можно сделать совместно, так как я изобретатель того велосипеда. Второе можно сделать заранее.

В SQLite имеет смысл сделать таблицу, содержащую текущую версию Гидры. Чтобы при выходе новой версии Гидра сама могла обновлять БД в соответствие с миграционным скриптом.

Вот как раз создание структуры таблиц в SQLite наименьшая проблема, решается средствами самого сиквела. Вопрос именно в самом коде библиотеки. Вопрос как в этом можно поучаствовать.

Mikhail Sukhov
Mikhail Sukhov

andrv: Вот как раз создание структуры таблиц в SQLite наименьшая проблема, решается средствами самого сиквела. Вопрос именно в самом коде библиотеки. Вопрос как в этом можно поучаствовать.

Намылил в личку.

frontman
frontman

Хотелось бы внести предложение о добавлении в класс PlazaTrader свойства BrokerCode и последующего его использования(если он задан) во всех транзакциях. У меня просто возникла потребность в нем. Может у кого то еще она возникла) А то я уже устал каждую новую версию переписывать под себя))))

Alexander
Alexander Autor

frontman: Хотелось бы внести предложение о добавлении в класс PlazaTrader свойства BrokerCode и последующего его использования(если он задан) во всех транзакциях. У меня просто возникла потребность в нем. Может у кого то еще она возникла) А то я уже устал каждую новую версию переписывать под себя))))

Зачем это всем? :) Есть BrokerParams, уже добавляли. Его надо в Registry засунуть и запустить по нему экспорт.

frontman
frontman

У меня ток получилось сделать добавляя broker_code к транзакции(( if (!String.IsNullOrEmpty(BrokerCode)) { transaction.SetField("broker_code", BrokerCode); }

Александр можете как нить поподробнее если не сложно...

Alexander
Alexander Autor

frontman: У меня ток получилось сделать добавляя broker_code к транзакции(( if (!String.IsNullOrEmpty(BrokerCode)) { transaction.SetField("broker_code", BrokerCode); }

Александр можете как нить поподробнее если не сложно...

Раз работает у вас так - отлично, зачем ещё что-то?

BrokerParamStream = new PlazaStream(new PlazaTable(PlazaTableId.BrokerParams, "блаблабла"));

Вы бы лучше написали профилировщик простой, для отладки и тестирования заявки\данных. От вас исходили претензии к скорости. :)

frontman
frontman

Ну работать то работает, а вот переписывать каждый раз лень) Спасибо. А насчет профилировщика ... Честно я даже не понимаю что это...

Alexander
Alexander Autor

frontman: Ну работать то работает, а вот переписывать каждый раз лень) Спасибо. А насчет профилировщика ... Честно я даже не понимаю что это...

Мини-программа, которая позволит

  1. отправлять несколько сотен\тысяч заявок на биржу в синхронном\асинхронном режиме и выводить среднее время Latency заявки.
  2. выводить время, которое проходит от момента запуска Export до того как все потоки станут Online (PlazaTrader.IsOnline())

для начала хватит :)

Mikhail Sukhov
Mikhail Sukhov

Alexander Mukhanchikov: 2) выводить время, которое проходит от момента запуска Export до того как все потоки станут Online (PlazaTrader.IsOnline())

Считаю информативнее было бы узнать, насколько у стакан отстает от биржевого. Почему стакан? Потому что это вроде как единственный поток, который должен литься рел таймом. Тики льются дискретно.

frontman
frontman

Да. С демократией плохо на этом сайте. Ну что ж не в первой. А самое главное не пойму я что кого то оскорблял? Или ругался нецензурно. Я делился своим опытом. Т.к если у Александра например нет комиссии за транзакции у других людей, которые будут тестить скорость через эту программу(а только так можно добиться объективных результатов) она может быть. Спасибо что хоть меня совсем не забанили.

esper
esper

frontman: Т.к если у Александра например нет комиссии за транзакции у других людей, которые будут тестить скорость через эту программу(а только так можно добиться объективных результатов) она может быть. А вы не думаете, что тестировать всем не обязательно? Что если те, у кого нет платы за транзакции, протестируют и поделятся своими результатами со всеми будет лучше, чем вообще ничего?

Mikhail Sukhov
Mikhail Sukhov

frontman: Да. С демократией плохо на этом сайте. Ну что ж не в первой. А самое главное не пойму я что кого то оскорблял? Или ругался нецензурно. Я делился своим опытом. Т.к если у Александра например нет комиссии за транзакции у других людей, которые будут тестить скорость через эту программу(а только так можно добиться объективных результатов) она может быть. Спасибо что хоть меня совсем не забанили.

Я что-то пропустил? О чем пост и причем здесь Александр?

Alexander
Alexander Autor

frontman: Да. С демократией плохо на этом сайте. Ну что ж не в первой. А самое главное не пойму я что кого то оскорблял? Или ругался нецензурно. Я делился своим опытом. Т.к если у Александра например нет комиссии за транзакции у других людей, которые будут тестить скорость через эту программу(а только так можно добиться объективных результатов) она может быть. Спасибо что хоть меня совсем не забанили.

я 2 раза написал что флуд не по теме в данной теме. если есть вопросы - обращайтесь в личку. я почистил весь флуд, оставив лишь существенные сообщения.

и я несколько раз написал что можно тестировать не по 2000 транзакций, а 300 транзакций или вообще 30. или тестировать получение стаканов. или на тестовом сервере. вариантов - тысячи.

вы второй день пишете почему это сделать нельзя, либо сделать сложно.

frontman
frontman

Ну чем больше людей тем достовернее данные... А может со мной кто нить поделиться секретом как избежать платы за транзакции?) Ну я б тож был не против не платить... А ребят?!

frontman
frontman

Ну... Мои сообщения почему то удалили. Я просто сказал что у меня например при отправки большого числа транзакций больше 2000 берется плата со стороны биржи. и что при создании профилировщика
надо это как то учесть т.к. планируется отправка большого числа транзакций...

Mikhail Sukhov
Mikhail Sukhov

frontman: Ну... Мои сообщения почему то удалили. Я просто сказал что у меня например при отправки большого числа транзакций больше 2000 берется плата со стороны биржи. и что при создании профилировщика надо это как то учесть т.к. планируется отправка большого числа транзакций...

И у меня берется. Так что, не тестировать теперь? Плазу не использовать? Не писать роботов?

frontman
frontman

Да дело не в том. А в том что этот фактор надо учесть явно. Т.к. те кто захочет тестировать не думаю что все в курсе о том что берут мзду за транзакции. Вообщем мне кажется вы как то не в той плоскости восприняли мое замечание. Вы почитайте что я писал повнимательнее: "при создании профилировщика надо это как то учесть". Учесть значит создавать и использовать зная об этом.

Mikhail Sukhov
Mikhail Sukhov

frontman: Учесть значит создавать и использовать зная об этом.

А что конкретно вы предлагаете?

frontman
frontman

Конкретно я предлагаю Например учесть этот барьер. Т.е не делать в день больше 2000 транзакций, ну или дать возможность пользователю ограничить количество транзакций в случае если он еще какие то торги ведет по данному счету... И конечно же информировать желающих тестировать о этом ограничении.

Mikhail Sukhov
Mikhail Sukhov

frontman: Конкретно я предлагаю Например учесть этот барьер. Т.е не делать в день больше 2000 транзакций, ну или дать возможность пользователю ограничить количество транзакций в случае если он еще какие то торги ведет по данному счету... И конечно же информировать желающих тестировать о этом ограничении.

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

Alexander
Alexander Autor

Обновил задачи в первом посте.

Spiritschaser
Spiritschaser

По Гидре: "Научить Гидру работать со свечками. Закачивать из внешних источников, автоматически их создавать из тиков и т.д. Нужно для тех инструментов, для который просто не найти тики." - т.е. из свечек рассчитывать как бы тики?

Alexander
Alexander Autor

Spiritschaser: По Гидре: "Научить Гидру работать со свечками. Закачивать из внешних источников, автоматически их создавать из тиков и т.д. Нужно для тех инструментов, для который просто не найти тики." - т.е. из свечек рассчитывать как бы тики?

Постучитесь в скайп - мой или Михаила Сухова, подробнее расскажем о текущих задачах.

gaifredo
gaifredo

Сделайте удобный список текущих задач. Не понятно, чем можно поддержать проект.

Alexander
Alexander Autor

gaifredo: Сделайте удобный список текущих задач. Не понятно, чем можно поддержать проект.

Чем не нравится список в первом сообщении? Если что-то непонятно - обращайтесь в скайп ко мне или Михаилу, расскажем что конкретно можно сделать дабы помочь проекту.