Programmer 33 Share Posted January 27, 2014 (edited) Приветствую всех, Совсем недавно MetaQuotes объявили выход новой версии терминала MT4 - билд 6xx* (в данный момент находится в стадии бета-тестирования). Источник: 600: http://forum.mql4.com/ru/60074 610: http://forum.mql4.com/ru/60982 *Хронология: 574/579/582/600/610 В разработчики сообщают о принципиальных изменениях в языке MQL4 в новой версии темринала. Самым важным изменениям подвергся язык программирования торговых стратегий MQL4 Изменений очень много, однако самые Важные, на мой взгляд, - это следующие: ------------------------------- Язык программирования торговых стратегий MQL4 существенно доработан и приближен по функционалу к языку MQL5. Добавлены классы и структуры, расширен до уровня С++ синтаксис языка, что позволило реализовать все преимущества объектно-ориентированного программирования. Это означает, что теперь писать торговых роботов и технические индикаторы стало гораздо проще и быстрее, а экспертописатели получили новые возможности в единой среде разработке MetaEditor - отладку, профилировку, автодополнение и т.д. Добавлены новые типы данных char, short, long, uchar, ushort, uint, ulong и double. Добавлены структуры и классы, указатели объектов, тип void и ключевое слово this для получения объектом ссылки на самого себя. Поддерживаются все стандарты объектно-ориентированного программирования: - Инкапсуляция и расширяемость типов - Наследование - Полиморфизм - Перегрузка - Виртуальные функции Предопределенные функции init(), deinit() и start() остались для совместимости, но вместо них теперь можно использовать OnInit(), OnDeinit(), OnStart(), OnCalculate(), OnTick(). ------------------------------- Более подробно про все эти и другие изменения Вы можете прочитать на сайте разработчиков, по ссылке, указанной выше. Кто что думает? Предлагаю в этой ветке делится мнениями и наблюдениями относительно новой среды разработки. Кирилл Edited February 25, 2014 by Programmer Link to post Share on other sites
AntFX 6,474 Share Posted January 27, 2014 Долгожданное изменение. Открывает массу новых возможностей в программировании экспертов. Непонятно только, чего тянули резину 3 года. Надеялись, наверное, что их мертворожденный МТ5 оживет и затмит МТ4, чего на форексе не произойдет никогда 1 Link to post Share on other sites
transcendreamer 47 Share Posted January 27, 2014 ну почему МТ5 мертворожденный? очень даже нужный продукт надеюсь фондоброкеры возьмутся его внедрять вместо всех этих убогих транзаков и квиков Link to post Share on other sites
AntFX 6,474 Share Posted January 27, 2014 (edited) ну почему МТ5 мертворожденный? очень даже нужный продукт надеюсь фондоброкеры возьмутся его внедрять вместо всех этих убогих транзаков и квиков Я поэтому и уточнил: "на форексе". Если бы терминал МТ5 изначально не позиционировался ими как продолжение МТ4, то он бы не был "мертворожденным". Здесь на форекс ритейле никому не нужен терминал, суммирующий нетто ордеров. Всем нужны локи, доливки, сетки и пирамидинг. К тому же для профи полезность МТ5 убивает отсутствие возможности работать со своей историей. А в остальном "все хорошо, прекрасная маркиза" Edited January 27, 2014 by AntFX 1 Link to post Share on other sites
DVargo 210 Share Posted January 27, 2014 доступна уже 577 версия. самый большой косяк - это расположение файловой песочницы. Удар под дых для многих не рядовых пользователей Теперь задача перенести с XP на 8ку терминал или пару терминалов уже дело не 5 ти минут. Думаю большинство существуюших копировщиков накрылось. Зато расширились функции работы с файлами - без танцев с бубном можно перебирать файлы. для меня это самый важный плюс. А не пойти ли бы вам Link to post Share on other sites
AntFX 6,474 Share Posted January 27, 2014 Думаю большинство существуюших копировщиков накрылось. Вполне возможно, если они работают с ДЛЛ и передают строки, как минимум нужно поменять вызов функций API на вариант Unicode 1 Link to post Share on other sites
transcendreamer 47 Share Posted January 27, 2014 про новый язык (имхо и фантазии)... новый язык это хорошо для профессиональных программистов, массивы и объектоориентированность всякая... а вот обычным людям которые конструктор от деструктора не отличает (типа меня) оно не сильно поможет... я бы хотел себе (фантазирую) более прикладной язык чтобы не заморачиваться с классами и всеми этими делами, по большому счету они к трейдингу не имеют отношения, поэтому я вижу так: 1 уровень - системный - язык mql как он есть сейчас, 2 уровень - прикладной - трейдерский метаязык типа визуального бейсика или easy language (был такой в omega tradestation) который встраивается в mql или компилируется как-то отдельно..... в итоге мы что получим - мощная среда разработки для системщиков и нормальный язык для трейдеров чтобы не страдать со всякими обработчиками, приведением типов, видимостью переменных и мучительно выбирать ontick или oncalculate? либо сделать так чтобы генерировался универсальный советник/скрипт/индикатор с готовыми функциями для правильной посылки ордеров с учетом всех задержек, неторговых периодов и прочего прочего.... Link to post Share on other sites
transcendreamer 47 Share Posted January 27, 2014 Я поэтому и уточнил: "на форексе". Если бы терминал МТ5 изначально не позиционировался ими как продолжение МТ4, то он бы не был "мертворожденным".Здесь на форекс ритейле никому не нужен терминал, суммирующий нетто ордеров. Всем нужны локи, доливки, сетки и пирамидинг. К тому же для профи полезность МТ5 убивает отсутствие возможности работать со своей историей. А в остальном "все хорошо, прекрасная маркиза" если только в отношении форекса, то да, вы правы с другой стороны: если бы в мт4 изначально было внедрены правила банковского учета сделок, то никто бы и не жаловался сейчас Link to post Share on other sites
AntFX 6,474 Share Posted January 27, 2014 (edited) я вижу так: 1 уровень - системный - язык mql как он есть сейчас, 2 уровень - прикладной - трейдерский метаязык типа визуального бейсика или easy language (был такой в omega tradestation) который встраивается в mql или компилируется как-то отдельно..... Во-первых как раз объектная ориентация дает возможность создавать такие метаязыки на основе стандартного mql4 (или он уже mql5). То есть можно создать такую библиотеку классов, которая позволит реализовать этот самый типа "бейсик". Кроме того, они оставили возможность писать на старом mql4, добавив возможности mql5, которыми пользоваться не обязательно. Во-вторых, как Вы себе представляете визуальное построение эксперта? В визуальных языках в Windows визуально разрабатываются компоненты интерфейса. А у роботов чаще всего нет никакого интерфейса. Что именно по-Вашему стоило бы сделать визуальным? Edited January 27, 2014 by AntFX 1 Link to post Share on other sites
transcendreamer 47 Share Posted January 27, 2014 Во-первых как раз объектная ориентация дает возможность создавать такие метаязыки на основе стандартного mql4 (или он уже mql5). То есть можно создать такую библиотеку классов, которая позволит реализовать этот самый типа "бейсик". Кроме того, они оставили возможность писать на старом mql4, добавив возможности mql5, которыми пользоваться не обязательно.Во-вторых, как Вы себе представляете визуальное построение эксперта? В визуальных языках в Windows визуально разрабатываются компоненты интерфейса. А у роботов чаще всего нет никакого интерфейса. Что именно по-Вашему стоило бы сделать визуальным? ну вот например как в программе forex strategy builder там как раз визуальный конструктор правда он очень слабый мне очень нравился язык Омеги - простой до безобразия код читается как обычный человеческий язык но при этом и внешние dll можно вызывать и куча готовых функций есть Link to post Share on other sites
Ugar68 372 Share Posted January 27, 2014 ИМХО Язык программирования для торговых инструментов, должен таким и быть. Если надо больше функционала, расширяйся библиотеками. В общем то так и выглядел mql4. Теперь будет расширен функционал. Теперь точно язык будет не для трейдеров, а для программистов. Трейдерам трудно не запутаться в одномерном массиве. А тут классы, о которых в учебнике не слова. Те кто уже шарит в программировании, разберётся. Хотя и у них будут возникать вопросы. С учётом того, как написан справочник по mql5, вопросов может быть не мало. А новичкам то что делать? Метаквоты утверждают что учебник переделывать не будут и новый выпускать то же. И главное, всё новое обычно глючное. Поговорку "не ошибается только тот, кто ничего не делает" никто не отменял. Если в старом mql4 большинство глюков уже исправлено, то с введением новшеств "глюкоправы" обеспечат себя работой ещё на несколько лет. Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку. Чужие программы не переделываю. Link to post Share on other sites
Vlad Minkov 4 Share Posted January 28, 2014 MQL5 похож на С, MQL4++ похож на MQL5. А в итоге как у Жванецкого: "Здесь читаем, здесь не читаем а это жирное пятно пропустите, тут котлета лежала". Мнения разделились и это понятно. Пользователям (торговцы реально) эти "улучшения" нахрен не нужны. Программисты в восторге! Это же сколько работы прибавится! Восторги по поводу новых возможностей от лукавого. Никаких преимуществ для торговли это "улучшение" не дает. Кроме огромной головной боли по переносу всех наработок на новый язык. А если это умножить на абсолютно сырой релиз, песня. Все эти разговоры о якобы полной переносимости старых программ - разговоры. Некоторые индикаторы работают, но не совсем так как прежде. Эксперты с ДЛЛ падают в 90%. Тут некоторые умники писали рецепты лекарств от этого, так я предлагаю внимательно перечитать форум с обсуждением языка. В общем это похоже на то, как если бы Вам вместо ручных слесарных инструментов с деревянными ручками предложили такие же но с перламутровыми да еще и с позолотой утверждая, что эти инструменты позволят Вам создавать гораздо лучшие детали для велосипеда. Так я не хочу делать велосипед. Мне нужен готовый, который можно немного подрегулировать и оттачивать мастерство езды, а не мастерство изготовления велосипедов. Спорить бесполезно, поскольку у программистов вызывает восторг и удовольствие сам процесс написания. И это разбираемо. Кто был радиолюбителем, тот понимает о чем речь. Но пользователям с большим багажем наработок - головняк, надолго и без никаких бонусов. Постараюсь подольше продержать 509 билд, пока и его не аннулируют. Ренат обещал несколько месяцев поддержки. А за это время или ишак сдохнет или ... ИМХО конечно. Не для дискуссии. Успехов Постоянны только перемены! Link to post Share on other sites
AntFX 6,474 Share Posted January 28, 2014 (edited) Нет никакого обязательного для всех нового языка. mql4 останется в том виде, в котором был, но к нему прибавятся дополнительные возможности. Некоторые простые шаги для преобразования некоторых (далеко не всех) программ придется проделать, в особенности многих коммерческих программ с ДЛЛ, но это неизбежная небольшая плата за значительный шаг вперед. Иначе невозможен никакой прогресс. Edited January 28, 2014 by AntFX 1 Link to post Share on other sites
Programmer 33 Author Share Posted January 28, 2014 Я, как выразился Влад Минков, "в восторге" от новых доработок: проще писать программы, проще создавать переносимые блоки кода, и тд. Однако, я понимаю трейдеров, которые говорят, что им это все не надо. Ведь, на самом деле, объектно-ориентированное программирование не так легко освоить человеку, не знакомому с программированием вовсе. Интересно будет увидеть, чем это все кончится. В конце-концов, последнее слово за брокерами.. Кирилл Link to post Share on other sites
transcendreamer 47 Share Posted January 28, 2014 Трейдер должен уметь торговать даже вообще без терминала. Голосовыми приказами по телефону. И получать прибыль. Большинство на форуме уже наверное не помнит, что раньше еще приказы писались на таких листочках формата А5 или меньше и отдавались дилеру на исполнение из рук в руки. И это было. А графики печатали на принтере и чертили прозрачной пластиковой линейкой тренды. И это было. Но лично я в любом случае поддерживаю развитие всех новых наворотов, пусть будет. Link to post Share on other sites
Den2S 131 Share Posted January 28, 2014 Трейдер должен уметь торговать даже вообще без терминала. Голосовыми приказами по телефону. И получать прибыль. Большинство на форуме уже наверное не помнит, что раньше еще приказы писались на таких листочках формата А5 или меньше и отдавались дилеру на исполнение из рук в руки. И это было. А графики печатали на принтере и чертили прозрачной пластиковой линейкой тренды. И это было. Но лично я в любом случае поддерживаю развитие всех новых наворотов, пусть будет. Почему не помнит..? Я помню - собственноручно писал приказы брокеру на этих A5 и отдавал в руки. Потом спустя некоторое время получал его обратно с ценой по которой приказ был исполнен. Весь процесс напоминал чем - то детскую игру монополию... Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
nyxl44 1 Share Posted January 28, 2014 как теперь установить нестандартный индикатор? билд 578 в терминале они не отображаются. Link to post Share on other sites
AntFX 6,474 Share Posted January 28, 2014 Радуемся - массовый переход всех брокеров на новый МТ4 произойдет через неделю 1 Link to post Share on other sites
AntFX 6,474 Share Posted January 28, 2014 как теперь установить нестандартный индикатор? билд 578 в терминале они не отображаются. Проблема в конкретном Вашем индикаторе. Можете выложить его здесь и мы посмотрим, что можно сделать. 1 Link to post Share on other sites
benzovoz 166 Share Posted January 30, 2014 Прогресс конечно хорошо, только настораживает маниакальное желание метаквотов тестировать сырые билды на реальных деньгах трейдеров. Link to post Share on other sites
ralf625 0 Share Posted January 30, 2014 Подскажите пож. почему на версии 574 не работает индикатор Dynamic Zone RSI2, точнее не отображаются UpZone и DnZone Dynamic Zone RSI2.mq4 Link to post Share on other sites
kazakov.v 189 Share Posted January 30, 2014 Подскажите пож. почему на версии 574 не работает индикатор Dynamic Zone RSI2, точнее не отображаются UpZone и DnZone double Variance(double& Data[], int Per) { double sum=0, ssum=0; // [color=red]Здесь нужна явная инициализация[/color] for (int i=0; i<Per; i++) { sum += Data[i]; ssum += MathPow(Data[i],2); } return((ssum*Per - sum*sum)/(Per*(Per-1))); } Никому верить нельзя. Мне - можно. Link to post Share on other sites
kazakov.v 189 Share Posted January 30, 2014 (edited) Шустрее работает. Умножение двух матриц 1000х1000 на 509 билде 35 сек, на 574 - 15 сек. )) Но в VS всего 6 секунд (( Edited January 30, 2014 by kazakov.v Никому верить нельзя. Мне - можно. Link to post Share on other sites
kazakov.v 189 Share Posted January 30, 2014 Более точные данные умножение двух матриц 2000х2000 double: 509 - 277 сек 574 - 120 сек VS - 60 сек Очередной привет от MQ. Видимо они проверяют при каждом обращении индексы на валидность, вместо обработки исключений. Отсюда и тормоза )) Никому верить нельзя. Мне - можно. Link to post Share on other sites
ralf625 0 Share Posted January 30, 2014 double Variance(double& Data[], int Per) { double sum=0, ssum=0; // [color=red]Здесь нужна явная инициализация[/color] for (int i=0; i<Per; i++) { sum += Data[i]; ssum += MathPow(Data[i],2); } return((ssum*Per - sum*sum)/(Per*(Per-1))); } спасибо, заработало на build 574, хотя до build 509 включительно работало без этой корректировки Link to post Share on other sites
Recommended Posts