Скачать MetaTrader 5

Проблема с Мастером создания экспертов ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши статьи и зарабатывай. Мы платим за них 200 USD!
Forex Trader
114257
Forex Trader 2006.11.02 19:48 
Господа prof 's, прошу помочь разобраться.
Начал делать индикатор, сделал заготовку в мастере, скопировал из работающего предварительного варианта индикатора кусок кода - МЕ выдает при компиляции 2 ошибки.
Проверяю - та же конструкция, в том же месте, внимательное изучение Справочника MQ говорит, что все, вроде, должно работать.
Копирую изменения в новом индикаторе и переношу, дополняя, в предварительный вариант - ошибок нет!

Закралась мысль, что с мастером что то не так.

http://aumlura.narod.ru/master1.html
http://aumlura.narod.ru/master2.html

Благодарю за оказанное внимание.
Forex Trader
114257
Forex Trader 2006.11.02 23:00  
Нельзя объявлять одну функцию в теле другой.
Forex Trader
114257
Forex Trader 2006.11.04 00:09  
Нельзя объявлять одну функцию в теле другой.


Спасибо Rosh, помогло. Убрал описание void DelObj() из int init_а и ошибки исчезли.
Но непонятно почему. В "Справочник MQL4 - Основы языка - Функции - Вызов функции" написано
"Функция может быть объявлена или описана в любом месте программы:"?

Однако, описать функцию void DelObj()
{
ObjectDelete("sM1");
ObjectDelete("sM5");
ObjectDelete("sM15");
ObjectDelete("sM30");
ObjectDelete("sH1");
ObjectDelete("sH4");
ObjectDelete("D");
ObjectDelete("W");
ObjectDelete("Mn");
}
так и не удалось. МЕ ругается на неё предупреждением Function "DelObj" is not referenced and will be removed from exp-file и указывает на первую строку программы //+------------------------------------------------------------------+
Просьба, если возможно, сформулировать термины " объявление" "описание", "вызов".
Всегда вызывает уважение и доверие своей компетентностью труд и, тем более, нормативный документ, начинающийся разделом "Терминология".
Думаю, если в документации MQL появится такой раздел, то язык только выиграет от этого по причине ясности, ведь он рассчитан скорее на users, чем на профессионалов-программистов.

Еще раз просмотрел весь Справочник MQL4 на предмет запрета объявления функции в теле другой, но обнаружил только, что, например, к термину "ПЕРЕМЕННАЯ" применяется 10 следующих существенных терминов:

объявление;
объявление на глобальном уровне MQL программы;
объявление на глобальном уровне терминала;
определение;
описание;
инициализация явная;
инициализация неявная;
присвоение;
передача;
состояние переменной.

P.S. Обновил ссылки в предыдущем посту, теперь должны нормально открываться.

Всем попутных трендов,
с Уважением, ALGUS.
Forex Trader
114257
Forex Trader 2006.11.04 15:44  
МЕ ругается на неё предупреждением Function "DelObj" is not referenced and will be removed from exp-file и указывает на первую строку программы



Это обозначает, что Вы эту функцию (DelObj()) не вызываете - потому линкер ее из исполняемого файла и удаляет как ненужную - это нормально. Скорее всего Вы пропустили вызов этой функции в функции deinit()...

Успехов.
Forex Trader
114257
Forex Trader 2006.11.04 20:45  
[/quote]

Это обозначает, что Вы эту функцию (DelObj()) не вызываете - потому линкер ее из исполняемого файла и удаляет как ненужную - это нормально. Скорее всего Вы пропустили вызов этой функции в функции deinit()...

Успехов.
[/quote]

Благодарю, Vladislav, еще не проверял, но, похоже, это так. Я компилировал только часть индикатора для контроля и DelObj() еще нигде не вызывал.

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