Текущие задачи по PlazaTrader
Atom Ответить
10.10.2011


1) Избавиться от накопления очереди сообщений в первые секунды работы (необходимо разбить получение реплики на несколько соединений, работающих в отдельных thread'ах, каждое со своим циклом выборки).
5) Добавить профилировщик получения данных и отправки заявок - необходимо понять насколько быстрый PlazaTrader у нас (особенно в связи с грядущими изменениями в плазе после нового года).
6) Отфильтровывать данные от уже прошедшей сессии (вечером приходят данные как от дневной, так и от вечерней сессии).
8) Если заявка GTC, то в вечерний клиринг приходит сообщение Inserted, с id_ord = новому номеру заявки и с id_ord1 = старому номеру заявки. Необходимо заменить одно на другое.

Ничего не упустил?

3ий таск я уже начал делать в фоновом режиме.
Кто готов взяться за другие задачи?



Теги:


Спасибо:




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

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


FiNick Перейти
Я так понял теперь можно создавать несколько потоков отправки команд? Интересно, это дало что-нибудь в плане быстродействия?


Фронтмэн жмется с написанием тестера.Laugh Без тестера только гадание на кофейной гуще.
Спасибо:

FiNick

Фотография
Благотворитель
Дата: 09.11.2011
Ответить


Михаил, помнится во времена, когда тестовый сервак плазы не работал, вы (или Александр) тестировали плазу на реальном боевом сервере плазы. Откройте секрет, как можно получить доступ к реальному серверу не проходя сертификацию робота? Дело в том, что с этими очередями сообщений сертификацию не пройти (первый таск собственно), а мне бы уже давно надо отрабатывать быстрые стратегии на реальном сервере...
Спасибо:

Mikhail Sukhov

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


FiNick Перейти
Михаил, помнится во времена, когда тестовый сервак плазы не работал, вы (или Александр) тестировали плазу на реальном боевом сервере плазы. Откройте секрет, как можно получить доступ к реальному серверу не проходя сертификацию робота?


Купить логин у брокера. Сертификацию кто-то из брокеров еще требует?
Спасибо:

FiNick

Фотография
Благотворитель
Дата: 09.11.2011
Ответить


Mikhail Sukhov Перейти
Купить логин у брокера. Сертификацию кто-то из брокеров еще требует?


У нас тут деревня похоже=) БКС требует сертификацию, финам вообще не предоставляет прямой доступ на РТС со своей программкой.
А разве можно подключиться на РТС в обход брокера? Не охота еще и брокеру комиссию отстегивать
Спасибо:

Mikhail Sukhov

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


FiNick Перейти

У нас тут деревня похоже=) БКС требует сертификацию, финам вообще не предоставляет прямой доступ на РТС со своей программкой.


А что с другими брокерами? БКС вообще попутал что-то, имхо. Забыл на какой стороне поля играет.

FiNick Перейти

А разве можно подключиться на РТС в обход брокера? Не охота еще и брокеру комиссию отстегивать


Нет, только через брокера.
Спасибо:

FiNick

Фотография
Благотворитель
Дата: 09.11.2011
Ответить


Кроме БКС и Финама больше в Новосибирске никого нет.
Спасибо:

Mikhail Sukhov

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


FiNick Перейти
Кроме БКС и Финама больше в Новосибирске никого нет.


Обложили.Laugh А дистанционно разве нельзя открыться у другого брокера? Скан пасспорта по факсу и т.д.
Спасибо:

dart

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


FiNick Перейти
Кроме БКС и Финама больше в Новосибирске никого нет.

Здрасте, а Открытие например, ВТБ-24
Спасибо:

frontman

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


FiNick Перейти
Я так понял теперь можно создавать несколько потоков отправки команд? Интересно, это дало что-нибудь в плане быстродействия?


Оооп) А может кто нить поделиться секретом это как?)
Спасибо:

Alexander

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


frontman Перейти
FiNick Перейти
Я так понял теперь можно создавать несколько потоков отправки команд? Интересно, это дало что-нибудь в плане быстродействия?


Оооп) А может кто нить поделиться секретом это как?)


Plaza: возможность создавать несколько транзакционных потоков.
Автор топика
Спасибо:

