← Zurück

работа с IsTradeTime()

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

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (7)

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

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Autor

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

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Autor

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

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Autor

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

Mikhail Sukhov
Mikhail Sukhov

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