Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 125
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нельзя менять входные переменные!
Используйте ключевое слово input вместо extern, тогда компилятор не даст Вам этого сделать
Мы подумаем, что можно сделать, чтобы оставить старую четвёрочную функциональность
PS большое спасибо, что подняли этот вопрос
Так цели их изменить и не было!
Они просто используются для дальнейших расчётов. Не более того!
Ну, в принципе понятно, мы решили эту проблему введением доппеременной.
Так цели их изменить и не было!
Они просто используются для дальнейших расчётов. Не более того!
Ну, в принципе понятно, мы решили эту проблему введением доппеременной.
Так то это так... НО, зачем молотить на каждом тике проверку неизменяемой константы? Достаточно единожды её определить в init()
Нельзя менять входные переменные!
Советники работают одновременно с несколькими стратегиями, у которых свои входные параметры. Пример:
Да - вопрос решаем вводом дополнительных переменных, НО зачем?! Уточните, такой функциональности новый МТ будет лишён?
Я использую значение внешних переменных (для некоторых переменных), как значение по умолчанию, а остальные данные для одного и того же параметра считываю из ini-файла.
Советники работают одновременно с несколькими стратегиями, у которых свои входные параметры. Пример:
Да - вопрос решаем вводом дополнительных переменных, НО зачем?! Уточните, такой функциональности новый МТ будет лишён?
Вот говорил же... :-))
Излишне это. Это означает, что инклюд с внешними переменными, как внешние переменные не нужен. Можно убрать extern. Даже не заметишь разницу. Всё равно, из INI-файла инициализируешь.
Я использую значение внешних переменных (для некоторых переменных), как значение по умолчанию, а остальные данные для одного и того же параметра считываю из ini-файла.
Советники работают одновременно с несколькими стратегиями, у которых свои входные параметры. Пример:
Да - вопрос решаем вводом дополнительных переменных, НО зачем?! Уточните, такой функциональности новый МТ будет лишён?
Нет, не будет лишён.
Всё будет, как в старой четвёрке. Давно написанные коды (даже перекомпилированные новым компилятором) будут работать, как прежде.
Вот говорил же... :-))
Излишне это. Это означает, что инклюд с внешними переменными, как внешние переменные не нужен. Можно убрать extern. Даже не заметишь разницу. Всё равно, из INI-файла инициализируешь.
Нет, не будет лишён.
Всё будет, как в старой четвёрке. Давно написанные коды (даже перекомпилированные новым компилятором) будут работать, как прежде.
Так то это так... НО, зачем молотить на каждом тике проверку неизменяемой константы? Достаточно единожды её определить в init()
Вы правы, так изначально и было,просто на этапе решения проблемы пробовали по всякому.
Сейчас вернули в init, спасибо, что указали на недочёт!
Физический смысл Вашего кода объясните?
Символ уже выбран, если открыт его график, на котором и работает данный эксперт.
Нельзя повторно выбрать уже выбранный символ. Нельзя скрыть символ, график которого открыт.
физический смысл в том, чтобы проверить, что символ имя которого введено в виде строки во входных параметрах советника доступен для торговли. Идентичный код в МТ5 работает.
Код который я привел - только для примера. Там немного по другому, но смысл не меняется.
P.S. Что по поводу ошибки 138 в тестере?
Код:
Результат:
На этот раз OBJ_EDIT.
1) невозможно ввести данные, при клике мышкой внутри OBJ_EDIT ничего не происходит, данные в поле не выделяются (раньше нельзя было выйти из поля кроме как клавишей "ENTER", теперь невозможно войти);
3) при выделении OBJ_EDIT точка для передвижения объекта появляется в верхнем левом углу, но с некоторым, хоть и очень небольшим, смещением в зависимости от того от какого угла графика (OBJPROP_CORNER) отсчитаны координаты.