← Назад

Ошибки в SampleSMA версия 2.0

Первый вопрос: класс MainWindow в функции private void DrawSma() отсутствуют две строчки

                                           foreach (var candle in candles)
                                            {
                                                    ОТСУТСТВУЕТ!

_strategy.LongSma.Add(candle); ОТСУТСТВУЕТ! _strategy.ShortSma.Add(candle);

                                                   _longSmaSeries.DataPoints.Add(new DataPoint { XValue =

candle.Time, YValue = _strategy.LongSma.Value }); _shortSmaSeries.DataPoints.Add(new DataPoint ); } Это так должно быть в версии 2.0? В версии 1.8 в примерах и в доке в 2.0 эти строчки есть.

Второй вопрос: класс SmaStrategy в функции protected override bool OnProcess()

                   // получаем сформированную свечку
                    var candle = _candleManager.GetTimeFrameCandle(base.Security,

base.Interval, _nextTime - base.Interval);

                   // если свечки не существует (не было ни одной сделке в тайм-

фрейме), то ждем окончания следующей свечки. if (candle == null) return true;

                  _nextTime += base.Interval;

Часть кода _nextTime += base.Interval; находится после проверки cadle == null. У меня такой вариант не работает, потому-что допустим стратегия начала работать в 10:00 часов, свечей еще нет, соотв. _nextTime не увеличивается и постоянно равно 10:00, соотв candle всегда будет равно нулл. Я перенес итерацию _nextTime выше проверки candle == null. Так работает. Вопрос как должно быть правильно?

Спасибо. Апи супер!

Комментарии (1)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov
  1. Рекомендую обновиться до 2.0.1 Багов меньше. В частности, я фиксил и этом примере. Так я уже не помню, что для чего было сделано.
  2. Эта проверка - как гарант того, что есть полностью сформированная свечка (путем получения свечки на тайм-фрейм больше). Если Вы перенесете код выше проверки, то у _nextTime будет увеличиваться не зависимо, нужно или нет.