MyTrades
Atom Ответить
11.04.2013


Здраствуйте!
Не могу получить данные из таблицы MyTrades.

var task = Task.Factory.StartNew(() => _trader.StartExport());

_trader.NewMyTrades += _trader_NewMyTrades;

_trader.Connect();

task.Wait();

_trader.MyTrades.Count(); //тут 0

void _trader_NewMyTrades(IEnumerable<StockSharp.BusinessEntities.MyTrade> obj)
{
Console.WriteLine("my trades"); //когда происходит сделка сюда не попадаю
}

Все остальные таблицы работают корректно.

При запуске Verifyer был alert на таблице Мои сделки о том что - вместо столбца :Дата сделки: должен быть столбец :Дата торгов: после замены одного столбца на другой алерт исчез.
Но даже при не измененном столбце, также не мог получить данные.

Кто нибудь может подсказать в чем здесь может быть проблема.

Фильтры на таблице мои сделки настроены корректно, все свои сделки в квике я вижу.


WIN 7
StockSharp.Quick 4.1.9
VS 2012

Спасибо.

Теги:


Спасибо:




6 Ответов
Денис

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


У меня та же проблема.
События по собственным сделкам не приходят. Обработчики событий/правил: Trader.NewMyTrades, Order.WhenNewTrades, Strategy.WhenNewMyTrades - не вызываются.
Таблица Trader.MyTrades - пустая.

В квике сделки в таблице своих сделок видны. В экспорт таблица Trader.MyTradesTable добавлена.

Форум перерыл, проблема осталась. Версия S# 4.1.11
Verifyer говорит, что все нормально настроено.

Помогите, плз, куда копать.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.04.2013
Ответить


ITrader.ProcessDataError
Спасибо:

Денис

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


Туда никаких ошибок не приходит.

Смотрю так, если что:
Код
Trader.ProcessDataError += (ex) => { Trader.AddInfoLog("Ошибка:" + ex.ToString()); };
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.04.2013
Ответить


ataden Перейти
Туда никаких ошибок не приходит.

Смотрю так, если что:
Код
Trader.ProcessDataError += (ex) => { Trader.AddInfoLog("Ошибка:" + ex.ToString()); };


Пример Sample работает?
Спасибо:

Денис

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


Да, пример работает.
Выяснил причину. Я выборочно стартовал экспорт DDE таблиц, брал только эти:
Код

 Trader.StartExport(new[] { Trader.SecuritiesTable, Trader.EquityPortfoliosTable,  Trader.DerivativePortfoliosTable, Trader.MyTradesTable });

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

Если же стартовать всеми таблицами: Trader.StartExport() - то сделки появляются.
Я думал, трейдер свои сделки берет из таблицы Trader.MyTradesTable. Или ему еще что-то нужно для этого?
Спасибо:

esper

Фотография
Программист
Дата: 25.04.2013
Ответить


ataden Перейти
Я думал, трейдер свои сделки берет из таблицы Trader.MyTradesTable. Или ему еще что-то нужно для этого?

Для собственных сделок так же нужны заявки.
Спасибо:


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

loading
clippy