Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

ODPOWIEDZ
Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

wtorek 27 sie 2013, 21:02

Witam,

Metaquotes prze do przodu ze swoimi pomysłami. Właśnie ogłosiło IDE dla MQL 4.5
http://forum.mql4.com/56885

Nie ma co prawda wersji 4.5 ale to ma obsługiwać języki 4 i 5. Dwa w jednym jak w reklamie popularnego szamponu :wink:

Oni ujęli to tak:
Instead of working on MQL4 -> MQL5 compatibility, we have decided to go the opposite way. We have transferred the maximum possible amount of MQL5 language functions and features fully preserving MQL4 functionality. In other words, all powerful MQL5 functions, including ООP and the native code compiler, will become available in MQL4.

To achieve this, we have developed a unified compiler that automatically supports both MQL4 and MQL5 languages. MetaEditor will also become a single application both for MetaTrader 4 and MetaTrader 5 platforms. Thus, it will be possible to compile both MQL4 and MQL5 from any version.
Z tym że nie jest aż tak pięknie - nie każdy kod napisany w MQL4 będzie działał bez poprawek.
A niektóre z nich mogą doprowadzić człowieka z nerw - zmieniła się gdzieniegdzie składnia czy sposób prezentacji danych.
Niby drobne rzeczy ale np. nie można już teraz bezpośrednio przekazywać tablic jako parametrów funkcji - teraz trzeba podać odniesienie do tablicy (referencja, nie wskaźnik):

było:

Kod: Zaznacz cały

int mojaFunkcja(int tablica[]);
jest:

Kod: Zaznacz cały

int mojaFunkcja(int& tablica[]);
To jest akurat proste do poprawienia. Gorzej jak jest to związane z oprogramowaniem stron trzecich, np. z dll który przestał działać prawidłowo bo zmieniona składnia nie pozwala w żaden sposób podstawić tablicy stringów i nie da się skompilować kodu...

Wygląda na to, że czas zapoznać się ze zmianami oraz z MQL5 bo jak znam życie nowy Edytor pojawi się wkrótce w nowych wersjach, a Metaquotes szybko będzie zamykał obsługę starszych żeby zmusić wszystkich do przesiadki.

Jak do tej pory omijałem MQL5 ze względu na bezsensowne dla nas ograniczenia platformy (FIFO), brak testera oraz... brak prawdziwej potrzeby.
Ale teraz wygląda na to, że pojawiła się ta potrzeba :wink:

Są tez i dobre strony: można wreszcie używać struct{} !Brwoo!
Ile ja się namęczyłem z wielowymiarowymi tabelkami żeby tylko przechowywać rekordy zawierające szczegóły poszczególnych zleceń...

Działania logiczne typu:

Kod: Zaznacz cały

if(OrderSymbol()==Symbol()&&cmd==OrderType()&&MagicNumber==OrderMagicNumber()&&iMA(Symbol(),Period()....))
są (jak twiedzą) sprawdzane do pierwszego przypadku wykluczającego całą resztą. Do tej pory MQL wykonywał wszystkie te operacje i dopiero na końcu sprawdzał całkowity wynik. Na czym można było stracić sporo czasu mieląc niepotrzebnie warunki (szczególnie gdy były w nich "cięższe" kawałki jak wskaźniki czy np. logarytmy) gdy np. pierwszy załatwiał już wszystko. Kto spędził tygodnie na optymalizacjach w poszukiwaniu parametrów ten wie o czym piszę :wink:

No i teoretycznie można poszaleć w języku obiektowym.
Jest tylko jedno ale: jak tak patrzę na większość tego co u siebie mam to zupełnie nie widzę takiej potrzeby...

Jeżeli ktoś myśli, że żeby zarabiać trzeba napisać AI czy jak to niektórzy nazywają to muszę rozczarować, wystarczą bardzo podstawowe rzeczy:
http://www.forexlive.com/blog/2013/08/2 ... ly-simple/
Ale tutaj liczy się to, na co detalista nie ma szans z MQL czy bez :wink:

EDIT: z tym że o ile nowy Edytor jest już dostępny i można w nim kompilować to jak przenoszę wynikowy .ex4 do terminala 509 to go automatycznie kasuje przy starcie...
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

wtorek 27 sie 2013, 23:20

Nieco więcej informacji o zmianach:
The beta version of IDE common to MetaTrader 4/MQL4 and MetaTrader 5/MQL5 is attached below. This is a preliminary version for everyone's information.

