Симптоматика.
В коде пэинтора этого индикатора есть небольшая ошибка, приводящая к преждевременной, ненужной отрисовке графиков во время "разогрева" внутреннего Moving Average.
Из-за этого, основной свечной график сжимается и требует ручного масштабирования.
Выглядит это так:

Причина.
Пока индикатор не "разогрелся", значения абсолютно бестолковые и индикатор честно сообщает об этом через IsFormed = false
При этом в коде пэинтора есть проверка на сформированность индикатора и отрисовка пустых значений, которые не рисуются на графике.
В результате небольшой ошибки, допущенной при реализации, после выполнения этого проверочного кода идет обычный код отрисовки, который перетирает пустые значения ошибочными цифрами не разогретого индикатора.
Как лечить.
В коде StockSharp.Xaml.Charting.IndicatorPainters.BollingerBandsPainter добавить одну строчку
if (!value.IsFormed)
{
draw(upBandElement, 0, new double[]
{
double.NaN
});
draw(lowBandElement, 0, new double[]
{
double.NaN
});
draw(maElement, 0, new double[]
{
double.NaN
});
return; //<-------------- вот эту
}
После этого график будет выглядеть вот так:

Автор индикатора явно с самого начала так все и задумывал, но, видимо, ошибся при реализации.
PS: Пул реквеста от меня не будет, т.к. код пэинтора проприетарный.
Симптоматика.
В коде пэинтора этого индикатора есть небольшая ошибка, приводящая к преждевременной, ненужной отрисовке графиков во время "разогрева" внутреннего Moving Average.

Из-за этого, основной свечной график сжимается и требует ручного масштабирования.
Выглядит это так:
Причина.
Пока индикатор не "разогрелся", значения абсолютно бестолковые и индикатор честно сообщает об этом через IsFormed = false
При этом в коде пэинтора есть проверка на сформированность индикатора и отрисовка пустых значений, которые не рисуются на графике.
В результате небольшой ошибки, допущенной при реализации, после выполнения этого проверочного кода идет обычный код отрисовки, который перетирает пустые значения ошибочными цифрами не разогретого индикатора.
Как лечить.
В коде StockSharp.Xaml.Charting.IndicatorPainters.BollingerBandsPainter добавить одну строчку
После этого график будет выглядеть вот так:

Автор индикатора явно с самого начала так все и задумывал, но, видимо, ошибся при реализации.
PS: Пул реквеста от меня не будет, т.к. код пэинтора проприетарный.