Jump to content
Programmer

Build 610/600/574/79/82 - кто что думает?

Recommended Posts

Programmer

Приветствую всех,

 

Совсем недавно MetaQuotes объявили выход новой версии терминала MT4 - билд 6xx* (в данный момент находится в стадии бета-тестирования). Источник:

600: http://forum.mql4.com/ru/60074

610: http://forum.mql4.com/ru/60982

 

*Хронология: 574/579/582/600/610

 

В разработчики сообщают о принципиальных изменениях в языке MQL4 в новой версии темринала.

 

Самым важным изменениям подвергся язык программирования торговых стратегий MQL4

 

post-50854-1404220714,0762_thumb.png

 

Изменений очень много, однако самые Важные, на мой взгляд, - это следующие:

 

-------------------------------

 

Язык программирования торговых стратегий MQL4 существенно доработан и приближен по функционалу к языку MQL5. Добавлены классы и структуры, расширен до уровня С++ синтаксис языка, что позволило реализовать все преимущества объектно-ориентированного программирования. Это означает, что теперь писать торговых роботов и технические индикаторы стало гораздо проще и быстрее, а экспертописатели получили новые возможности в единой среде разработке MetaEditor - отладку, профилировку, автодополнение и т.д.

 

Добавлены новые типы данных char, short, long, uchar, ushort, uint, ulong и double.

 

Добавлены структуры и классы, указатели объектов, тип void и ключевое слово this для получения объектом ссылки на самого себя. Поддерживаются все стандарты объектно-ориентированного программирования:

 

- Инкапсуляция и расширяемость типов

- Наследование

- Полиморфизм

- Перегрузка

- Виртуальные функции

 

Предопределенные функции init(), deinit() и start() остались для совместимости, но вместо них теперь можно использовать OnInit(), OnDeinit(), OnStart(), OnCalculate(), OnTick().

 

-------------------------------

 

Более подробно про все эти и другие изменения Вы можете прочитать на сайте разработчиков, по ссылке, указанной выше.

 

Кто что думает?

Предлагаю в этой ветке делится мнениями и наблюдениями относительно новой среды разработки.

 

Кирилл

Edited by Programmer

Share this post


Link to post
Share on other sites
AntFX

Долгожданное изменение. Открывает массу новых возможностей в программировании экспертов. Непонятно только, чего тянули резину 3 года. Надеялись, наверное, что их мертворожденный МТ5 оживет и затмит МТ4, чего на форексе не произойдет никогда


1

Share this post


Link to post
Share on other sites
transcendreamer

ну почему МТ5 мертворожденный? очень даже нужный продукт

надеюсь фондоброкеры возьмутся его внедрять

вместо всех этих убогих транзаков и квиков

Share this post


Link to post
Share on other sites
AntFX
ну почему МТ5 мертворожденный? очень даже нужный продукт

надеюсь фондоброкеры возьмутся его внедрять

вместо всех этих убогих транзаков и квиков

 

Я поэтому и уточнил: "на форексе". Если бы терминал МТ5 изначально не позиционировался ими как продолжение МТ4, то он бы не был "мертворожденным".

Здесь на форекс ритейле никому не нужен терминал, суммирующий нетто ордеров. Всем нужны локи, доливки, сетки и пирамидинг.

К тому же для профи полезность МТ5 убивает отсутствие возможности работать со своей историей.

А в остальном "все хорошо, прекрасная маркиза" :)

Edited by AntFX

1

Share this post


Link to post
Share on other sites
DVargo

доступна уже 577 версия.

 

самый большой косяк - это расположение файловой песочницы. Удар под дых для многих не рядовых пользователей

Теперь задача перенести с XP на 8ку терминал или пару терминалов уже дело не 5 ти минут.

 

Думаю большинство существуюших копировщиков накрылось.

 

Зато расширились функции работы с файлами - без танцев с бубном можно перебирать файлы. для меня это самый важный плюс.

Share this post


Link to post
Share on other sites
AntFX
Думаю большинство существуюших копировщиков накрылось.

Вполне возможно, если они работают с ДЛЛ и передают строки, как минимум нужно поменять вызов функций API на вариант Unicode


1

Share this post


Link to post
Share on other sites
transcendreamer

про новый язык (имхо и фантазии)...

новый язык это хорошо для профессиональных программистов, массивы и объектоориентированность всякая... а вот обычным людям которые конструктор от деструктора не отличает (типа меня) оно не сильно поможет... я бы хотел себе (фантазирую) более прикладной язык чтобы не заморачиваться с классами и всеми этими делами, по большому счету они к трейдингу не имеют отношения, поэтому я вижу так: 1 уровень - системный - язык mql как он есть сейчас, 2 уровень - прикладной - трейдерский метаязык типа визуального бейсика или easy language (был такой в omega tradestation) который встраивается в mql или компилируется как-то отдельно..... в итоге мы что получим - мощная среда разработки для системщиков и нормальный язык для трейдеров чтобы не страдать со всякими обработчиками, приведением типов, видимостью переменных и мучительно выбирать ontick или oncalculate? либо сделать так чтобы генерировался универсальный советник/скрипт/индикатор с готовыми функциями для правильной посылки ордеров с учетом всех задержек, неторговых периодов и прочего прочего....

