да так очевидно) Просто думал это можно сделать через Trader без явного преобразования (без привязки стратегии к типу терминала). Но видимо это нелогично.
Дает ошибку: Не удалось привести тип объекта "StockSharp.Algo.Testing.RealTimeEmulationTrader`1[StockSharp.Quik.QuikTrader]" к типу "StockSharp.Quik.QuikTrader".
Serg:
да так очевидно) Просто думал это можно сделать через Trader без явного преобразования (без привязки стратегии к типу терминала). Но видимо это нелогично.
> Дает ошибку: Не удалось привести тип объекта "StockSharp.Algo.Testing.RealTimeEmulationTrader`1[StockSharp.Quik.QuikTrader]" к типу "StockSharp.Quik.QuikTrader".
у RealTimeEmulationTrader есть поле Trader - это как раз и будет QuikTrader.
Видимо это все немного не то чего я ожидал(
Подскажите, если Trader открыл стакан и запустил экспорт по дде, но потом каким то образом этот стакан был кем-то закрыт. Как в таком случае проверить открыт ли стакан в квике и запущен ли по нему экспорт?
Serg:
Видимо это все немного не то чего я ожидал(
Подскажите, если Trader открыл стакан и запустил экспорт по дде, но потом каким то образом этот стакан был кем-то закрыт. Как в таком случае проверить открыт ли стакан в квике и запущен ли по нему экспорт?
Спросить у кого-то закрывал он стакан или нет
Ну QuikTrader.Terminal.IsDdeStarted(Security) что возвращает в этом случае?
Serg:
На самом деле у меня почему-то стаканы не всегда открываются. Происходит это не часто но все же.
Сейчас я сделал задержку после Trader.RegisterQuotes(Security) в 500мс, вроде проблема более не наблюдалась.
Спасибо за ваш совет. Буду экспериментировать далее)
评论 (10)
登录 或 创建账户, 登录或注册以发表评论
Terminal.IsDdeStarted(Security)
А из стратегии его вызвать можно?
QuikTrader.Terminal.IsDdeStarted(Security) очевидно что можно
да так очевидно) Просто думал это можно сделать через Trader без явного преобразования (без привязки стратегии к типу терминала). Но видимо это нелогично.
Спасибо за ответ.
+++
А Trader преобразовать в QuikTreader нельзя?
Дает ошибку: Не удалось привести тип объекта "StockSharp.Algo.Testing.RealTimeEmulationTrader`1[StockSharp.Quik.QuikTrader]" к типу "StockSharp.Quik.QuikTrader".
StockSharp.Quik.QuikTrader qt = (StockSharp.Quik.QuikTrader)Trader;
Видимо это все немного не то чего я ожидал( Подскажите, если Trader открыл стакан и запустил экспорт по дде, но потом каким то образом этот стакан был кем-то закрыт. Как в таком случае проверить открыт ли стакан в квике и запущен ли по нему экспорт?
Спросить у кого-то закрывал он стакан или нет
Ну QuikTrader.Terminal.IsDdeStarted(Security) что возвращает в этом случае?
Если экспорт стартовал то IsDdeStarted(Security) всегда true. То есть он не проверяет "это" вновь а берет старую инфу как я понял.
Я бы спросил) но кто он, тот кто их закрывает)) На самом деле у меня почему-то стаканы не всегда открываются. Происходит это не часто но все же.
Так зачем вы закрываете я не пойму? Вы успешно стартанули экспорт - потом вдруг вам взбрело в голову закрыть стакан?
Проверьте что открыта таблица - Terminal.IsTableOpened, затем проверьте что запущен экспорт - так, как я сказал выше.
Сейчас я сделал задержку после Trader.RegisterQuotes(Security) в 500мс, вроде проблема более не наблюдалась. Спасибо за ваш совет. Буду экспериментировать далее)