имею код
protected override StrategyProcessResults OnProcess()
{
var candle = _candleManager.GetCurrentTimeFrameCandle(Security, TimeFrame);
candle == null примерно каждый второй заход в OnProcess... Это очень печально, ибо текущая несформированная свеча должна быть (есть) ВСЕГДА
Михаил, мысли?
Comentarios (3)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Было бы из-за чего печалиться. Это же всего лишь робот, управляющий деньгами.🙂
Насчет всегда, это неправильно. Что понимаете под словом текущая? Если текущая по отношению к данному моменту, то она в легкую может быть null (за текущий ТФ не пришла ни одна сделка). Это то что возвращается GetCurrentTimeFrameCandle. Если нужно получить последнюю свечку (она будет текущей, если были тики в текущей ТФ и будет пред, если тики пока не пришли). Это делается через метод GetLastTimeFrameCandle
Да, текущая свеча (свеча за текущий неоконченный таймфрейм) может быть null, если (тут ты абсолютно прав) за текущий ТФ не пришла ни одна сделка (пример - клиринг) ОДНАКО, в моем случае этих сделок была куча... то есть проблема в том, что ЧАСТО в течении таймфрейма метод возвращает null, уже имея данные для построения свечи в текущем ТФ
Дело в том, что Квик - это не мгновенная передача данных. Возможно вы запрашивали свечку ДО того, как по ней пришли сделки. Это довольно распространенная ситуация. Лично я опираюсь только на события.