Share this post


Link to post
Share on other sites
transcendreamer
Я поэтому и уточнил: "на форексе". Если бы терминал МТ5 изначально не позиционировался ими как продолжение МТ4, то он бы не был "мертворожденным".

Здесь на форекс ритейле никому не нужен терминал, суммирующий нетто ордеров. Всем нужны локи, доливки, сетки и пирамидинг.

К тому же для профи полезность МТ5 убивает отсутствие возможности работать со своей историей.

А в остальном "все хорошо, прекрасная маркиза" :)

 

если только в отношении форекса, то да, вы правы

с другой стороны: если бы в мт4 изначально было внедрены правила банковского учета сделок, то никто бы и не жаловался сейчас

Share this post


Link to post
Share on other sites
AntFX
я вижу так: 1 уровень - системный - язык mql как он есть сейчас, 2 уровень - прикладной - трейдерский метаязык типа визуального бейсика или easy language (был такой в omega tradestation) который встраивается в mql или компилируется как-то отдельно.....

Во-первых как раз объектная ориентация дает возможность создавать такие метаязыки на основе стандартного mql4 (или он уже mql5). То есть можно создать такую библиотеку классов, которая позволит реализовать этот самый типа "бейсик". Кроме того, они оставили возможность писать на старом mql4, добавив возможности mql5, которыми пользоваться не обязательно.

Во-вторых, как Вы себе представляете визуальное построение эксперта? В визуальных языках в Windows визуально разрабатываются компоненты интерфейса. А у роботов чаще всего нет никакого интерфейса. Что именно по-Вашему стоило бы сделать визуальным?

Edited by AntFX

1

Share this post


Link to post
Share on other sites
transcendreamer
Во-первых как раз объектная ориентация дает возможность создавать такие метаязыки на основе стандартного mql4 (или он уже mql5). То есть можно создать такую библиотеку классов, которая позволит реализовать этот самый типа "бейсик". Кроме того, они оставили возможность писать на старом mql4, добавив возможности mql5, которыми пользоваться не обязательно.

Во-вторых, как Вы себе представляете визуальное построение эксперта? В визуальных языках в Windows визуально разрабатываются компоненты интерфейса. А у роботов чаще всего нет никакого интерфейса. Что именно по-Вашему стоило бы сделать визуальным?

 

ну вот например как в программе forex strategy builder

там как раз визуальный конструктор

правда он очень слабый

 

мне очень нравился язык Омеги - простой до безобразия

код читается как обычный человеческий язык

но при этом и внешние dll можно вызывать и куча готовых функций есть

Share this post


Link to post
Share on other sites
Ugar68

ИМХО Язык программирования для торговых инструментов, должен таким и быть. Если надо больше функционала, расширяйся библиотеками. В общем то так и выглядел mql4. Теперь будет расширен функционал.

Теперь точно язык будет не для трейдеров, а для программистов. Трейдерам трудно не запутаться в одномерном массиве. А тут классы, о которых в учебнике не слова.

Те кто уже шарит в программировании, разберётся. Хотя и у них будут возникать вопросы. С учётом того, как написан справочник по mql5, вопросов может быть не мало.

А новичкам то что делать? Метаквоты утверждают что учебник переделывать не будут и новый выпускать то же.

И главное, всё новое обычно глючное. Поговорку "не ошибается только тот, кто ничего не делает" никто не отменял. Если в старом mql4 большинство глюков уже исправлено, то с введением новшеств "глюкоправы" обеспечат себя работой ещё на несколько лет.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Share this post


Link to post
Share on other sites
Vlad Minkov

MQL5 похож на С, MQL4++ похож на MQL5. А в итоге как у Жванецкого: "Здесь читаем, здесь не читаем а это жирное пятно пропустите, тут котлета лежала".

Мнения разделились и это понятно. Пользователям (торговцы реально) эти "улучшения" нахрен не нужны. Программисты в восторге! Это же сколько работы прибавится! Восторги по поводу новых возможностей от лукавого. Никаких преимуществ для торговли это "улучшение" не дает. Кроме огромной головной боли по переносу всех наработок на новый язык. А если это умножить на абсолютно сырой релиз, песня. Все эти разговоры о якобы полной переносимости старых программ - разговоры. Некоторые индикаторы работают, но не совсем так как прежде. Эксперты с ДЛЛ падают в 90%. Тут некоторые умники писали рецепты лекарств от этого, так я предлагаю внимательно перечитать форум с обсуждением языка.

