Можно ли на MQL писать сложных роботов? - страница 3

 

Alexey Volchanskiy:

А этот советник уже лежит в маркете?

Советник пока не доступен в Маркете, а проходит модерацию перед проверкой в "Маркете" с 20-го августа 2015. 

Старая дорогая полная версия (правда с другим названием) с DLL и CUDA доступна для покупки вот уже почти как год по ссылке в моём профиле. Но ввиду того, что MQL4 версия наверное будет скоро доступна в маркете, бесплатные демо-версии DLL-CUDA-GPU будут более недоступны. Советую просто подождать решения модераторов и дождаться выхода советника в "Маркете" - тогда Вы сможете спокойно скачать здесь на "Маркете" бесплатную MQL4 демо-версию и затем взять напрокат советник на 1-3-6 месяцев по очень демократичной цене.

Некоторые подробности CUDA-GPU разработки можете прочитать в ветке "OpenCL и инструменты для него" на форуме MQL4.com.

А в MT5 есть к тому же ПРЯМОЙ интерфейс для запуска OpenCL подпрограмм (кернелов) прямо из терминала, без необходимости применения CUDA, как в MQL4. Если это не поддержка "сложных проектов" в MQL4-5, то что тогда "сложный проект"? Вряд ли Вы найдёте в любом другом торговом терминале любой стоимости возможность такой лёгкой интеграции простых торговых функций со сложнейшими математическими расчётами.

Цифры количества файлов в полном билде моего проекта включают и модули для бенчмарков и модули для перспективных модулей, которых нет в финальном билде. В конечной версии самого советника MQL4 примерно 170 подпрограмм на MQL4, а в версии MQL4+DLL+CUDA примерно 500+ подпрограмм. Работа заняла 9 лет, из которых я пару лет провёл на этом форуме и на форуме MQL4 под ником AlexEro(s).

Повторюсь - перенос из MQL4 на Си, далее на CUDA-Си и обратно проходит на удивление легко. Фактически перенос десятков сложных математических функций из быстрой версии на Си "обратно" на MQL4 у меня занял ... два часа. И потом это заработало ТОЧНО ТАК ЖЕ как Си или в CUDA-GPU версии. Добиться такого же лёгкого переноса функций и особенно результатов их расчётов из одной версии даже Микрософт - компилятора при смене версий бывает непросто. А тут - два - часа - и готово. Полагаю, руководство и сотрудники Метаквотов сами удивятся, когда это прочитают.

Дополнительный отдельный пакетный компилятор MQL4-5, который доступен от Метаквотов

https://www.mql5.com/ru/forum/21374

легко интегрируется в билд-проект любой сложности и его применение (команды и сообщения) ничем не отличается от компилятора Микрософт или Nvidia, разве что только ... простотой.

Как видите MQL4-5 система является высокопрофессиональным инструментом для создания сложнейших математическо-торговых систем.

Обратите внимание, что компилятор переехал внутрь MetaEditor, начиная с 900 билда
Обратите внимание, что компилятор переехал внутрь MetaEditor, начиная с 900 билда
  • www.mql5.com
Консольный компилятор MQL4/MQL5 остался, обновляется вместе с платформами МетаТрейдер 4/5 и всегда доступен по ссылкам:. - - Категория: общее обсуждение
 
Alexey Volchanskiy: 700 файлов в билде - это очень круто для одиночки, даже не верится

Согласен, круто.

Но вот меня всегда удивляло - а стоит ли овчинка выделки ?  Как показывают разговоры с вроде как успешными трейдерами, лучше всего работают простые ТС, в которых очень простая логика. Сложные ТС могут дать единовременно резкий "взлет", но точно так же "упадут", как только рынок изменится...

 
Sergiy Podolyak:
 

Повторюсь - перенос из MQL4 на Си, далее на CUDA-Си и обратно проходит на удивление легко. Фактически перенос десятков сложных математических функций из быстрой версии на Си "обратно" на MQL4 у меня занял ... два часа. И потом это заработало ТОЧНО ТАК ЖЕ как Си или в CUDA-GPU версии. Добиться такого же лёгкого переноса функций и особенно результатов их расчётов из одной версии даже Микрософт - компилятора при смене версий бывает непросто. А тут - два - часа - и готово. Полагаю, руководство и сотрудники Метаквотов сами удивятся, когда это прочитают.

