Вы в курсе что облако не совместимо с CUDA и OpenCL?
слово "научная" в теме -- чтобы красивей и привлекательней звучало?
изначально писанина сомнительная, потому что разница терминалов в системе учёта позиций
и именно система учёта позиций определяет выбор терминала
слово "научная" в теме -- чтобы красивей и привлекательней звучало?
изначально писанина сомнительная, потому что разница терминалов в системе учёта позиций
и именно система учёта позиций определяет выбор терминала
Научная мотивация плавного перехода от MT4 к MT5.
Что думаете?что бы это понять достаточно сравнительной таблицы и описания MT5 на http://www.metatrader5.com
после введения хэджинг учета позиций в MT5 https://www.mql5.com/ru/articles/2299 для перехода не нужно научно что то доказывать)
Научная мотивация плавного перехода от MT4 к MT5.
Оценивая перспективу будущих работ, у меня возникло несколько мыслей по поводу перехода от MT4 к MT5.
Закончив большой проект, а также разработав советник CUDA-GPU ускорением, у меня лично теперь совершенно явно напрашивается мысль о плавном, постепенном переходе от MT4 к MT5. Это меня немного смущает, потому что раньше я критиковал фирму Metaquotes за скажем так слишком быстрый переход на MT5. Поскольку мой опыт работы с MT5 и с MQL5 небольшой, эти мысли будут носить характер с приставкой "наверное". И они будут сначала касаться научной или околонаучной стороны вопроса. Вопрос трудоёмкости перехода не стоит: после реализации проекта в MT4 с 500+ функциями на Си, CUDA-Си и MQL4 нет никаких сомнений, что и под MT5 будет работать всё, что хочешь.
Итак:
1). MT5 намного лучше для парного трейдинга. Парный трейдинг с опционами очень любят хедж-фонды. Они ищут корреляции и торгуют парами там, где есть связь между финансовыми инструментами.
Но для него нужен настоящий мультивалютный тестер. MT4 это не делает, MT5 это делает изначально, как родное. Конкурентов у MT5 в области настоящей мультивалютности тестера вообще-то не так уж и много, пару штук. А на форексе ВСЕ валюты связаны между собой, вопрос только в силе этой связи. Тут как раз пригодится и 64-битная версия, так как искать корреляции придётся между многими парами и памяти надо будет много.
Кроме этого, наверное в MT5 может быть будет и "своя" история котировок, что тоже облегчит разработку экспертов для парного трейдинга.
2). Поддержка 64-битной большой памяти. Даже будучи противником 64-бит, но увидев как советник на 34 парах съедает сразу 800 МБ памяти, сразу хочется уйти от этого дурацкого ограничения в 3ГБ на 32 битах. MT5 вполне поддерживает 64 бита памяти, а компилятор MQL5 версии на 64 бита к тому же работает в несколько раз быстрее, то есть генерит более быстрый и защищённый код.
3). Скорость советника и компьютера является критичной при работе со сложными советниками, в которых много математики. Наработавшись и с MQL4 и с Си в DLL с SSE2 и с CUDA-GPU, хочется всё-таки ещё большего ускорения. Как показывает мой личный опыт, для трейдинга хватит даже среднего компьютера и советника на MQL4. Но для разумной оптимизации его параметров нужно или OpenCL или CUDA, или облачные агенты.
4). Облачные вычисления работают как раз в MT5. И вроде как успешно работают.
5). Наработавшись с CUDA ускорением, могу сказать, что первая стадия написания программы проще на CUDA, чем на OpenCL. Но вот последняя стадия, когда надо выжимать из кернелов "все соки" по скорости - на CUDA становится проблематичной. И разработка затягивается из-за компилятора nVidia. Он ещё и компилирует проект медленно. Здесь может помочь прямое написание кернелов и загрузка их напрямую как в OpenCL, а это ... есть как раз MT5, и ни у кого больше в трейдинговом мире.
В общем, со многих сторон проявляется несколько неожиданная мысль, что следующим этапом большой работы может стать перенос проекта на MT5 и MQL5 и дальнейшая работа в MT5, включая облачную работу для большой оптимизации, без которой не обойтись. Но я не сожалею, что тогда критиковал MT5, потому что вряд ли переходя в середине работы на MQL5 и далее под MT5 смог бы сделать проект так "быстро", как под "родным" MT4. Но вот теперь, по пути усложнения перспективных задач необходимость в MT5 возникает как-бы сама собой.
Что думаете?
Мыслей много. Поделюсь тремя.
Научный анализ показывает, что у 28 пар, образованных валютами USD EUR GBP CHF JPY AUD CAD NZD, имеется ровно 7 степеней свободы. Искать корреляции между парами - извращение. Представьте, что у вас есть четыре независимых переменных x1 x2 x3 x4, но вы говорите о поиске корреляции не между ними, а между шестью отношениями x1/x2 x1/x3 x1/x4 x2/x3 x2/x4 x3/x4/, у которых всего три степени свободы, например x1/x2 x1/x3 x1/x4. В случае, когда EUR и AUD стоят, но стала ходить туда-сюда валюта USD, появляется ложный вывод о том, что пары EURUSD и AUDUSD сильно положительно коррелированы, так как двигаются синхронно.
Чудовищное количество отбираемой MT5 памяти говорит не в пользу его перспективности. Нужные мне on line задачи и анализа, и торговли в случае не 34-х, а 1500 потоков котировок решаются в 40 Мб памяти (пиковый рабочий набор в диспетчере задач Win 7). Анализ off line, включая оптимизацию, делаю вне терминалов.
Непонятно, зачем для целей оптимизации применять входные языки MQL, главное назначение которых дать доступ к информации на сервере и возможность слать ему ордера, что в других языках невозможно. Еще до зарождения мысли о создании Метаквотес десятилетиями развивались другие языки программирования, накоплен огромный опыт решения общих задач. Программы на них не привязаны к графикам терминалов, работают самостоятельно. Зачем для решения трудоемких задач применять язык интерфейса с сервером MT? Да еще и с веселыми правилами захвата памяти. Смотрите, вот Microsoft тоже дает VBA, но никому в голову не приходит заниматься в документе Word тяжелой оптимизацией. VBA для MS Word дает программный интерфейс к документу, и все. Языки MQL дают программный интерфейс доступа к серверу, и прекрасно.
Поскольку изначально писал весь код переносимым - для меня вобще нет никакой разницы, писать ли для МТ4 или для МТ5.
А после того, как в МТ5 появились хеджевые счета - разница и вобще полностью исчезла. У меня давно написаны "обертки" для всех основных операций, и написание новых индикаторов или советников совершенно не различается для этих двух платформ.
Мысли вслух:
Мне в общем то просто страшно лень переходить на MT5, так как всё равно придётся некоторое время сохранять и программы и терминалы MT4 и свои MT4-счета у брокеров.
Но в пользу явного перехода с MT4 на MT5 есть "новые старые" теперь аргументы:
1). ....чем больше работаешь на CUDA, тем больше хочется перейти на OpenCL, и забыть все несуразности, ошибки и выкручивание рук от nVidia как страшный сон. Это сложнее, но в конце концов приходишь к этому.
https://www.mql5.com/ru/forum/165397/page21#comment_3980382
2). Архивных котировок от Метаквотов нет с декабря 2016 и похоже что не будет:
https://www.mql5.com/ru/forum/165405
Надёжно тестировать в MT4 разработки торговых систем теперь практически нереально - у большинства брокеров.
3). С продвижением разработки торговой системы наблюдается всё больший объём расчётов, где MT5 явно может себя проявить лучше чем MT4.
4). С появлением библиотеК мат-стат расчётов от Метаквотов для MT5 - большинству трейдеров, использующих сложную статистику (парный трейдинг, арбитраж, фьючерсы, в будущем - возможно опционы)- намного легче работать в MT5 чем в MT4.
5). С явно и очевидно высокой скоростью работы в MT5 с торговыми серверами брокеров - это даёт новые возможности для разных скальперски-арбитражных- HFT алгоритмов (коих великое множество).
6). Теперь от многих практикующих трейдеров, даже работающих с другими торговыми платформами или с НЕСКОЛЬКИМИ торговыми платформами, как я вижу, к MT5 остались претензии только к РЮШЕЧКАМ (внешнему виду окон и скальперского стакана). Ну а критиковать MT5 "просто так" - это теперь просто национальная традиция.
Какой смысл таким образом ругать Метаквотов? Не нравится терминал - используй другой, платный, плати за котировки, и мучайся с дебильными программистскими системами на C#. Такие обсуждения бывают например на Smart-Lab:
http://smart-lab.ru/company/metaquotes/blog/
7). В MT5 как я понимаю, у большинства брокеров, исчезают все проблемы с закачкой и сохранением архивов котировок.
8). С некоторыми объектно-ориентированными элементами языка MQL5 может даже как-то облегчиться последующая адаптация к другим торговым платформам, - если такая потребуется в будущем (которые системы кушают C#, но довольно таки запутанным и непрямым образом, с какими-то прокладками и полу-хакерскими фокусами, в отличие от системы MT4-MT5).
То есть процесс разработки выглядит так: пишем сначала на MQL5, если надо - легко переносим на Си (собственно выигрыш по скорости в DLL на Си больше 2...3 раз теперь мы не получим,- ввиду и так высокой скорости численных расчётов компилятора MQL5).
С MQL5 (MQL4) и Си переносим на CUDA, или сразу на OpenCL, всё это работает спокойно и напрямую с терминалом MT5.
Ну а если даже надо будет привязать торговую систему и наши быстрые, отлаженные в MT5, численные расчёты к ЛЮБОМУ другому терминалу, то всё это делаем через несложную обвязку для нашей DLL на C#. Перенос MQL4 программы на MT4 в DLL занимает час-два, - ввиду полной совместимости языка MQL4 и Си, а уж на MT5 вряд ли это будет больше.
Ну как-то так......

- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Научная мотивация плавного перехода от MT4 к MT5.
Оценивая перспективу будущих работ, у меня возникло несколько мыслей по поводу перехода от MT4 к MT5.
Закончив большой проект, а также разработав советник CUDA-GPU ускорением, у меня лично теперь совершенно явно напрашивается мысль о плавном, постепенном переходе от MT4 к MT5. Это меня немного смущает, потому что раньше я критиковал фирму Metaquotes за скажем так слишком быстрый переход на MT5. Поскольку мой опыт работы с MT5 и с MQL5 небольшой, эти мысли будут носить характер с приставкой "наверное". И они будут сначала касаться научной или околонаучной стороны вопроса. Вопрос трудоёмкости перехода не стоит: после реализации проекта в MT4 с 500+ функциями на Си, CUDA-Си и MQL4 нет никаких сомнений, что и под MT5 будет работать всё, что хочешь.
Итак:
1). MT5 намного лучше для парного трейдинга. Парный трейдинг с опционами очень любят хедж-фонды. Они ищут корреляции и торгуют парами там, где есть связь между финансовыми инструментами.
Но для него нужен настоящий мультивалютный тестер. MT4 это не делает, MT5 это делает изначально, как родное. Конкурентов у MT5 в области настоящей мультивалютности тестера вообще-то не так уж и много, пару штук. А на форексе ВСЕ валюты связаны между собой, вопрос только в силе этой связи. Тут как раз пригодится и 64-битная версия, так как искать корреляции придётся между многими парами и памяти надо будет много.
Кроме этого, наверное в MT5 может быть будет и "своя" история котировок, что тоже облегчит разработку экспертов для парного трейдинга.
2). Поддержка 64-битной большой памяти. Даже будучи противником 64-бит, но увидев как советник на 34 парах съедает сразу 800 МБ памяти, сразу хочется уйти от этого дурацкого ограничения в 3ГБ на 32 битах. MT5 вполне поддерживает 64 бита памяти, а компилятор MQL5 версии на 64 бита к тому же работает в несколько раз быстрее, то есть генерит более быстрый и защищённый код.
3). Скорость советника и компьютера является критичной при работе со сложными советниками, в которых много математики. Наработавшись и с MQL4 и с Си в DLL с SSE2 и с CUDA-GPU, хочется всё-таки ещё большего ускорения. Как показывает мой личный опыт, для трейдинга хватит даже среднего компьютера и советника на MQL4. Но для разумной оптимизации его параметров нужно или OpenCL или CUDA, или облачные агенты.
4). Облачные вычисления работают как раз в MT5. И вроде как успешно работают.
5). Наработавшись с CUDA ускорением, могу сказать, что первая стадия написания программы проще на CUDA, чем на OpenCL. Но вот последняя стадия, когда надо выжимать из кернелов "все соки" по скорости - на CUDA становится проблематичной. И разработка затягивается из-за компилятора nVidia. Он ещё и компилирует проект медленно. Здесь может помочь прямое написание кернелов и загрузка их напрямую как в OpenCL, а это ... есть как раз MT5, и ни у кого больше в трейдинговом мире.
В общем, со многих сторон проявляется несколько неожиданная мысль, что следующим этапом большой работы может стать перенос проекта на MT5 и MQL5 и дальнейшая работа в MT5, включая облачную работу для большой оптимизации, без которой не обойтись. Но я не сожалею, что тогда критиковал MT5, потому что вряд ли переходя в середине работы на MQL5 и далее под MT5 смог бы сделать проект так "быстро", как под "родным" MT4. Но вот теперь, по пути усложнения перспективных задач необходимость в MT5 возникает как-бы сама собой.
Что думаете?