← Zurück

Открыт стакан?

Приветствую. Подскажите плиз есть ли метод который может сказать открыт стакан или нет?

War dieses Thema hilfreich?

Thema teilen

Kommentare (10)

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

Alexander
Alexander

Serg: Приветствую. Подскажите плиз есть ли метод который может сказать открыт стакан или нет?

Terminal.IsDdeStarted(Security)

Serg
Serg Autor

А из стратегии его вызвать можно?

Alexander
Alexander

Serg: А из стратегии его вызвать можно?

QuikTrader.Terminal.IsDdeStarted(Security) очевидно что можно

Serg
Serg Autor

да так очевидно) Просто думал это можно сделать через Trader без явного преобразования (без привязки стратегии к типу терминала). Но видимо это нелогично.

Спасибо за ответ.

+++

А Trader преобразовать в QuikTreader нельзя?

StockSharp.Quik.QuikTrader qt = (StockSharp.Quik.QuikTrader)Trader;

Дает ошибку: Не удалось привести тип объекта "StockSharp.Algo.Testing.RealTimeEmulationTrader`1[StockSharp.Quik.QuikTrader]" к типу "StockSharp.Quik.QuikTrader".

Alexander
Alexander

Serg: да так очевидно) Просто думал это можно сделать через Trader без явного преобразования (без привязки стратегии к типу терминала). Но видимо это нелогично.

Спасибо за ответ.

+++

А Trader преобразовать в QuikTreader нельзя?

StockSharp.Quik.QuikTrader qt = (StockSharp.Quik.QuikTrader)Trader;

> Дает ошибку: Не удалось привести тип объекта "StockSharp.Algo.Testing.RealTimeEmulationTrader`1[StockSharp.Quik.QuikTrader]" к типу "StockSharp.Quik.QuikTrader".

у RealTimeEmulationTrader есть поле Trader - это как раз и будет QuikTrader.
Serg
Serg Autor

Видимо это все немного не то чего я ожидал( Подскажите, если Trader открыл стакан и запустил экспорт по дде, но потом каким то образом этот стакан был кем-то закрыт. Как в таком случае проверить открыт ли стакан в квике и запущен ли по нему экспорт?

Alexander
Alexander

Serg: Видимо это все немного не то чего я ожидал( Подскажите, если Trader открыл стакан и запустил экспорт по дде, но потом каким то образом этот стакан был кем-то закрыт. Как в таком случае проверить открыт ли стакан в квике и запущен ли по нему экспорт?

Спросить у кого-то закрывал он стакан или нет

Ну QuikTrader.Terminal.IsDdeStarted(Security) что возвращает в этом случае?

Serg
Serg Autor

Если экспорт стартовал то IsDdeStarted(Security) всегда true. То есть он не проверяет "это" вновь а берет старую инфу как я понял.

Alexander Mukhanchikov: Спросить у кого-то закрывал он стакан или нет

Я бы спросил) но кто он, тот кто их закрывает)) На самом деле у меня почему-то стаканы не всегда открываются. Происходит это не часто но все же.

Alexander
Alexander

Serg: Если экспорт стартовал то IsDdeStarted(Security) всегда true. То есть он не проверяет "это" вновь а берет старую инфу как я понял.

Alexander Mukhanchikov: Спросить у кого-то закрывал он стакан или нет

Я бы спросил) но кто он, тот кто их закрывает)) На самом деле у меня почему-то стаканы не всегда открываются. Происходит это не часто но все же.

Так зачем вы закрываете я не пойму? Вы успешно стартанули экспорт - потом вдруг вам взбрело в голову закрыть стакан?

Проверьте что открыта таблица - Terminal.IsTableOpened, затем проверьте что запущен экспорт - так, как я сказал выше.

Serg
Serg Autor

Serg: На самом деле у меня почему-то стаканы не всегда открываются. Происходит это не часто но все же.

Сейчас я сделал задержку после Trader.RegisterQuotes(Security) в 500мс, вроде проблема более не наблюдалась. Спасибо за ваш совет. Буду экспериментировать далее)