Скачать MetaTrader 5

Какой язык лучше, MQL4 или MQL5?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как пользоваться редактором сообщений MQL5.community? Узнай из статьи!
Сергей
595
Сергей 2016.10.30 13:23 
  • 32%
    (30)
  • 45%
    (42)
  • 23%
    (22)
Всего проголосовало: 94
George Merts
3609
George Merts 2016.10.30 14:45  
Какой язык лучше - русский или российский ?
Vitaly Muzichenko
3485
Vitaly Muzichenko 2016.10.30 14:47  
Сергей:
  • 29% MQL4
    (5)
  • 53% MQL5
    (9)
  • 18% не знаю
    (3)

Ну если смотреть с простоты написания кода и количества строк на выходе, то в пятом вот это наверное в действительности проще и меньше:

double High[];
double high=0;
ArraySetAsSeries(High,true);
int copied=CopyHigh(symbol,timeframe,index,1,High);
if(copied>0) high=High[0];

Ну а четвёрке конечно-же в разы сложнее и больше не нужного кода:

High[0]

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

Fractals_handle=iFractals(NULL,Fractals_period);
// тут совсем мало непонятно чего и зачем?
CopyBuffer(Fractals_handle,0,0,buf,Upper);
      ArraySetAsSeries(Upper,true);
// дальше много, писать долго

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

Fractals_handle1=iFractals(NULL,Fractals_period,0);


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

Сергей
595
Сергей 2016.10.30 15:07  
Vitaly Muzichenko:

Ну если смотреть с простоты написания кода и количества строк на выходе, то в пятом вот это наверное в действительности проще и меньше:

double High[];
double high=0;
ArraySetAsSeries(High,true);
int copied=CopyHigh(symbol,timeframe,index,1,High);
if(copied>0) high=High[0];

Ну а четвёрке конечно-же в разы сложнее и больше не нужного кода:

High[0]

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

Fractals_handle=iFractals(NULL,Fractals_period);
// тут совсем мало непонятно чего и зачем?
CopyBuffer(Fractals_handle,0,0,buf,Upper);
      ArraySetAsSeries(Upper,true);
// дальше много, писать долго

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

Fractals_handle1=iFractals(NULL,Fractals_period,0);


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

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

хоть mql4 нормально зашел...
Aleksey Semenov
3731
Aleksey Semenov 2016.10.30 15:08  
А как же весёлая система и логика учёта позиций в пятёрке которая в три или четыре раза "проще" чем в четвёрке, кому вообще пришло в голову разделить ордер и сделку, добавить несколько вариантов исполнения торгового приказа
Vitaly Muzichenko
3485
Vitaly Muzichenko 2016.10.30 15:13  
Aleksey Semenov:
А как же весёлая система и логика учёта позиций в пятёрке которая в три или четыре раза "проще" чем в четвёрке, кому вообще пришло в голову разделить ордер и сделку, добавить несколько вариантов исполнения торгового приказа

Ну разделение ордеров и позиций обязано быть, так в разы легче контролировать код.

По понятным причинам пятый язык продвинется в массы, как в своё время продвинули Windows Vista, позже сама компания майкрософт с многомиллиардной капитализацией набралась смелости и прилюдно её признала неблагополучной операционной системой и вышла Win7. Многие сразу сделали переход с XP на Win7 минуя безобразную висту. Тут может так-же случиться чуть позже, и выйдет более простой язык, нежели пятый. 

Maxim Dmitrievsky
13859
Maxim Dmitrievsky 2016.10.30 15:19  
с 5-кой у меня получился тот неловкий момент, когда лучшее враг хорошего.. приходится слишком много писать "лишнего" кода, как Виталий уже заметил, и не совсем понятно зачем это делать, видимо для оптимизации памяти и быстродействия
Сергей
595
Сергей 2016.10.30 15:26  
зачем вообще было mql5 делать? испортили язык!
Vitaly Muzichenko
3485
Vitaly Muzichenko 2016.10.30 15:49  
Maxim Dmitrievsky:
с 5-кой у меня получился тот неловкий момент, когда лучшее враг хорошего.. приходится слишком много писать "лишнего" кода, как Виталий уже заметил, и не совсем понятно зачем это делать, видимо для оптимизации памяти и быстродействия
использование лишних переборов в массивах внутри программы вряд-ли экономит память. Качество кода в пятом так-же лагает в плане "красивого" написания.
Сергей:
зачем вообще было mql5 делать? испортили язык!

Как писал, это может быть переходной момент между одним и другим. В целом да, язык нужно было развивать, как это делается в остальных, а не уничтожать и создавать новый, тем более в разы неудобный нежели четвёртый. Использование ООП идея сама по себе неплохая, но в программе на одну страничку - советник, индикатор, скрипт - это конечно не совсем нужное. Я пишу web-сайты и там действительно без ООП очень сложно, а иногда и невозможно, много всего зависит одно от другого, страниц сотни и тысячи, вот там без ООП действительно никуда, а вот на одностраничной программе, это вовсе не нужно и нецелесообразно. 

transcendreamer
3284
transcendreamer 2016.10.30 17:36  
хотя mql5 бесспорно богаче но для многих я знаю mql4 проще так как меньше телодвижений нужно 
Комбинатор
15929
Комбинатор 2016.10.30 17:38  
transcendreamer:
хотя mql5 бесспорно богаче но для многих я знаю mql4 проще так как меньше телодвижений нужно 
для того чтобы на коленке проверить за 10 минут какую-нибудь шальную мысль старый MQL4 просто идеален.
12345678...16
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий