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

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


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


Теги:


Спасибо:


<< < 2 3 4 5  >
aspirant

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


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();
}
Спасибо:

Mikhail Sukhov

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


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();

}

Спасибо:

aspirant

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


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();

}


Да, так будет удобнее
Спасибо:

aspirant

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


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

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

Mikhail Sukhov

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


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

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

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

Спасибо:

aspirant

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


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

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

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

public void StartListeners(params PlazaColumnList[] tables)

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

Спасибо:

Mikhail Sukhov

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


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

public void StartListeners(params PlazaColumnList[] tables)


А как же PlazaTable.Columns?
Спасибо:

aspirant

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


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

Спасибо:

Mikhail Sukhov

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


aspirant:

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

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

Спасибо:

aspirant

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


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

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

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

или

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

Спасибо:
<< < 2 3 4 5  >

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

loading
clippy