Differences from the old MQL4 version:

Changed the priority of AND/OR logical operations. Now, everything is similar to the standard C/C++

Introduced shortened evaluation of logical expressions. Now, when a logical expression is evaluated before reaching its end, the remaining subsequent expressions are not evaluated, like in C/C++.

Only integer values are now used in switch operator. Real values could have been used before

A dot symbol cannot be used in variable names any more. Also, '@', '$' and '?' symbols cannot be used in variable names

Tightened requirements for start function. Parameters could have been set in start function before. Now, all init, start, deinit, OnInit, OnStart, OnTick, OnTimer and other entry points should exactly match their signatures

Due to expansion of keywords, such names as short, long, float, const, virtual, input, delete, new, do, char cannot be used now

Now, imported dll functions cannot accept MQL string arrays as a parameter, like in MQL5
Introduced predefined _Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed variable names that may come into conflict with simple variables declared under the same names in existing source files

datetime type has become an 8-byte one, like in MQL5.

The differences are not critical and can be easily corrected in the code. In return, we access multiple MQL5 features, improved execution speed and much more strict quality control.
http://www.mql5.com/en/forum/13655
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
m05
Gaduła
Posty: 449
Rejestracja: niedziela 11 sie 2013, 09:58
Lat na Forex: 7
Lokalizacja: exPRL
Kontakt:

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

środa 28 sie 2013, 07:30

Na grupie dyskusyjnej trafne spostrzeżenie:
Unlikely that it would break the legacy MT4 code. The only reason why MT5 failed to be successful is exactly the problem of not being backward compatible with MT4. This is why Metaquotes revisits MT4 trying to save their position. Breaking legacy MT4 would be the same error like developing MT5, IMHO they learned their lesson a hard way.

Kind regards,
Michal
A poza tym, uważam za "nonszalancję władzy" fakt, że zmieniając zasady, nie daje się narzędzia do automatycznego przekładu dla zachowania zgodności wstecznej. Ktoś, kto zapłacił za kod i ten mu nie będzie działać, musi zlecić i zapłacić za zmianę ponownie. I co? Wystąpić do MQ o zwrot nakładów? MQ napisze w EULA, ze bierzesz program "jak jest" i można nagwizdać. Jedyna szansa, ze brokerzy są w stanie cos wymusić od MQ, bo to oni stracą źródełko płynności i pewnie i połowa użytkowników dotychczasowych MT4 się wyłączy. Przynajmniej na jakiś czas.
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.Obrazek

Awatar użytkownika
esco
Gaduła
Posty: 294
Rejestracja: czwartek 08 mar 2012, 21:29

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

środa 28 sie 2013, 08:47

Zamiast opracować podstawowe funkcje do operacji na danych i dać wszystko w dll tworzą jakieś dziwne nakładki (MQL).
Od dawna już istnieją języki w których można by zrobić wszystko dużo prościej i wygodniej.

Tak jak już ktoś wspomniał wcześniej chodzi o kontrole i "socjalizacje" rynku.
"Anyone who believes in indefinite growth in anything physical, on
a physically finite planet, is either mad - or an economist." - Kenneth Ewart Boulding

Awatar użytkownika
m05
Gaduła
Posty: 449
Rejestracja: niedziela 11 sie 2013, 09:58
Lat na Forex: 7
Lokalizacja: exPRL
Kontakt:

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

środa 28 sie 2013, 08:55

Nasz dyskusja niewiele wniesie. Proponuję powielać to tu:
http://www.mql5.com/en/forum/13655#comment_585290
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.Obrazek

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

środa 28 sie 2013, 09:09

Otworzyłem ten wątek po to żeby można było łatwiej w przyszłości przenieść kod do MQL4.5 - łatwiej się uczyć na konkretnych przypadkach.

Na razie nadziałem się na rzeczy o których napisałem.
Jak trafię na coś nowego to podrzucę.
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
esco
Gaduła
Posty: 294
Rejestracja: czwartek 08 mar 2012, 21:29

Re: Zaczyna się - MQL 4.5 nadchodzi wielkimi krokami

środa 28 sie 2013, 22:17

http://www.mql5.com/en/articles/24#storage
Every registered MQL5.community user is given the opportunity to securely store MQL5 programs source codes on a remote server absolutely for free.
"Anyone who believes in indefinite growth in anything physical, on
a physically finite planet, is either mad - or an economist." - Kenneth Ewart Boulding

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości