MetaTrader 4 Client Terminal build 610 - страница 33

 
stringo:

1. Для вставки кода используйте кнопочку SRC

2. Вы ничего не сказади про содержимое строки hist_name.

3. Распечатайте итоговую строчку myFile и покажите здесь



Спасибо за ответ, по поводу файлов я сам виноват, поменял имя файла (включил поддиректорию) и забыл. Сейчас вопросов нет.

Остался только вопрос по поводу включаемых файлов. Если допустить, а потом исправить ошибку в имени ex4 библиотеки в .mqh-файле, то во вкладке "Зависимости" эксперта остается старое (неисправленное) имя библиотеки. Перезапуск терминала вопроса не решает. Исправленное имя появляется, если убрать и снова записать диретиву #include ****.mqh (она, естественно, выглядит "до и после" совершенно идентично)

 
artmedia70:
У меня тоже всё на месте. Причём советники активно используют граф.построения. Даже после перезапуска терминала всё возвращается на места.

Так и у меня ж (я писал) всё на месте, кроме одного окна.

Нашел причину. Оказалось, что в одном окне забыл удалить старый индикатор и стояло два одинаковых, только разных версий. Оно не было видно, пока не залез в список индикаторов (сливались). Видимо они между собой конфликтовали. Удалил лишний - теперь штатно заработало и это окно.

 
VOLDEMAR:

Дублирую так как нужен ответ :

Вопрос:

Есть исходный код советника в котором есть функция

эта функция советником не используется и нигде не вызывается

при компиляции советника будет ли эта функция в исполняемом файле или при компиляции, компилятор удалит неиспользуемую функцию ??


Если взять стандартный MACD Sample, увеличить его объем за счет его же ф-ии OnTick, слегка переименовав ее, и откомпилировать эту комбинацию,

то получим сей результат:

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

иначе чем это объяснить, разве что желанием "облегчить" жизнь программерам.

 

100 дней - 100 билдов.

Племя решило воздвигнуть вавилонский метатрейдер до небес.

Смешали языки и разбрелись по пустыне.

На 40 лет.

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

http://slova.org.ru/blok/iashel/

 

Только что обнаружил вот такой артефакт #ret, его нет в хелпе к MQL4 и MQL5, чтобы это значило? Терминал build 610. Появился при случайном нажатии Ctrl+Space на месте ввода второго параметра в OrderSelect.


 
Артефакт?
 
Алексей, я честно выждал 5 минут и отвечаю: это не артефакт, а результат сортировки.
 
tara:
Алексей, я честно выждал 5 минут и отвечаю: это не артефакт, а результат сортировки.
Да, этот #ret на всех функциях сверху списка. Просто я подумал, что это новая директива препроцессора, которую не указали в хелпе. Но я так и не понял, что это и зачем #ret выводится в первую строчку списка.
 
VDev:
Просто я подумал, что это новая директива препроцессора, которую не указали в хелпе.

На этот счет мое с Вами полное и душевное согласие.
 

Подскажите, пожалуйста, как теперь запустить советник на выходных для отладки, т.е. как эмулировать событие NewTick? Раньше (в 509 билде и более ранних) слал скриптом сообщение:

PostMessageA(WindowHandle(Symbol(), 0), RegisterWindowMessageA("MetaTrader4_Internal_Message"), 2, 1);

но теперь это не срабатывает.

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