← Zurück

Клиринг

Столкнулся со след. проблемой: мне нужно по открытию новой свечи произвести сделку. то есть например на часовиках текущая свеча 13-00. когда наступает 14-00 по идее срабатывает условие isTradeTime == false и программа прогоняется в холостую. а затем сразу после того, как isTradeTime == true. должна произойти покупка. в итоге в 14-03 отправляется заявка, но реально клиринг еще не закончился и в итоге выкидывается исключение "попытка совершить .... в клиринг". Я так понимаю метод isTradeTime проверяет заранее заданные интервалы? Или я ошибаюсь? Можно ли как то гарантировано определить идет ли торговля?

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

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

Mikhail Sukhov
Mikhail Sukhov

xaxa: Столкнулся со след. проблемой: мне нужно по открытию новой свечи произвести сделку. то есть например на часовиках текущая свеча 13-00. когда наступает 14-00 по идее срабатывает условие isTradeTime == false и программа прогоняется в холостую. а затем сразу после того, как isTradeTime == true. должна произойти покупка. в итоге в 14-03 отправляется заявка, но реально клиринг еще не закончился и в итоге выкидывается исключение "попытка совершить .... в клиринг". Я так понимаю метод isTradeTime проверяет заранее заданные интервалы? Или я ошибаюсь? Можно ли как то гарантировано определить идет ли торговля?

Exchange.WorkingTime

xaxa
xaxa Autor

Михаил, не совсем понял а как с помощью Exchange.WorkingTime можно гарантировано определить идет ли торговля?

Mikhail Sukhov
Mikhail Sukhov

xaxa: Михаил, не совсем понял а как с помощью Exchange.WorkingTime можно гарантировано определить идет ли торговля?

У WorkingTime есть расписание работы. По нему сверяется текущее биржевое время.

xaxa
xaxa Autor

А рез-т работы base.Security.Exchange.IsTradeTime(base.Trader) разве будет не эквиваленетен base.Security.Exchange.WorkingTime.IsTradeTime(base.Trader.MarketTime) ?

Mikhail Sukhov
Mikhail Sukhov

xaxa: А рез-т работы base.Security.Exchange.IsTradeTime(base.Trader) разве будет не эквиваленетен base.Security.Exchange.WorkingTime.IsTradeTime(base.Trader.MarketTime) ?

Первое вызывает второе.

xaxa
xaxa Autor

Так у меня как раз и сложилась ситуация, когда я использую этот метод :) То есть:

  if (base.Security.Exchange.IsTradeTime(base.Trader) == false)
            {
                return StrategyProcessResults.Continue;
            }
    // далее покупка по открытию свечи

И в итоге получилось что он попытался купить в 14:03 - но клиринг РЕАЛЬНО еще не закончился(вчера так получилось).