
Új MT4 verzió jelent meg 2016. augusztus 18-án csütörtökön – az 1010-es. Ez a kiadás kifejezetten technikai jellegű javításokat, valamint a programozókat érintő fejlesztéseket tartalmaz.
Változások az 1010-es build változatban
- Terminál: Az MQL4 alkalmazások nem voltak futtathatóak 32 bites Windows 10 build 1607 alatt – javítva.
- Terminál: Javítva a Keresés és Chat gombok alkalmankénti hibás megjelenítése.
- Terminál: Javítva a demó számla nyitásakor alkalmanként duplán megkapott üdvözlőüzenet.
- MQL4: Új ‘void *’ pointerek érhetőek el objektumok absztrakt gyűjteményének létrehozásához. Bármilyen osztály bármilyen objektumának pointere elmenthető egy ilyen típusú változóba. Javasolt a dynamic_cast<osztály neve *>(void * pointer) operátor használata típusváltáshoz. Amikor a konverzió nem lehetséges, a visszatérési érték NULL.
class CFoo { }; class CBar { }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { void *vptr[2]; vptr[0]=new CFoo(); vptr[1]=new CBar(); //--- for(int i=0;i<ArraySize(vptr);i++) { if(dynamic_cast<CFoo *>(vptr[i])!=NULL) Print("CFoo * object at index ",i); if(dynamic_cast<CBar *>(vptr[i])!=NULL) Print("CBar * object at index ",i); } CFoo *fptr=vptr[1]; // Will return an error while casting pointers, vptr[1] is not an object of CFoo } //+------------------------------------------------------------------+
- MQL4: Támogatás a stringek [] operátorához. Az operátor lehetővé teszi egy karakter kódjának kinyerését egy stringből annak indexe alapján. Amennyiben a megadott index kívül esik a stringen, a visszatérési érték nulla.
string text="Hello"; ushort symb=text[0]; // Visszaadja a 'H' karakter kódját
- MQL4: A CopyXXX eljárás – mely a visszamenőleges és tick adatokat másolja – gyorsabb lett.
- MQL4: Javítva lett az előtag alapján történő többszörös objektum törlés a ObjectDeleteAll függvény kapcsán. A frissítés előtt a megmaradt grafikus objektumok megjelenése rossz sorrendben történhetett meg.
- MQL4: Javítva a grafikus objektumok alkalmankénti hibás sorrendben történő megjelenítése idősíkváltás után.
- Virtuális szerver: Terminál szinkronizáláskor a robot nélküli chartok ki lesznek hagyva – még akkor is, ha egyéni indikátorok vannak csatolva ezekre a chartokra. Amennyiben egyéni indikátor költöztetését szeretnéd megoldani, akkor helyezz fel egy “üres” robotot a chartra, amely nem végez semmilyen műveletet. Egy ilyen robot létrehozása könnyű a MetaEditorban az MQL4 Wizard (MQL4 varázsló) segítségével. Ez a frissítés biztosítja azt, hogy az indikátorok szánt szándékkal kerüljenek frissítésre.
- Virtuális szerver: most már azok a robotok és egyéni indikátorok is szinkronizálhatóak, amelyek fájlnevei nem latin karaktereket (pl. cirill vagy kínai) tartalmaznak.
- Javított hibák a fórumbejegyzések és hibanaplók alapján.
Radu megjegyzései az új változat kapcsán
- Ha szeretnél visszaállni a régebbi, 988-as build változatra, olvasd el ezt a cikkemet!
Szevasz Ati! Az imént regisztráltam magam egyrészt azért, hogy kifejezzem elismerésem, amit itt blog formában teljesítettél, másodsorban kérdésem lenne az új update végett, hogy nekem mi a tapsztalatod…?
Én számos robotot és indikátort készítettem mql4-ben (keveset mql5-ben), viszont ez az update most kifogott rajtam, mivel alig van dokumentació és esettanulmány a neten, viszont az expertjeim és indikátoraim csak részben működnek…
Gyanítom, hogy a Copy* körül lehet a gond, mert azt előszeretettel szoktam alkalmazni, de semmit nem dokumentálnak, hogy esetleg változtattak volna valamit a szintaktikán…
Mi a tapasztalatod?
Köszönettel:
Róbert Zoltán
Aki teheti, utasítsa el ezt a frissítést, mivel nem található még részletes leírás egyes parancsok módosításáról! (Hibátlan program a frissítés előtt működött, utána meg hibás eredményeket számol… no comment!)
Kedves Zoli!
Köszönöm szépen visszajelzésed, örülök ha tetszik a blog! Az új frissítéssel kapcsolatban egyelőre smemilyen kirívó negatív tapasztalatom nincsen. a Copy* eljárásokat nemigen használom, így ezzel kapcsolatban nem tudok nyilatkozni. A bejelentésben szó van arról, hogy “gyorsítottak” az eljáráson, bármit is jelentsen ez :) Csak ennek az eljárásnak a kapcsán tapasztalsz furcsaságokat? A szintaktika biztosan helyes? Itt tudod ellenőrizni.
Helló Ati!
Köszi a visszajelzésed! A linket köszi, de nem tudom megnézni valami oknál fogva…
Pontosan nem tudom megmondani, hogy a Copy*-e a ludas, de annyi biztos, a downgrade után működik nálam minden, az update után viszont haszálhatatlan volt, amit csinált… holott szigorún strict alapján írom a programokat… nem értem…
Bocsi, elírtam a linket. Ha most ráfrissítesz az oldalra, akkor már jó lesz a link ;)
Figyelj arra is, hogy létezik CopyRates és ArrayCopyRates nevű függvény is – nézd meg mindkettőt, lehet hogy itt lesz a kutya elásva.
Az ArrayCopyRates-nek ráadásul két szintaxisa is van!