Дополнительный отдельный пакетный компилятор MQL4-5, который доступен от Метаквотов

https://www.mql5.com/ru/forum/21374

легко интегрируется в билд-проект любой сложности и его применение (команды и сообщения) ничем не отличается от компилятора Микрософт или Nvidia, разве что только ... простотой.

Как видите MQL4-5 система является высокопрофессиональным инструментом для создания сложнейших математическо-торговых систем.

Совершенно согласен.

Я уверен, что вполне можно добиться полной MQL4-MQL5-C#(для WLD) переносимости кода. Когда код безо всяких изменений компилируется в любой из этих сред и полностью корректно работает.

В моем "основном" советнике нет таких умопомрачительных расчетов из теории вероятностей и исследования операций, однако, и в нем тоже 300 файлов, и все очень даже неплохо компилируется и работает.

 
В сентябре релизим новый компилятор MQL5, который генерит очень эффективный код для МТ5 х64.

Он позволит приблизиться к скорости чистого C/C++. Ускорение с текущей версией компилятора MQL5 от 2 до 10 раз. Это означает, что можно отказываться от DLL в тяжелых расчетах.

32 битные МТ4 и МТ5 будут использовать текущий компилятор. Причем код, собранный в 64 битном компиляторе будет также работать в 32 битном МТ5 с обычной/текущей скоростью.

Так что пора всем мигрировать на 64 битные МТ5.
 
Владимир, спасибо, надо бы наверное сделать FAQ по таким вопросам? Правда, не ясно, куда его положить при сегодняшнем формате форума в виде ленты новостей... Пока скину себе локально на комп.
 
Renat Fatkhullin:
В сентябре релизим новый компилятор MQL5, который генерит очень эффективный код для МТ5 х64.

Он позволит приблизиться к скорости чистого C/C++. Ускорение с текущей версией компилятора MQL5 от 2 до 10 раз. Это означает, что можно отказываться от DLL в тяжелых расчетах.

32 битные МТ4 и МТ5 будут использовать текущий компилятор. Причем код, собранный в 64 битном компиляторе будет также работать в 32 битном МТ5 с обычной/текущей скоростью.

Так что пора всем мигрировать на 64 битные МТ5.
Renat, как понимать фразу " Причем код, собранный в 64 битном компиляторе будет также работать в 32 битном МТ5 с обычной/текущей скоростью". Это означает наличие виртуальной машины в МТ4 и МТ5?
 
Не совсем.

Код программы перед исполнением докомпилируется в нативный код целевой 32/64 машины. То есть, в финале исполняется нативный код.

Чистая медленная виртуальная машина исполнения есть только для старых скомпилированных программ старее 600 билда в МТ4. С 600 билда там тоже работает докомпиляция в натив.

Новый компилятор дает возможность исполнять код в МТ5 х64 в новом более эффективном режиме. Поддержку 32 битных МТ5 терминалов в новом методе компиляции делать не будем, так как это не имеет смысла. Давно пора 32 битные операционки закапывать.
 
Renat Fatkhullin:
Не совсем.

Код программы перед исполнением докомпилируется в нативный код целевой 32/64 машины. То есть, в финале исполняется нативный код.

Чистая медленная виртуальная машина исполнения есть только для старых скомпилированных программ старее 600 билда в МТ4. С 600 билда там тоже работает докомпиляция в натив.

Новый компилятор дает возможность исполнять код в МТ5 х64 в новом более эффективном режиме. Поддержку 32 битных МТ5 терминалов в новом методе компиляции делать не будем, так как это не имеет смысла. Давно пора 32 битные операционки закапывать.
Круто, как в .NET. Насчет 32-бит операционок и правда, нет смысла распылять силы.
 
Alexey Volchanskiy:
Круто, как в .NET. Насчет 32-бит операционок и правда, нет смысла распылять силы.
Конечно, особенно учитывая, что почти все планшеты с 32-бит