Что за чудеса с терминалом или с чем?

 

Здравствуйте.

Что-то не то происходит с отрисовкой индикатора в МТ5.

Такое не только у меня.

Имеется индикатор, который рисует линиями всякие экстремумы. Отрисовка происходит на открытии нового бара (тики не участвуют в расчетах).

Индикатор выглядит так:

 

 

Все работает нормально, НО, индикатор периодически мигает на графике и частота этих миганий хаотична. Под "мигает" имеется ввиду - линии пропадают на секунду и появляются. 

Также имеются наблюдения, что на выходных, когда рынки в офлайне, он тоже помигивает ). Я сейчас для проверки отключил инет и запустил терминал с индикатором и прокрутил мышкой график и линии пропадают в какой-то момент, и если опять мышкой сдвинуть график, то появляются. И видимо это как-то связано с миганием индикатора в онлайне. 

 

Пролейте свет на сие чудо. Почему такая ерунда происходит?

 
Serhios:


Без кода индикатора телепаты бессильны :)
 
Vladimir Karputov:
Без кода индикатора телепаты бессильны :)
А с кодом телепаты и не нужны.)
 
Serhios:

Здравствуйте.

Что-то не то происходит с отрисовкой индикатора в МТ5.

Такое не только у меня.

Имеется индикатор, который рисует линиями всякие экстремумы. Отрисовка происходит на открытии нового бара (тики не участвуют в расчетах).

Индикатор выглядит так:

 

 

Все работает нормально, НО, индикатор периодически мигает на графике и частота этих миганий хаотична. Под "мигает" имеется ввиду - линии пропадают на секунду и появляются. 

Также имеются наблюдения, что на выходных, когда рынки в офлайне, он тоже помигивает ). Я сейчас для проверки отключил инет и запустил терминал с индикатором и прокрутил мышкой график и линии пропадают в какой-то момент, и если опять мышкой сдвинуть график, то появляются. И видимо это как-то связано с миганием индикатора в онлайне. 

 

Пролейте свет на сие чудо. Почему такая ерунда происходит?

Поищи в журнале сколько потерь связи с сервером. При каждой потере связи, даже которая может не зафиксироваться в журнале, происходит обнуление переменной prev_calculated и соответственно пересчёт всего индикатора, на всю глубину истории.
 
Serhios:

Здравствуйте.

Что-то не то происходит с отрисовкой индикатора в МТ5.

Такое не только у меня.

Имеется индикатор, который рисует линиями всякие экстремумы. Отрисовка происходит на открытии нового бара (тики не участвуют в расчетах).

Индикатор выглядит так:

 

 

Все работает нормально, НО, индикатор периодически мигает на графике и частота этих миганий хаотична. Под "мигает" имеется ввиду - линии пропадают на секунду и появляются. 

Также имеются наблюдения, что на выходных, когда рынки в офлайне, он тоже помигивает ). Я сейчас для проверки отключил инет и запустил терминал с индикатором и прокрутил мышкой график и линии пропадают в какой-то момент, и если опять мышкой сдвинуть график, то появляются. И видимо это как-то связано с миганием индикатора в онлайне. 

 

Пролейте свет на сие чудо. Почему такая ерунда происходит?

1. Компьютер старый?

2. Какое количество макс. баров в окне?

3. На каком количестве баров идет расчет индикатора?

4. Линии индикатора, случайно, строятся не отрезками трендовых линий?

5. Есть исходный код индикатора? Если да - прикрепите его сюда через кнопку SRC, чтобы Вам могли помочь. 

 
Alexey Viktorov:
Поищи в журнале сколько потерь связи с сервером. При каждой потере связи, даже которая может не зафиксироваться в журнале, происходит обнуление переменной prev_calculated и соответственно пересчёт всего индикатора, на всю глубину истории.
Алексей, спасибо за идею, проверим.
 
Alexey Kozitsyn:

1. Компьютер старый?

2. Какое количество макс. баров в окне?

