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

 
Vladislav Andruschenko:
Большое спасибо , очень помогли.
 

Может кто нибудь поможет подправить код советника на МТ5?

Читал мануалы, но не могу победить 2 варнинга при компиляции.

declaration of 'ххх ' hides global declaration

и

possible loss of data due to type conversion

Советник прикладываю
Файлы:
r1rvcc.mq5  32 kb
 
ilyav:

Может кто нибудь поможет подправить код советника на МТ5?

Читал мануалы, но не могу победить 2 варнинга при компиляции.

declaration of 'ххх ' hides global declaration

possible loss of data due to type conversion

Советник прикладваю

Код не глядел, но там же всё просто и понятно. В предупреждении написано, что локальная переменная в функции имеет точно такое же имя, как и глобальная переменная в такой-то строке (в предупреждении номер строки написан). Задайте иное имя для локальной переменной в функции. Или переименуйте глобальную переменную - будут ошибки в коде, указывающие на все вхождения переименованной глобальной переменной - просто замените её имя во всех местах вашего кода.

 
ilyav:

Может кто нибудь поможет подправить код советника на МТ5?

Читал мануалы, но не могу победить 2 варнинга при компиляции.

declaration of 'ххх ' hides global declaration

и

possible loss of data due to type conversion

Советник прикладываю

declaration of 'ххх ' hides global declaration

говорит о том, что такая переменная уже объявлена на глобальном уровне. переименуйте ее в функции, чтобы не было варнинга

 possible loss of data due to type conversion

говорит о том, что тип "слева" не равен типу "справа"

например: 

        Ticket = HistoryOrderGetTicket(i);  // получим тикет очередного ордера

Ticket = long 

а HistoryOrderGetTicket = ulong

 
Спецы объясните пожалуйста: функция ChartRedraw(0) и обновить в контекстном меню графика это одно и тоже действие? Я думал, что одно и тоже, но из контекстного меню график обновляется, а вот с помощью функции что-то никак не получается.(
 
khorosh:
Спецы объясните пожалуйста: функция ChartRedraw(0) и обновить в контекстном меню графика это одно и тоже действие? Я думал, что одно и тоже, но из контекстного меню график обновляется, а вот с помощью функции что-то никак не получается.(
ChartRedraw() перерисовывает графические объекты указанного графика, а не обновляет данные с сервера.
 
Artyom Trishkin:
ChartRedraw() перерисовывает графические объекты указанного графика, а не обновляет данные с сервера.

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

 
khorosh:

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

Править кривой индикатор. Он у вас может отрисовывать линию только при полном пересчёте, что и происходит по команде контекстного меню.
 
Artyom Trishkin:
Править кривой индикатор. Он у вас может отрисовывать линию только при полном пересчёте, что и происходит по команде контекстного меню.

Значит получается, что функции аналога "обновить" нет? Ещё такой вопрос: как сделать, чтобы функции удаления объектов размещённые в deinit() выполнялись только при удалении индикатора с графика?

 
khorosh:

Значит получается, что функции аналога "обновить" нет? Ещё такой вопрос: как сделать, чтобы функции удаления объектов размещённые в deinit() выполнялись только при удалении индикатора с графика?

В mql4 тоже есть.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
  • www.mql5.com
//| get text description                                             | //| Expert deinitialization function                                 |
Причина обращения: