Текущие задачи по PlazaTrader

Текущие задачи по PlazaTrader
Atom
10/10/2011
Alexander


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

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

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

Сделано: 2) Обрабатывать снятие заявки в клиринг (сейчас заявка остаётся активной и снять её невозможно). (Alexander) 3) Поддержка Plaza 64x. (frontman) 4) Возможность задания даты истечения заявки (сейчас делается через PlazaStopCondition.ExpiryDate, что не прозрачно, т.к. на Plaza вообще нет стоп заявок). (Alexander) 7) Добавить поддержку FutMoveOrder - одновременное перемещение 2х заявок. (frontman)


Tags:


Thanks:


<< < 17 18 19 20  >
frontman

Avatar
Date: 12/7/2011
Reply


Тут 4 анонимных метода... причем некоторые вложены друг в друга... Оч сложно для понимания...

Thanks:

Alexander

Avatar
Date: 12/7/2011
Reply


frontman: В PazaTrader много такого...

		var secCode = record.Get<string>(metadata.ShortIsin);

			var isinId = record.Get<int>(metadata.IsinId);

			if (_isinIds.Add(isinId))
			{
				GetSecurity(CreateSecurityId(secCode, "RTS"), security =>
				{
					InitSecurityInfo(security, record, metadata);

					security.Code = secCode;
					handler(security);
				}, isinId.ToString());
			}

<mark> и может вызываться в различных условиях</mark>

Где это ещё используется? Кроме данного места?
Thanks:

frontman

Avatar
Date: 12/7/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 12/7/2011
Reply


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

Смысл этой фразы ровно как и написано - в том, что в методы стоит выделять то, что может быть использовано где-то ещё. Додумывать не стоит. Данное место и с ордерами - единственное где используется.

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

Собственно поработайте поплотнее с кодом, сложного и непонятного там ничего нет. С ордером - второй => - создание ордера, третий - обновление. Ну первый и так понятно.

Смысл плодить методы, которые никто никогда не будет использовать кроме одного единственного места?

Thanks:

frontman

Avatar
Date: 12/7/2011
Reply


Ну. Александр я просто попытался поднять вопрос который лично мне мешает при понимании кода... Если ни кто больше не считает что в этом ест проблема то ладно. Я правда думаю что на текущий момент кроме меня, вас и Михаила туда ни кто и не заглядывает(Я о плазе)...

Thanks:

Alexander

Avatar
Date: 12/7/2011
Reply


frontman: Ну. Александр я просто попытался поднять вопрос который лично мне мешает при понимании кода... Если ни кто больше не считает что в этом ест проблема то ладно. Я правда думаю что на текущий момент кроме меня, вас и Михаила туда ни кто и не заглядывает(Я о плазе)...

Ну. А я просто попытался объяснить почему не стоит плодить методы которые никто не будет использовать :)

Thanks:

frontman

Avatar
Date: 12/7/2011
Reply


Ну хотя бы для того что бы не загромождать вызов функций передачей анонимных методов... Очень сложно уследить где один метод заканчивается а где начинается другой, а где передается параметр...

Thanks:

Mikhail Sukhov

Avatar
Date: 12/7/2011
Reply


frontman: Ну хотя бы для того что бы не загромождать вызов функций передачей анонимных методов... Очень сложно уследить где один метод заканчивается а где начинается другой, а где передается параметр...

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

А вообще C# с каждой новой версией становиться функциональным языком. Лямбды и замыкания - это свойство функциональности. В 4-ой версии параллелинг стал частью языка. Поэтому лямбды будут все больше и больше использоваться. Статья годичной давности. Хотел бы я узнать, как у автора дела на текущий момент с await и async. И не напишет ли он новую статью, что лямбды рулят и только их и нужно использовать.

Thanks:

frontman

Avatar
Date: 12/7/2011
Reply


)) Ну.. await и async разве не в 4.5 появятся только?

Thanks:

Mikhail Sukhov

Avatar
Date: 12/7/2011
Reply


frontman: )) Ну.. await и async разве не в 4.5 появятся только?

Аффтар MVP. Этот народ изучать начинает 4.5 когда еще 3.0 не вышла.[laugh]

Thanks:
<< < 17 18 19 20  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy