Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 65
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У экспертов, скомпилированных старым компилятором (509 билд), при смене тайм-фрейма обнуляются глобальные переменные.
Проще говоря, все данные и настройки которые эксперт накопил на момент смены тайм-фрейма будут удалены.
При компиляции эксперта новым компилятором, такой проблемы нет.
Шаги для воспроизведения проблемы:
6. Меняю тайм-фрейм -->> Print выдаст "g = 0"
Да, действительно. При смене таймфрейма у экспертов не должно быть обнуления глобальных переменных
Исправим в ближайшее время
Разработчики, я ввел людей в заблуждение.
Действительно в Справке 605 функция ChartIndicatorAdd() есть а редактор пишет что нет.
Вам нужно обновить справку, эту функцию уже убрали
Вам нужно обновить справку, эту функцию [ ChartIndicatorAdd() ] уже убрали
Во- первых, в 604 в справке функции ChartIndicatorAdd() как раз не было а в 605 она есть.
Во-вторых, почему убрали? Она функциональна и востребована
На такой код:
новый компилятор не ругается. А, согласно справочнику, вторым аргументом должна передаваться переменная типа string:
Вроде слышал, что новый компилятор не производит принудительно приведения типов. Где я не прав?
iWPR(0,0,WPR_PERIOD,BAR_AGO) возвращает 0, а не значение буфера. Заметил когда у советника после обновления "сорвало крышу". Проверил на разных терминалах (600 и 604 билд).
Отруби руки тому кто такой код написал.
Вот ещё один https://forum.mql4.com/ru/60554/page31#904618
Чуток подальше ему всё объяснили. Повторять не хочется.
Во- первых, в 604 в справке функции ChartIndicatorAdd() как раз не было а в 605 она есть.
Во-вторых, почему убрали? Она функциональна и востребована
1. Справка собирается независимо от других компнентов. К билдам никак не привязана. Обновитесь
2. Потому что в MQL4 нет понятия "хендл индикатора"
1. Справка собирается независимо от других компнентов. К билдам никак не привязана. Обновитесь
2. Потому что в MQL4 нет понятия "хендл индикатора"
Возможно хэндла и нет у пользовательких, но функция удаления по имени индикатора есть, почему так не сделать по имени индикатора?
Во-вторых, через PostMessage() же можно вызвать пользовательский индикатор по номеру в списке, ну а для штатных то наверняка и хэндлы есть
Пока не знаю только как параметры передать те что нужны, с тем чтобы окно установок параметров не вызывалось
Возможно хэндла и нет у пользовательких, но функция удаления по имени индикатора есть, почему так не сделать по имени индикатора?
Во-вторых, через PostMessage() же можно вызвать пользовательский индикатор по номеру в списке, ну а для штатных то наверняка и хэндлы есть
Пока не знаю только как параметры передать те что нужны, с тем чтобы окно установок параметров не вызывалось
Тут готовое решение есть. Только параметры по умолчанию. Пока не заморачивался с их передачей.
MT4 билд 604
Использую:
#import "kernel32.dll"
int GetLastError(void);
...
#import
Вызовы типа kernel32::GetLastError() проходят успешно, а вот на обычные вызовы встроенной функции приводят к ошибке:
'GetLastError' - ambiguous call to overloaded function with the same parameters
Кто-нибудь сталкивался с этим?