← 戻る

работа с IsTradeTime()

Подскажите как правильно работать с IsTradeTime. в стратегии (OnProcess) сделал так:

if ( !Sec1.Exchange.IsTradeTime(Trader) || ! Sec2.Exchange.IsTradeTime(Trader) ) { AddLog(StrategyErrorStates.Warning, "Неторговое время", this); return true;

где Sec2 - акция ртс стандарт во время клиринга вся эта конструкция не сработала. присутствует разница во времени между квиком и локальным. возникло подозрение что Sec2.Exchange.IsTradeTime(Trader) определяется относительно локального времени

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

トピックを共有

コメント (7)

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

Mikhail Sukhov
Mikhail Sukhov

Это легко проверить. Что возвращает ITrader.MarketTime

Serg
Serg 著者

Да )) это было легко. Локальное время). А как правильно брать время биржи?

Mikhail Sukhov
Mikhail Sukhov

Странно что локальное... QuikTrader время читает из Квика. Квик сейчас правильное время биржи показывает (внизу слева)? Какая, кстати, версия S#?

Serg
Serg 著者

да так и есть. странно почему тогда на сработала моя конструкция. но есть еще одно но. Запустил стратегию ... она работает. время определяется правильно. далее изменяю локальное время в сторону уменьшения. в выводе VS2010 появляется сообщение "Поток '<Без имени>' (0x33c) завершился с кодом 0 (0x0)." Стратегия перестает работать. После следующего старта стратегии она выводит уже неправильное время.

Mikhail Sukhov
Mikhail Sukhov

Не совсем понял, что так и есть? Изменяете локальное время в Виндовс или за счет MarketTimeOffset?

Serg
Serg 著者

так и есть - QuikTrader время читает из Квика. А время меняю в виндовс

Mikhail Sukhov
Mikhail Sukhov

Значит в Квике время неправильное?