frontman

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


Офигееееть) Тут все изменения можно смотреть))
Вот я быдляра) Спасибо.
Спасибо:

Alexander

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


Сделал существенное увеличение производительности и стабильности выставления заявок. Положил на codeplex.
Тестируйте в своих тестерах, пока frontman пишет общий профилировщик.
У меня по моим тестам на бою получилось ускорение в 3-5 раз. Cool

to frontman: договаривались уже, что BrokerCode в PlazaTrader ни к чему. Нужен вам локально - создавайте наследника PlazaTrader локально и используйте его там.
Автор топика
Спасибо:

frontman

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


Alexander Mukhanchikov Перейти
Сделал существенное увеличение производительности и стабильности выставления заявок. Положил на codeplex.
Тестируйте в своих тестерах, пока frontman пишет общий профилировщик.
У меня по моим тестам на бою получилось ускорение в 3-5 раз. Cool

to frontman: договаривались уже, что BrokerCode в PlazaTrader ни к чему. Нужен вам локально - создавайте наследника PlazaTrader локально и используйте его там.


Александр не получиться. В наследники придется переопределить методы в которых используются закрытые поля класса PlazaTrader. Например _transactionManager в методе OnRegisterOrder. Мне придется весь PlazaTrader переписать...
Спасибо:

Alexander

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


frontman Перейти
Alexander Mukhanchikov Перейти
Сделал существенное увеличение производительности и стабильности выставления заявок. Положил на codeplex.
Тестируйте в своих тестерах, пока frontman пишет общий профилировщик.
У меня по моим тестам на бою получилось ускорение в 3-5 раз. Cool

to frontman: договаривались уже, что BrokerCode в PlazaTrader ни к чему. Нужен вам локально - создавайте наследника PlazaTrader локально и используйте его там.


Александр не получиться. В наследники придется переопределить методы в которых используются закрытые поля класса PlazaTrader. Например _transactionManager в методе OnRegisterOrder. Мне придется весь PlazaTrader переписать...


Попробуйте так:

есть событие
Код
		/// <summary>
		/// Обработать отправляемую транзакцию до того, как она будет отослана на сервер Plaza.
		/// </summary>
		public event Action<Transaction> ProcessRequest;


Подписываетесь на него. Вам приходит Transaction. Делаете ему SetBrokerCode.
Автор топика
Спасибо:

aleksej

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


Alexander Mukhanchikov Перейти
Сделал существенное увеличение производительности и стабильности выставления заявок. Положил на codeplex.
Тестируйте в своих тестерах, пока frontman пишет общий профилировщик.
У меня по моим тестам на бою получилось ускорение в 3-5 раз. Cool

to frontman: договаривались уже, что BrokerCode в PlazaTrader ни к чему. Нужен вам локально - создавайте наследника PlazaTrader локально и используйте его там.


Подтверждаю, Latency заявок снизился очень значительно (у меня, в среднем, со 150 мс. до 50 мс.) и у заявок стали появляться статусы Failed (а раньше просто подвисали на None).
Глянул изменения в коде коннектора, примерно понял.

Огромное спасибо, завтра еще буду тестировать :)
Спасибо:

Mikhail Sukhov

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


Alexander Mukhanchikov Перейти
Подписываетесь на него. Вам приходит Transaction. Делаете ему SetBrokerCode.


А что за брокерский код? Почему мне его не нужно вводить?
Спасибо:

Alexander

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


Mikhail Sukhov Перейти
Alexander Mukhanchikov Перейти
Подписываетесь на него. Вам приходит Transaction. Делаете ему SetBrokerCode.


А что за брокерский код? Почему мне его не нужно вводить?


frontman делает какую-то хрень на стороне брокера. ему надо его вводить, физикам - нет.
в PlazaTrader полю BrokerCode точно не место.
Автор топика
Спасибо:

Mikhail Sukhov

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


Alexander Mukhanchikov Перейти
frontman делает какую-то хрень на стороне брокера.


LOL
Спасибо:

frontman

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


