События S#
Atom Ответить
03.10.2011


в общем алгоритм таков
Заключается он в том, что отслеживает последние цены по двум инструментам одновременно и заносить в 2 разных массива.
Единственная проблема в том что я не могу получить LastTrade из квика..Как мне такое сделать? Какие события использовать?
Код

private static Security _msich;
private static Security _ceen;
const string secCode = "MSICH";
const string secCode2 = "CEEN";
-----
while (true)
{
var mid = _msich.LastTrade.Price;
var mid2 = _ceen.LastTrade.Price;


//Далее нужно подписываться на события..какие?
if (LastId < _msich.LastTrade.Id)
{
Mass.Add(mid);
LastId = _msich.LastTrade.Id;
}
if (LastId < _ceen.LastTrade.Id)
{
Mass2.Add(mid2);
LastId2 = _ceen.LastTrade.Id;
}
}
------

Теги:


Спасибо:




6 Ответов
Alexander

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


Все сделки экспортируются?
Спасибо:

Yura

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


Как прописать экспорт?
я понимаю так.
из примера, мы подписываемся на событие появления инструмента MSICH
Что тут нужно изменить для получения информации о последней сделке MSICH

Код

trader.NewSecurities += securities =>
						{
                            if (_msich == null)
							{
                                // находим msich и присваиваем ее переменной msich
                                _msich = securities.FirstOrDefault(sec => sec.Code == secCode);

                                if (_msich != null)
								{
									Console.WriteLine("Инструмент msich появился.");

									// запускаем экспорт стакана
                                    trader.RegisterQuotes(_msich);//

									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};


RegisterQuotes(_msich) это экспорт стакана MSICH, как я понял, для получения последней сделки из таблицы "мои сделки" нужно использовать RegisterSecurity(_msich) , или как это правильно сделать?Либо правильнее использовать RegisterTrades(_msich)
Автор топика
Спасибо:

Yura

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


Вот так?

Код
trader.NewTrades += trade =>
						{
                            if (_msich == null)
							{
                                // находим msich и присваиваем ее переменной msich
                                _msich = trade.FirstOrDefault(sec => sec.Code == secCode);

                                if (_msich != null)
								{
									Console.WriteLine("Инструмент Лукойл появился.");

									// запускаем экспорт стакана
                                    trader.RegisterTrades(_msich);

									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};
Автор топика
Спасибо:

Alexander

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


Да, событие NewTrades срабатывает?
Спасибо:

Yura

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


Yura Перейти
Вот так?

Код
trader.NewTrades += trade =>
						{
                            if (_msich == null)
							{
                                // находим msich и присваиваем ее переменной msich
                                _msich = trade.FirstOrDefault(sec => sec.Code == secCode);

                                if (_msich != null)
								{
									Console.WriteLine("Инструмент Лукойл появился.");

									// запускаем экспорт стакана
                                    trader.RegisterTrades(_msich);

									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};

но выдает ошибку на sec.Code т.к. в Trade нет метода Code , а как мне задать ему код инструмента тогда?
Автор топика
Спасибо:

Alexander

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


Yura Перейти
Yura Перейти
Вот так?

Код
trader.NewTrades += trade =>
						{
                            if (_msich == null)
							{
                                // находим msich и присваиваем ее переменной msich
                                _msich = trade.FirstOrDefault(sec => sec.Code == secCode);

                                if (_msich != null)
								{
									Console.WriteLine("Инструмент Лукойл появился.");

									// запускаем экспорт стакана
                                    trader.RegisterTrades(_msich);

									if (_portfolio != null)
										waitHandle.Set();
								}
							}
						};

но выдает ошибку на sec.Code т.к. в Trade нет метода Code , а как мне задать ему код инструмента тогда?



у сделки есть инструмент, у иснтрумента есть код
Спасибо:


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

loading
clippy