Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Сергей
779
Сергей  
  • 31%
    (30)
  • 46%
    (44)
  • 23%
    (22)
Всего проголосовало: 96
George Merts
4005
George Merts  
Какой язык лучше - русский или российский ?
Vitaly Muzichenko
4399
Vitaly Muzichenko  
Сергей:
  • 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);


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

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

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

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

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

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

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