Первый вопрос: класс 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)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください