← 戻る

RealTimeEmulationTrader не регистрируются заявки

Пользуюсь версией 4.2.1.5 Trader=RealTimeEmulationTrader<QuikTrader>(new QuikTrader(QuikTerminal.GetDefaultPath())) Когда регистрирую ордер в трейдере (Отправляю заявку), она появляется в таблице со статусом "Регистрация" и не регистрируется, а остается висеть в этом статусе. Такое подозрение, что RealTimeEmulationTrader не видит цен вообще, т.к. таблица "все сделки" пуста, а при Trader= new QuikTrader(QuikTerminal.GetDefaultPath()); сделки в нее приезжают. Спасибо.

このトピックは参考になりましたか?

トピックを共有

コメント (8)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

Mikhail Sukhov
Mikhail Sukhov

Уже обсуждалось недавно на форуме. Нужно запускать экспорт данных у основного шлюза.

Gavrus
Gavrus
Gavrus 著者

Поискал на форуме, не нашел где это обсуждалось Подскажите, что в моем коде не так? Экспорт данных у основного шлюза запускаю: _trader.StartExport();


 private ITrader _trader;   
_trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader(QuikTerminal.GetDefaultPath()));
_trader.NewSecurities += securities => this.GuiAsync(() => MySecurities.ItemsSource = securities);
_trader.NewPortfolios += portfolios => this.GuiAsync(() => MyPortfolios.ItemsSource = portfolios);
_trader.NewTrades +=trades => this.GuiAsync(() => _Orders.AllTrades.Trades.AddRange(trades));
_trader.StartExport();
_trader.Connect();

В таблицу AllTrades сделки при RealTimeEmulationTrader не приезжают, а приезжают только при _trader = new QuikTrader(QuikTerminal.GetDefaultPath());

longtrades
longtrades

StartExport() основного шлюза мне тоже не помог , покажите где обсуждалось , пожалуйста , может еще что-то нужно.

Mikhail Sukhov
Mikhail Sukhov

В коде нет запуска экспорта у квика

longtrades
longtrades

У меня есть но ни _trader.NewTrades ни _trader.MarketTimeChanged не срабатывают? в чем может быть проблема ?

Gavrus
Gavrus 著者

В квике DDE экспорт данных таблицы "Все сделки" запускается. Михаил, не могли бы вы подправить мой пример?

longtrades
longtrades

Я так понимаю Михаил имеет ввиду что нужно сделать так:


private ITrader _trader;  
var trader = new QuikTrader(QuikTerminal.GetDefaultPath()); 
_trader = new RealTimeEmulationTrader<QuikTrader>(trader);
_trader.NewSecurities += securities => this.GuiAsync(() => MySecurities.ItemsSource = securities);
_trader.NewPortfolios += portfolios => this.GuiAsync(() => MyPortfolios.ItemsSource = portfolios);
_trader.NewTrades +=trades => this.GuiAsync(() => _Orders.AllTrades.Trades.AddRange(trades));

 trader.StartExport();
_trader.StartExport();
_trader.Connect();

Но мне такое не помогло :(

Gavrus
Gavrus 著者

В версии 4.2.2.1 все теперь работает!