имею код
protected override StrategyProcessResults OnProcess()
{
var candle = _candleManager.GetCurrentTimeFrameCandle(Security, TimeFrame);
candle == null примерно каждый второй заход в OnProcess... Это очень печально, ибо текущая несформированная свеча должна быть (есть) ВСЕГДА
Михаил, мысли?
コメント (3)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Было бы из-за чего печалиться. Это же всего лишь робот, управляющий деньгами.🙂
Насчет всегда, это неправильно. Что понимаете под словом текущая? Если текущая по отношению к данному моменту, то она в легкую может быть null (за текущий ТФ не пришла ни одна сделка). Это то что возвращается GetCurrentTimeFrameCandle. Если нужно получить последнюю свечку (она будет текущей, если были тики в текущей ТФ и будет пред, если тики пока не пришли). Это делается через метод GetLastTimeFrameCandle
Да, текущая свеча (свеча за текущий неоконченный таймфрейм) может быть null, если (тут ты абсолютно прав) за текущий ТФ не пришла ни одна сделка (пример - клиринг) ОДНАКО, в моем случае этих сделок была куча... то есть проблема в том, что ЧАСТО в течении таймфрейма метод возвращает null, уже имея данные для построения свечи в текущем ТФ
Дело в том, что Квик - это не мгновенная передача данных. Возможно вы запрашивали свечку ДО того, как по ней пришли сделки. Это довольно распространенная ситуация. Лично я опираюсь только на события.