![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У меня
тест занял
3 минуты 16 секунд (и это заметьте на ноутбуке).
***и это при том что торговая часть глючит..
А это уже беспринципный наезд. Без доказательств, без исходников, без подтверждений.
Как выяснить причину таких тормозов, по сравнению с результатами у других?
Ключик в конфиге не сносили? Который optimize?
У меня этого ключа просто нет. На всякий случай прикладываю metaeditor.ini.
TestClasses.ex5 у меня занимает 7 959 716 байт. Таких монстров я тоже раньше не видел!
После перекомпиляции (первая компиляция была после обновления - автоматическая) результаты выправились
Похоже, автоматическая компиляция прошла без оптимизации.
Каким образом отлаживался этот mq5? Я в день F7 несколько сотен раз нажимаю. Каждый раз ждать 100 секунд - это десятки часов в сутки на компиляцию. Выдержать такое не реально.
Мои проекты < 100 кб. За 300 мс компилируются.
Каким образом отлаживался этот mq5? Я в день F7 несколько сотен раз нажимаю. Каждый раз ждать 100 секунд - это десятки часов в сутки на компиляцию. Выдержать такое не реально.
Мои проекты < 100 кб. За 300 мс компилируются.
Раздельная компиляция .mqh вестимо..
Раздельная компиляция .mqh вестимо..
Я использую связку mql5 + R, синхронизация самодельная через файлы.
У меня mql5 используется только для торговли, вся логика принятия решений вынесена в R. Для торговли брал за основу автоматически сгенерированный советник с CExpert, единственное что поменял это немного кода в ontick чтобы на новых барах писать в csv файл значения ohlc и индикаторов. Плюс новый класс на основе CExpertSignal, в котором LongCondition() и ShortCondition() читают из файлов ответы полученные от R. Вся торговая логика, стопы, тейки, итд использую без изменений, я считаю что класс CExpert вообще отлично с этим справляется.
От R мне нужно чтоб он генетикой перебрал все полученные данные по особым критериям, и из таблицы с сотнями колонок (ohlc + индикаторы с разными параметрами и лагами) оставил их гораздо меньше, плюс наделать новые колонки из имеющихся со всякими математическими операциями. А дальше нейронка всё это обрабатывает и даёт ответ торговать или нет, пишет результат в файл.
От встроенного mql интерфейса к R я бы не отказался, но это не критично. Это было бы важно только для частого скальпинга; а я на новых барах торгую, это совсем редко и задержки в пару секунд неважны.
Спасибо за Alglib, неожиданный сюрприз, генетика и нейронка есть, можно что-то делать. То чего сильно не хватает - это многопоточность в mql без костылей. Я нейронку постоянно дообучаю новыми данными запущенным на фоне R скриптом, в mql для этого нужно делать отдельный скрипт, и общаться процессами через глобальные переменные или как-то так (точно не скажу, сам не пробовал). Мне бы даже хватило что-то наподобие форка, с возможностью некоторые переменные сделать общими на оба процесса.
Но Alglib всё равно не идеальное решение. Если уже есть готовый алгоритм что и как обрабатывать, то это можно повторить прямо в mql с Alglib, это отлично.
А как эфективно работать при создании новой стратегии? В R или Matlab можно и графики наглядные нарисовать; и если что-то не так то остановить выполнение скрипта, подправить код, и продолжить с того места где остановил скрипт в прошлый раз. В mql нужно будет каждый раз компилить код, и запускать сначала. А это будет часы работы алгоритмов на каждый перезапуск, потерянные из-з ошибок. Придётся делать костыли с записью переменных в файл например. В общем для реализации готовой стратегии mql+alglib вполне отлично, но для разработки новой стратегии - я вижу в этом много боли.
fxsaber:
Как выяснить причину таких тормозов, по сравнению с результатами у других?
Anatoli Kazharski:
Попробуйте скомпилировать. Запускал сразу после обновления терминала, тоже значительно дольше было.
Компиляция долгая. У меня было около 83 секунд.
Да, у меня аналогично. Первый запуск скрипта шёл больше 4 минут. После повторенной компиляции в редакторе - 2 минуты.