← Back

GetCurrentTimeFrameCandle часто возвращает null

имею код

    protected override StrategyProcessResults OnProcess()
    {
        var candle = _candleManager.GetCurrentTimeFrameCandle(Security, TimeFrame);

candle == null примерно каждый второй заход в OnProcess... Это очень печально, ибо текущая несформированная свеча должна быть (есть) ВСЕГДА

Михаил, мысли?

Comments (3)

Login or Create account, Log in or register to leave a comment

Mikhail Sukhov
Mikhail Sukhov

sklementiev: Это очень печально, ибо текущая несформированная свеча должна быть (есть) ВСЕГДА

Михаил, мысли?

Было бы из-за чего печалиться. Это же всего лишь робот, управляющий деньгами.🙂

Насчет всегда, это неправильно. Что понимаете под словом текущая? Если текущая по отношению к данному моменту, то она в легкую может быть null (за текущий ТФ не пришла ни одна сделка). Это то что возвращается GetCurrentTimeFrameCandle. Если нужно получить последнюю свечку (она будет текущей, если были тики в текущей ТФ и будет пред, если тики пока не пришли). Это делается через метод GetLastTimeFrameCandle

sklementiev
sklementiev Author

Mikhail Sukhov:

sklementiev: Это очень печально, ибо текущая несформированная свеча должна быть (есть) ВСЕГДА

Михаил, мысли?

Было бы из-за чего печалиться. Это же всего лишь робот, управляющий деньгами.🙂

Насчет всегда, это неправильно. Что понимаете под словом текущая? Если текущая по отношению к данному моменту, то она в легкую может быть null (за текущий ТФ не пришла ни одна сделка). Это то что возвращается GetCurrentTimeFrameCandle. Если нужно получить последнюю свечку (она будет текущей, если были тики в текущей ТФ и будет пред, если тики пока не пришли). Это делается через метод GetLastTimeFrameCandle

Да, текущая свеча (свеча за текущий неоконченный таймфрейм) может быть null, если (тут ты абсолютно прав) за текущий ТФ не пришла ни одна сделка (пример - клиринг) ОДНАКО, в моем случае этих сделок была куча... то есть проблема в том, что ЧАСТО в течении таймфрейма метод возвращает null, уже имея данные для построения свечи в текущем ТФ

Mikhail Sukhov
Mikhail Sukhov

sklementiev: ОДНАКО, в моем случае этих сделок была куча... то есть проблема в том, что ЧАСТО в течении таймфрейма метод возвращает null, уже имея данные для построения свечи в текущем ТФ

Дело в том, что Квик - это не мгновенная передача данных. Возможно вы запрашивали свечку ДО того, как по ней пришли сделки. Это довольно распространенная ситуация. Лично я опираюсь только на события.