Ошибки, баги, вопросы - страница 1628
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это оптимизация кода.
Если в metaeditor.ini в поле [Experts] прописать OPTIMIZE=0 то скорость компиляции будет как в 4-ке. У меня некоторые проекты компилятся по 20 сек, а некоторые входят в бесконечный цикл оптимизации :)
Вау, спасибо, дружище! Где ж ты раньше был! ) А мы тут мучаемся... Самое странное что разработчики об этой опции молчали
Не молчали. На форуме есть топик в 18 страниц, где эта опция как раз описывалась.
Кстати, оптимизация не включается при компиляции под отладку.
Это оптимизация кода.
Если в metaeditor.ini в поле [Experts] прописать OPTIMIZE=0 то скорость компиляции будет как в 4-ке. У меня некоторые проекты компилятся по 20 сек, а некоторые входят в бесконечный цикл оптимизации :)
Точно! При этом я сам когда-то и поставил значение 1 и просто забыл об этом. ))
... А мы тут мучаемся... Самое странное что разработчики об этой опции молчали
Тема была и подробно обсуждалась: Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз! >>>
Это я просто забыл. )
У меня даже сначала эта оптимизация не работала. То есть компиляция в некоторых случаях заканчивалась ошибкой. Но потом удалось найти причину. Затем её исправили и я в одном из терминалов установил параметр на 1 и забыл об этом. А вчера сижу и думаю, почему в одном редакторе MT5 компиляция проходит значительно быстрее, чем в другом редакторе MT5.
//---
Теперь, если поставить на 0, то компиляция проходит в ~25 раз быстрее.
Самые сложные из моих проектов в MetaTrader 5 конечно тоже долго компилируются. Доходит даже до 11 секунд. Точно такие же версии, но в MetaTrader 4 бывает до 25 раз быстрее.
В МТ5 компилятор более продвинутый, он оптимизирует код так, что тот работает до 10 раз быстрее чем в МТ5. Об этом мы писали и объясняли раньше.
Компилятор MQL5 вынужден создавать для совместимости две копии кода - для старой 32 битной версии (без полной оптимизации) и максимально оптимизированный вариант для 64 битов. Вся сила MQL5 раскрывается только в 64 битах.
В МТ5 компилятор более продвинутый, он оптимизирует код так, что тот работает до 10 раз быстрее чем в МТ5.
Кроме того, компилятор вынужден создавать для совместимости две копии кода - для старой 32 битной версии (без полной оптимизации) и максимально оптимизированный вариант для 64 битов. Вся сила MQL5 раскрывается только в 64 битах.
Спасибо. Я уже освежил память по ветке, где обсуждалось всё это.
На время разработки буду ставить значение 0, так как бывает очень часто нужно проводить компиляцию и ждать по 10 секунд утомительно. А для готового продукта перед финальной компиляцией, буду ставить 1.
В МТ5 компилятор более продвинутый, он оптимизирует код так, что тот работает до 10 раз быстрее чем в МТ5. Об этом мы писали и объясняли раньше.
Компилятор MQL5 вынужден создавать для совместимости две копии кода - для старой 32 битной версии (без полной оптимизации) и максимально оптимизированный вариант для 64 битов. Вся сила MQL5 раскрывается только в 64 битах.
если при запущенном MetaEditor изменить параметр OPTIMIZE, то нужно ли его перегрузить для принятия настроек или нет?
Подскажите, трудность вот в чем. В советнике идет стандартный анализ индикаторов, если условие совпало, функция открытия ордера прописана в коде, с проверкой корректности ТП, СЛ корректности цени и прочее. Цикла нет. После проверки на открытие запоминаем бар, чтобы на этом баре и на следующем не открывалась, и потом стоит return;
Так вот в тестере все отлично работает :) на счетах с исполнением Instant тоже ордер нормально открывается. А на ЕСН счетах открывается сразу два ордера с разницей пару секунд. Как такое может быть? И как с этим бороться? Может, какую то дополнительную проверку нужно?
Разное поведение MQL4 и MQL5 в такой ситуации - это ошибка?
Разное поведение MQL4 и MQL5 в такой ситуации - это ошибка?