Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1284

 
leonerd:

для треугольника. Как узнать его "символ"?

Что Вы имеете в виду? Какой такой символ для объекта треугольник?

 
Vladimir Karputov:

Что Вы имеете в виду? Какой такой символ для объекта треугольник?

Как узнать на графике какого символа был создан объект Треугольник?

Например, в OnChartEvent(). Или в списке объектов, когда перебираем, как узнать, на графике какого символа нарисован объект.

 
leonerd:

Как узнать на графике какого символа был создан объект Треугольник?

Например, в OnChartEvent(). Или в списке объектов, когда перебираем, как узнать, на графике какого символа нарисован объект.

OnChartEvent и так срабатывает только для текущего символа - в этом случае узнавать символ бессмысленно: он всегда изместен.

Второй путь - обход списка всех графиков - ObjectFind.

 
Vladimir Karputov:

OnChartEvent и так срабатывает только для текущего символа - в этом случае узнавать символ бессмысленно: он всегда изместен.

Второй путь - обход списка всех графиков - ObjectFind.

ок, спасибо

 
Vladimir Karputov:

OnChartEvent и так срабатывает только для текущего символа - в этом случае узнавать символ бессмысленно: он всегда изместен.

Второй путь - обход списка всех графиков - ObjectFind.

Между делом не подскажете что за ошибка pen creation error?

2021.02.02 18:06:55.780 GDICache        pen creation error [87]
2021.02.02 18:06:56.251 GDICache        pen creation error [87]
2021.02.02 18:06:56.556 GDICache        pen creation error [87]
2021.02.02 18:06:56.677 GDICache        pen creation error [87]
2021.02.02 18:06:56.969 GDICache        pen creation error [87]

Выяснил причину. Возникло при дебаге при указании свойств линии. Стиль линии было левое значение. Просто странно, что нигде не нашел упоминания данной ошибки.

 
Aleksandr Prishenko:

Раньше все чудесно работало. Надо было на бесплатном хостинге попробовать. В общем подарил метаквотам 15 баксов )))

Спасибо за ответ!

 Мигрировал (пожалел 15) но проверки весьма странные.

Мигратор не понимает путь установки индикатора из советника, приходится чистить графики:

2021.02.02 19:57:39.442 Virtual Hosting 6215402: check for load "C:\Users\Crucian\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\BBS_9.ex5::Indicators\Band Width1.ex5"

2021.02.02 19:57:39.442 Virtual Hosting 6215402: failed to load program


Мигратор просит даже перекомпилировать технические индикаторы )):

2021.02.02 19:44:12.708 Virtual Hosting 6215402: obsolete version of imported module "ZigZag.ex5" should be recompiled before transfer to the hosting server



 
Добрый день, видел много статей как построить советник из индикатора или как получить данные из индикатора в советник. А как сделать наоборот, как визуализировать советник, скажем он рассчитал массив данных как передать его в пользовательский индикатор?
 
VANDER:
Добрый день, видел много статей как построить советник из индикатора или как получить данные из индикатора в советник. А как сделать наоборот, как визуализировать советник, скажем он рассчитал массив данных как передать его в пользовательский индикатор?

Через подключаемый .mqh в котором всё считается и советник оттуда берёт, и индикатор…

 

Здравствуйте! Как сделать в платформе MT5, чтобы примагничивалась линия в к индикатору  Moving Averages? Чтобы линия тренда четка встала и примагнитилась к линии индикатора. В настройках платформы в графиках есть пункт "примагничивание", там линия тренда ставится на цену открытия. Есть ли такой способ для скользящей средней и простой линии тренда? 


 
leonerd:

Запускаю отладчик, ставлю брекпойнт на type переменную. Рисую треугольник (Insert - Objects - Shapes - Triangle) на чарте. Нажимаю Delete, треугольник удаляется. Ловлю событие, type в коде выше всегда 0. type_str, соответственно, OBJ_VLINE (первое значение в перечислении).

Тот же код при событии изменения свойств графического объекта или перетаскивания возвращает корректный тип объекта - OBJ_TRIANGLE.

Вывод. При удалении графического объекта не удается получить тип объекта в OnChartEvent.

Всё-таки  непонятно, как узнать тип удаленного объекта. Имя объекта в OnChartEvent() приходит корректное, а тип всегда 0. Описанное выше баг или просто надо по-другому как-то?

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   if(id==CHARTEVENT_OBJECT_DELETE)
     {
      string object_name=sparam;
      ENUM_OBJECT object_type=(ENUM_OBJECT)ObjectGetInteger(ChartID(),object_name,OBJPROP_TYPE); // object_type всегда VLINE
     }
  }