Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: BugsDigger » 24 мар 2019, 20:17

Тема: Re: Текущие проблемы в терминале Альфа-Директ 4

Текст сообщения:

Баг с отрисовкой Axes.New

1. Вывести график свечек, например SBER.
2. Вывести на график любой индикатор с выходным значением PriceStudy=true. Я для примера вывел свой индикатор (голубой цвет на рисунке)

Код: Выделить всё

CandleAvg=(Input.High+Input.Low)/2;

3. Добавить тестовый индикатор с рисованием как в основном окне, так и на новой оси (в отдельной области):

Код: Выделить всё

function Initialize()
{
 IndicatorName = "_BugInAxesNew";
 PriceStudy = true;
 AddInput("Input", Inputs.Price);           
 AddSeries("Dummy", DrawAs.Line, Color.Black);   
 AddSeries("Bug", DrawAs.Custom, Color.Black, AxisType.ZeroBased, true, Axes.New);  // <---
}

function Evaluate()
{
 // Дополнительное тестирование показало, что серия Dummy на самом деле не нужна для воспроизведения бага, но пусть уж остается
 Dummy[0]=Input[0]-1.0;

 Bug[0]=1.0;
 Bug.DrawHistogram(Color.Black);
}

3. После добавления индикатора происходит автоматический выбор входного ряда SBER.Close - OK, всё, как и ожидалось. Можно с успехом выбрать любой другой элемент всечки, всё ОК.
Безымянный 3.png

4. Сменить входной ряд на другой индикатор (в моем случае - на CandleAvg)
Безымянный 2.png

Ожидалось: отрисовка графика Bug в отдельной области.
Получилось:
1) Пустая отдельная область, которая не удаляется с удалением индикатора и висит до пересоздания окна графика или перезагрузки терминала. Повторное удаление+добавление индикатора вышеописанным способом создает еще одну пустую область и т.д.
2) График отрисовывается в основном окне, делая его непригодным к работе. Даже выбор давешнего "хорошего" входного ряда (от SBER) уже не приводит к правильной отрисовке.