3. На каком количестве баров идет расчет индикатора?

4. Линии индикатора, случайно, строятся не отрезками трендовых линий?

5. Есть исходный код индикатора? Если да - прикрепите его сюда через кнопку SRC, чтобы Вам могли помочь. 

1. Комп новый. Проц intei i7, оперативки 16 gb, видео 3gb, месяц назад взял. 

 

2. Какое количество макс. баров в окне?

5000, пробовал 10000 лучше не стало 

 

3.  На каком количестве баров идет расчет индикатора?

В индюке есть параметр - количество баров используемых в расчетах. Если 0 - то расчет идет по всем барам на истории. У меня стоит 0.

 

4. Линии индикатора, случайно, строятся не отрезками трендовых линий?

DRAW_ZIGZAG, все линии этим типом построены.

 

5. Есть исходный код индикатора?

Исходник выложить не предполагается, да и нужно ли это, ковыряться в чужом коде, проще подсказать в какую сторону копать и если понадобиться, то можно будет выложить фрагмент кода, скажите что именно.

 
Serhios:

1. Комп новый. Проц intei i7, видео 3gb, месяц назад взял. 

 

2. Какое количество макс. баров в окне?

5000, пробовал 10000 лучше не стало 

 

3.  На каком количестве баров идет расчет индикатора?

В индюке есть параметр - количество баров используемых в расчетах. Если 0 - то расчет идет по всем барам на истории. У меня стоит 0.

 

4. Линии индикатора, случайно, строятся не отрезками трендовых линий?

DRAW_ZIGZAG, все линии этим типом построены.

 

5. Есть исходный код индикатора?

Исходник выложить не предполагается, да и нужно ли это, ковыряться в чужом коде, проще подсказать в какую сторону копать или на что в коде обратить внимание и если понадобиться, то можно будет выложить фрагмент кода, скажите что именно.

1. Видео должно справляться;

2. Чем меньше - тем меньше считается. Если разницы нет - дело не в этом;

3. Вот тут, возможно, есть проблема, зависит от тяжести расчетов;

4. Проблемы с большим количеством граф. объектов отпадает;

5. Ваш код, вряд ли, кому-то пригодится, суть в том, чтобы увидеть оптимально/не оптимально проводится расчет и корректно ли обрабатывается ситуация пропуска ненужных тиков;

Да, еще вопрос, все 3 типа линий (на скриншоте) строятся из одного индикатора или это 3 индикатора на одном графике?
 
Alexey Kozitsyn:


Да, еще вопрос, все 3 типа линий (на скриншоте) строятся из одного индикатора или это 3 индикатора на одном графике?

 

Это все один индикатор на графике, больше на графике ничего нет.

 
Serhios:

Это все один индикатор на графике, больше на нем ничего нет.

Тогда, скорее всего, тяжелый код. Индикатор, говорите, по свечам строится, а не по тикам? Но между формированием новой свечи индикатор мигает?

На новой свече индикатор пересчитывается полностью или только последний луч? 

 
Alexey Kozitsyn:

Тогда, скорее всего, тяжелый код. Индикатор, говорите, по свечам строится, а не по тикам? Но между формированием новой свечи индикатор мигает?

На новой свече индикатор пересчитывается полностью или только последний луч? 

Судя по рисунку, это индикатор краткосрочных, среднесрочных и долгосрочных импульсов. Считать там только последний бар не представляется возможным. Но всё-же, если индикатор не пересчитывается ВЕСЬ, то мерцания не происходит. Только при появлении нового значения импульса линия прорисовывается до этого значения. Я замечал и на других индикаторах такую проблему. Мне кажется, я почти уверен, что от тяжести расчётов это не зависит.

Моё мнение в предыдущем посте основано на переписке с СД по другому вопросу, но сказано было что при потере связи с сервером переменная prev_calculated обнуляется и расчёт индикатора производится заново по всей глубине истории. Видимо отсюда и мерцание.