В общем это похоже на то, как если бы Вам вместо ручных слесарных инструментов с деревянными ручками предложили такие же но с перламутровыми да еще и с позолотой утверждая, что эти инструменты позволят Вам создавать гораздо лучшие детали для велосипеда. Так я не хочу делать велосипед. Мне нужен готовый, который можно немного подрегулировать и оттачивать мастерство езды, а не мастерство изготовления велосипедов.

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

Постараюсь подольше продержать 509 билд, пока и его не аннулируют. Ренат обещал несколько месяцев поддержки. А за это время или ишак сдохнет или ...

ИМХО конечно. Не для дискуссии.

Успехов


Постоянны только перемены!

Share this post


Link to post
Share on other sites
AntFX

Нет никакого обязательного для всех нового языка. mql4 останется в том виде, в котором был, но к нему прибавятся дополнительные возможности. Некоторые простые шаги для преобразования некоторых (далеко не всех) программ придется проделать, в особенности многих коммерческих программ с ДЛЛ, но это неизбежная небольшая плата за значительный шаг вперед. Иначе невозможен никакой прогресс.

Edited by AntFX

1

Share this post


Link to post
Share on other sites
Programmer

Я, как выразился Влад Минков, "в восторге" от новых доработок: проще писать программы, проще создавать переносимые блоки кода, и тд. Однако, я понимаю трейдеров, которые говорят, что им это все не надо. Ведь, на самом деле, объектно-ориентированное программирование не так легко освоить человеку, не знакомому с программированием вовсе.

 

Интересно будет увидеть, чем это все кончится. В конце-концов, последнее слово за брокерами..

 

Кирилл

Share this post


Link to post
Share on other sites
transcendreamer

Трейдер должен уметь торговать даже вообще без терминала. Голосовыми приказами по телефону. И получать прибыль. Большинство на форуме уже наверное не помнит, что раньше еще приказы писались на таких листочках формата А5 или меньше и отдавались дилеру на исполнение из рук в руки. И это было. А графики печатали на принтере и чертили прозрачной пластиковой линейкой тренды. И это было. Но лично я в любом случае поддерживаю развитие всех новых наворотов, пусть будет.

Share this post


Link to post
Share on other sites
Den2S
Трейдер должен уметь торговать даже вообще без терминала. Голосовыми приказами по телефону. И получать прибыль. Большинство на форуме уже наверное не помнит, что раньше еще приказы писались на таких листочках формата А5 или меньше и отдавались дилеру на исполнение из рук в руки. И это было. А графики печатали на принтере и чертили прозрачной пластиковой линейкой тренды. И это было. Но лично я в любом случае поддерживаю развитие всех новых наворотов, пусть будет.

 

 

Почему не помнит..?

Я помню - собственноручно писал приказы брокеру на этих A5 и отдавал в руки.

Потом спустя некоторое время получал его обратно с ценой по которой приказ был исполнен.

 

Весь процесс напоминал чем - то детскую игру монополию...


Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё.

(Касается любого инвестирования в памм-индустрии). Den2S (©).

------------------------------------------------------------------------------------

Share this post


Link to post
Share on other sites
nyxl44

как теперь установить нестандартный индикатор?

билд 578 в терминале они не отображаются.

Share this post


Link to post
Share on other sites
AntFX

Радуемся - массовый переход всех брокеров на новый МТ4 произойдет через неделю


1

Share this post


Link to post
Share on other sites
AntFX
как теперь установить нестандартный индикатор?

билд 578 в терминале они не отображаются.

 

Проблема в конкретном Вашем индикаторе. Можете выложить его здесь и мы посмотрим, что можно сделать.


1

Share this post


Link to post
Share on other sites
benzovoz

Прогресс конечно хорошо, только настораживает маниакальное желание метаквотов тестировать сырые билды на реальных деньгах трейдеров.

Share this post


Link to post
Share on other sites
ralf625

Подскажите пож. почему на версии 574 не работает индикатор Dynamic Zone RSI2, точнее не отображаются UpZone и DnZone

Dynamic Zone RSI2.mq4

Share this post


Link to post
Share on other sites
kazakov.v
Подскажите пож. почему на версии 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)));
}


Никому верить нельзя.

Мне - можно.

 

Share this post


Link to post
Share on other sites
kazakov.v

Шустрее работает. Умножение двух матриц 1000х1000 на 509 билде 35 сек, на 574 - 15 сек. ))

 

Но в VS всего 6 секунд ((

Edited by kazakov.v

Никому верить нельзя.

Мне - можно.

 

Share this post


Link to post
Share on other sites
kazakov.v

Более точные данные умножение двух матриц 2000х2000 double:

509 - 277 сек

574 - 120 сек

VS - 60 сек

Очередной привет от MQ. Видимо они проверяют при каждом обращении индексы на валидность, вместо обработки исключений. Отсюда и тормоза ))


Никому верить нельзя.

Мне - можно.

 

Share this post


Link to post
Share on other sites
ralf625
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 включительно работало без этой корректировки

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×