Александр благодарю. Вот ток мне кажется время выполнения транзакций из за этого может увеличиться...
И попрошу без вот таких вот оценок. Тем более что вы не в курсе моей работы.
И насчет брокерского кода: он есть во ВСЕХ транзакциях отправляемых РТС. Только вот лично вам он не нужен и поэтому вы считаете, что это лишне. Я не понимаю в чем проблема... Что он места много занимает? Или что? Принцип?
Спасибо:

Alexander

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


frontman Перейти
Александр благодарю. Вот ток мне кажется время выполнения транзакций из за этого может увеличиться...


"Кажется"? А если потестировать, да посмотреть? Вот для этого и нужен профилировщик-тестировщик, о котором месяца 2 ведётся разговор.
Уже вон отписались и подтвердили мои тесты - снизилось время в 3-4 раза.

Давайте конкретно, без кажется. Где у вас увеличилось время? На каких транзакциях? На каком сервере? Насколько?
И у меня и у aleksej средний Latency снизился со 150мс до 50мс. С каких до каких он вырос у вас?

Пока лишь всё что я вижу - это кажется, наверное, думается. Нужны конкретно цифры.
На кажется уже отвечать надоело.


frontman Перейти

И попрошу без вот таких вот оценок. Тем более что вы не в курсе моей работы.
И насчет брокерского кода: он есть во ВСЕХ транзакциях отправляемых РТС. Только вот лично вам он не нужен и поэтому вы считаете, что это лишне. Я не понимаю в чем проблема... Что он места много занимает? Или что? Принцип?


Ну я образно говорю. Я делаю хрень на стороне физика, вы - на стороне брокера :)

Я уже много раз спрашивал - зачем брокерский код простому смертному? Для чего его вписывать в каждую транзакцию? Брокерский код добавляется в транзакцию уже на стороне биржи.
И чем вас не устраивает тот метод изменения транзакции, который я описал выше?

Зачем он в PlazaTrader? Это не то поле, которое нужно знать шлюзу. Оно там явно лишнее.
Далее - в Transaction не будут добавляться новые поля. Нужно что-то установить - пользуйтесь GetField \ SetField. Те немногие поля, которые там есть - я почищу.
Постоянно таблицы модифицируется, что-то добавляется, что-то удаляется. Transaction не будет содержать сотни полей, не будет завязан на конкретную версию шлюза.
Автор топика
Спасибо:

Alexander

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


И да, доступ давался несколько для иных задач чем добавление BrokerCode :)

это
1) модификация стримов по группам чтоб можно было их удалять \ добавлять удобно;
2) программа-тестировщик скорости работы.
Автор топика
Спасибо:

frontman

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


Да нет Александр) Я не про то что вы пофиксили... Я про событие ProcessRequest)) Ну что вы так сразу близко к сердцу то)
Все я понял. Так бы сразу и написали...Crying
Спасибо:

Alexander

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


frontman Перейти
Да нет Александр) Я не про то что вы пофиксили... Я про событие ProcessRequest)) Ну что вы так сразу близко к сердцу то)
Все я понял. Так бы сразу и написали...Crying


На сколько оно у вас увеличилось по ProcessRequest? На пару микросекунд? :)
Сделайте тест, там увеличение если и будет, то << 1 мс.

Я вроде так сразу и писал - спрашивал нафига оно рядовому пользователю. :)
Автор топика
Спасибо:

frontman

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


Alexander Mukhanchikov Перейти

1) модификация стримов по группам чтоб можно было их удалять \ добавлять удобно;


Готов сделать.
Все таки давайте решим делаем это через
1) Свойство для каждого потока SecurityType
или
2) Группировку потоков в коллекции futuresStreams, optionsStreams, commonStreams?
Спасибо:

Alexander

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


frontman Перейти
Alexander Mukhanchikov Перейти

1) модификация стримов по группам чтоб можно было их удалять \ добавлять удобно;


Готов сделать.
Все таки давайте решим делаем это через
1) Свойство для каждого потока SecurityType
или
2) Группировку потоков в коллекции futuresStreams, optionsStreams, commonStreams?


Через SecurityType, которое может быть: Future (фьючерсы), Option (только опционы), Common (общее)
Автор топика
Спасибо:
< 1 2 3 4 5  > >>

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

loading
clippy