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

 
  • 33% (44)
  • 40% (54)
  • 27% (37)
Всего проголосовало: 135
 
Какой язык лучше - русский или российский ?
 
Сергей:
  • 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);


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

 
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:
А как же весёлая система и логика учёта позиций в пятёрке которая в три или четыре раза "проще" чем в четвёрке, кому вообще пришло в голову разделить ордер и сделку, добавить несколько вариантов исполнения торгового приказа

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

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

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

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

 
хотя mql5 бесспорно богаче но для многих я знаю mql4 проще так как меньше телодвижений нужно 
 
transcendreamer:
хотя mql5 бесспорно богаче но для многих я знаю mql4 проще так как меньше телодвижений нужно 
для того чтобы на коленке проверить за 10 минут какую-нибудь шальную мысль старый MQL4 просто идеален.
Причина обращения: