Ошибки, баги, вопросы - страница 2173

 

МТ4

Есть ли информация по отличиям/особенностям в обработке удаления 1-го и не 1-го индикатора в списке подокна

проблема:

при удалении первого в списке индикатора (всего 5 одинаковых индикаторов с разными параметрами) - удаляются линии, созданные другими индикаторами 

при удалении не первого - линии не удаляются


где копать?

 
Kirill Belousov:

МТ4

Есть ли информация по отличиям/особенностям в обработке удаления 1-го и не 1-го индикатора в списке подокна

проблема:

при удалении первого в списке индикатора (всего 5 одинаковых индикаторов с разными параметрами) - удаляются линии, созданные другими индикаторами 

при удалении не первого - линии не удаляются


где копать?

Копать всегда надо в документации.

Делайте отличия в именах объектов и удаление с учётом этих отличий.

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

Копать всегда надо в документации.

Делайте отличия в именах объектов и удаление с учётом этих отличий.

Имена отличаются и удаление происходит с учетом этого.


ПОКА ТАК:

_______________________________________

При удалении первого индикатора в списке подокна происходит полная очистка подокна от объектов (даже вручную нарисованные линии, стрелки, текстовые метки удаляются)

Воспроизводится:

1. создаем в конструкторе пустой индикатор для отдельного окна (или берем любой имеющийся, подойдет например MACD  и т.п. из стандартной поставки)

2. накидываем 5 любых индикаторов/копий в одно подокно

3. Вручную рисуем вертикальную линию в подокне (или любой объект)

Если удалить любой не первый индикатор из indicator list, то линия останется, а если первый из имеющихся в списке - все объекты подокна удаляются (нарисованная вертикальная линия).

Если после удаления первого опять нарисовать линию, то она снова удалится при удалении первого из оставшихся. При удалении не первого - объекты в подокне не удаляются.


Где об этом в документации написано? В чем он такой особенный - первый индикатор из списка подокна?

Похоже, что происходит полная переинициализация подокна.


Воспроизводится МТ4/МТ5

Отличие в том, что в МТ5 имена файлов индикаторов должны быть различными. В МТ4 можно один и тот же файл индикатора накидывать в одно подокно не меняя имени файла.


Проблема с первым индикатором подокна

Все объекты удаляются в подокне, если в момент удаления индикатора из списка индикаторов подокна он был первым по счету

 
Kirill Belousov:

1. создаем в конструкторе пустой индикатор для отдельного окна (или берем любой имеющийся)

Этим всё сказано. Дальше, извините не интересно. Вам в другую тему надо переходить.

 
Alexey Viktorov:

Этим всё сказано. Дальше, извините не интересно. Вам в другую тему надо переходить.

 с чего это вы так сказали?... на самом деле почему слетают созданные даже вручную объекты, и почему именно при удалении первой копии? ведь об этом ни где даже с намёком не говорится.

а потом получается что продукт не принимают в маркет изза такого косяка....
 

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

скрин

 
AlikMsk:

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


Скорее всего это из за индикатора который на графике

 
Artsem:

хорошо, я написал финаму по этому поводу.

может, Вы знаете, где можно скачать котировки за длительный период?

я знаю только fxtop, но там только валютные пары и платно.

 
Отправка 5 млн тиков в историю кастомного символа (только что созданного)
CustomTicksReplace(Name, 0, LONG_MAX, Ticks);

занимает 10 секунд. Почему так медленно?


ЗЫ

void OnStart()
{
  const string Name = "CustomSymbol";  
  CustomSymbolCreate(Name);
  
  const MqlTick NullTick = {0};
  MqlTick Ticks[];
  
  for (int i = ArrayResize(Ticks, 500000) - 1; i >= 0; i--) // 5 000 000 вызывет зависание
    Ticks[i] = NullTick;
    
  CustomTicksReplace(Name, 0, LONG_MAX, Ticks);
}

Всего лишь 500К тиков поместить в кастомный - 3 секунды. Если в скрипте заменить на 5 млн., будет зависание. Баг.

Причина обращения: