← Zurück

События S#

в общем алгоритм таков Заключается он в том, что отслеживает последние цены по двум инструментам одновременно и заносить в 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;
}
}
------

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

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

Yura
Yura Autor

Как прописать экспорт? я понимаю так. из примера, мы подписываемся на событие появления инструмента 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
Yura Autor

Вот так?

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();
								}
							}
						};
Yura
Yura Autor

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
Alexander

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 , а как мне задать ему код инструмента тогда?


у сделки есть инструмент, у иснтрумента есть код
Alexander
Alexander

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