Гуи клиент на WPF. Для тех, кто не занят.

Гуи клиент на WPF. Для тех, кто не занят.
Atom
1/30/2011
Mikhail Sukhov


Предлагаю написать что-то типа Sample или SampleSmart, чтобы можно было визуально тыкать и смотреть результаты. + отправлять заявки и ждать по ним сделки. Видеть стаканы. Кто займется?


Tags:


Thanks:


<< < 2 3 4 5  >
aspirant

Avatar
Date: 3/13/2011
Reply


Mikhail Sukhov: Все: инструменты, заявки, сделки, тики, поза. Кастомные потоки пока не так интересны. Нужен минимум, чтобы с заявками протестить и убедиться насчет минимального функционала. Я сейчас вынес это в отдельный метод:

public void StartListeners()
{
	// вот здесь как раз и заполняются метаданные для всех потоков плазы
	// opt_vcb - Справочник торгуемых активов (опционов)
	_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
			
	// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
	_plazaStreamManager.Start();
}

Вопрос: подключаться ко всем потокам или дать возможность клиенту выбирать, что ему нужно. Для этого я создал перечисление PlazaMarketData. Тогда метод будет выглядеть вот так:

public void StartListeners(PlazaMarketData marketData)
{
	// вот здесь как раз и заполняются метаданные для всех потоков плазы

	if ((marketData & PlazaMarketData.Options) > 0)
	{
		// opt_vcb - Справочник торгуемых активов (опционов)
		_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
	}
			
	// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
	_plazaStreamManager.Start();
}
Thanks:

Mikhail Sukhov

Avatar
Date: 3/13/2011
Reply


aspirant: Вопрос: подключаться ко всем потокам или дать возможность клиенту выбирать, что ему нужно. Для этого я создал перечисление PlazaMarketData. Тогда метод будет выглядеть вот так:

public void StartListeners(PlazaMarketData marketData) { // вот здесь как раз и заполняются метаданные для всех потоков плазы

if ((marketData & PlazaMarketData.Options) > 0)
{
	// opt_vcb - Справочник торгуемых активов (опционов)
	_plazaStreamManager.AddStream(new PlazaColumnSet(PlazaTableRegistry.OptVcb), TRequestType.RT_COMBINED_DYNAMIC);
}
		
// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();

}


Я бы сделал так:

public void StartListeners(params PlazaTable[] tables) { foreach (var table in tables) _plazaStreamManager.Add(table, TRequestType.RT_COMBINED_DYNAMIC);

// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();

}

Thanks:

aspirant

Avatar
Date: 3/13/2011
Reply


Mikhail Sukhov: Я бы сделал так:

public void StartListeners(params PlazaTable[] tables) { foreach (var table in tables) _plazaStreamManager.Add(table, TRequestType.RT_COMBINED_DYNAMIC);

// Запускаем _plazaStreamManager, данные из потоков приходят в plazaStreamManager_NewData
_plazaStreamManager.Start();

}


Да, так будет удобнее
Thanks:

aspirant

Avatar
Date: 3/14/2011
Reply


Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData. Хочу предложить два варианта подключения через PlazaTrader:

  1. Подключение к стандартным стримам, данные которых будут перегоняться в стандартные объекты. Здесь используется метод с моей сигнатурой, чтобы контроллировать, какие потоки запрашиваются с сервера.
  2. Подключение к любым потокам с настраиваемым набором колонок. Здесь используется твоя сигнатура. Данные будут выдаваться клиенту в "сыром формате".
Thanks:

Mikhail Sukhov

Avatar
Date: 3/14/2011
Reply


aspirant: Утром вспомнил, почему решил подключаться к потокам через перечисление PlazaMarketData. Хочу предложить два варианта подключения через PlazaTrader:

  1. Подключение к стандартным стримам, данные которых будут перегоняться в стандартные объекты. Здесь используется метод с моей сигнатурой, чтобы контроллировать, какие потоки запрашиваются с сервера.
  1. Подключение к любым потокам с настраиваемым набором колонок. Здесь используется твоя сигнатура. Данные будут выдаваться клиенту в "сыром формате".

Хм, а почему PlazaTable не использовать и для того, и для другого?

Thanks:

aspirant

Avatar
Date: 3/14/2011
Reply


Mikhail Sukhov: Хм, а почему PlazaTable не использовать и для того, и для другого?

С помощью PlazaTable я собираюсь описать все таблицы в потоках плазы папки (см. содержимое C:\Program Files (x86)\P2FORTSGate\Scheme ). Мы ведь не собираемся перегонять в стандартные объекты все таблицы? А если использовать только твою сигнатуру, клиент сможет запрашивать данные не только из основных таблиц (opt_vcb и т.д.), но и всякую эзотерику. Кроме того таблицы стаканов - тоже будут описаны при помощи PlazaTable.

Кстати, твой метод правильнее будет объявляться вот так:

public void StartListeners(params PlazaColumnList[] tables)

PlazaTable знает только название таблицы в потоке, название схемы и название самого потока. С помощью PlazaColumnList я буду создавать схемы (ini-файлы). Вчера я хотел это делать с помощью PlazaColumnSet.

Thanks:

Mikhail Sukhov

Avatar
Date: 3/14/2011
Reply


aspirant: Кстати, твой метод правильнее будет объявляться вот так:

public void StartListeners(params PlazaColumnList[] tables)


А как же PlazaTable.Columns?
Thanks:

aspirant

Avatar
Date: 3/14/2011
Reply


Mikhail Sukhov: А как же PlazaTable.Columns? Мне кажется правильнее или удобнее будет, если один класс (PlazaTable) отвечает за описание метаданных, а другой (PlazaColumnList) - за создание наборов колоннок/полей для получения данных из потоков. Посмотри: я только что залил обновленный PlazaTableRegistry, а также всех наследников PlazaColumns, отвечающих за опционы.

Thanks:

Mikhail Sukhov

Avatar
Date: 3/15/2011
Reply


aspirant:

Mikhail Sukhov: А как же PlazaTable.Columns? Мне кажется правильнее или удобнее будет, если один класс (PlazaTable) отвечает за описание метаданных, а другой (PlazaColumnList) - за создание наборов колоннок/полей для получения данных из потоков.

Для меня выделенное - синонимы. В чем разница?

Thanks:

aspirant

Avatar
Date: 3/17/2011
Reply


Mikhail Sukhov: Для меня выделенное - синонимы. В чем разница?

Сегодня вечером постараюсь ответить. Пока другой вопрос: инструменты на примере опционов - это

opt_vcb - Справочник торгуемых активов

или

opt_sess_contents - Cправочник торгуемых инструментов[confused]

Thanks:
<< < 2 3 4 5  >

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

loading
clippy