Az új, 600-as MT4 kiadás temérdek újdonság és hasznos funkció mellett pár komoly változást is tartogat, amely nem sajnos nem mindig könnyíti meg a felhasználók dolgát.

A legfontosabb ilyen változás, hogy a MT4 fájlstruktúrája megváltozott – azaz a robotokat, indikátorokat és szkripteket nem arra a helyre kell bemásolni, ahova az elmúlt majdnem 10 évben.

A nélkülözhetetlen infókhoz olvassatok tovább!

A 600-as kiadás újdonságait egyébként ebben a korábbi cikkemben találhatjátok meg (akkor még 574-es kiadásként emlegették, ez ne tévesszen meg senkit).

600-as verziónál régebbi állapot

Az eddigi fájlstruktúra nem volt túlbonyolítva: alapvetően a telepítési könyvtáron (például: C:\Program Files\Metatrader\) belül az experts könyvtárból nyílt minden további könyvtár, amely az indikátorok, szkriptek, stb. elhelyezésére volt alkalmas. Ebbe maximum a Windows Felhasználói Fiókok Felügyelete nevű funkciója szólhatott bele.

545-ös vagy annál újabb állapot (új MQL4 struktúra)

Az új MT4 változatokban bemutatkozik az úgynevezett rendszermappa. A rendszermappa az a mappa, amelybe a Metatrader alap esetben dolgozik. Ebben a könyvtárban található meg az összes olyan további könyvtár, amelyben a Metatrader különböző fájlokat tárol a működéshez, illetve ebből nyílik az MQL4 könyvtár is, amelyben a saját robotjaink, indikátoraink, stb. vannak.

Nagyon fontos: a rendszermappát a Metatrader4 kliens terminálon belül a Fájl menü Rendszermappa megnyitása sorának kiválasztásával tudjuk megkeresni.

Rendszermappa

Rendszermappa

A felugró ablakban meg tudjuk nézni, hogy fájlszinten pontosan hol helyezkedik el ez a könyvtár. Két lehetőség van:

  • a C:\Users\{Felhasználónév}\AppData\Roaming\MetaQuotes\Terminal\ könyvtáron belül egy értelmetlennek tűnő karaktersorozattal elnevezett alkönyvtárról lehet szó, vagy
  • a MT4 telepítési könyvtára maga a rendszermappa.
A rendszermappa elérési útja fájlszinten

A rendszermappa elérési útja fájlszinten

Az első változat akkor lesz igaz, ha a Windowsban a Felhasználói Fiókok Felügyelete (UAC) funkció engedélyezve van. Ebben az esetben a MT4-gyel való munka során keletkező fájlok teljesen más helyen lesznek, mint a MT4 telepítési könyvtára. A funkció lényege, hogy magát a MT4 telepítést a Windows megóvja attól, hogy az sérüljön.

Mi is ez a Felhasználói Fiókok Felügyelete (UAC) funkció?

Azt gondolod, soha nem hallottál róla? Tapasztalni már biztosan tapasztaltad – legtöbbször elsötétülő háttér előtt kérdez valamit a biztonságodra ügyelő Windows.

Idézet a Microsoft honlapjáról:

A Felhasználói fiókok felügyelete elősegíti a számítógép védelmét a támadókkal és a kártékony szoftverekkel szemben. Minden alkalommal, amikor egy program nagyobb módosítást kísérel meg végrehajtani a számítógépén, a Felhasználói fiókok felügyelete értesítést jelenít meg erről, és a felhasználó beleegyezését kéri.

Amennyiben az UAC funkció ki van kapcsolva, vagy a Metatrader4 terminált a /portable kapcsolóval indítottuk, a MT4 munkafájljait a telepítési könyvtárból nyíló további könyvtárakon belül találjuk majd meg.

Nekünk leginkább az MQL4 könyvtár a legfontosabb, hiszen a jövőben majd ide kell bemásolnunk az experteket, indikátorokat, szkripteket és egyebeket. Amennyiben korábbi MT4 telepítésünket frissítettük, az MT4 a frissítés folyamán automatikusan átmásolja nekünk a fájljainkat, így ezzel (elvileg) további teendőnk nincs. Új MT4 telepítések illetve a jövőben bemásolni kívánt alkalmazások esetén azonban a rendszermappából nyíló MQL4 könyvtárra lesz szükségünk.

Az MQL4 mappa felépítése

Az új MQL4 verzióban a fájlstruktúra megváltozott (bár nagyon hasonló a régi felépítéshez). Az egyes alkönyvtárak célja a következő:

  • \Experts – expert advisorok (kereskedőrobotok),
  • \Indicators – egyéni indikátorok,
  • \Scripts – szkriptek (egyszeri futtatásra szánt MQL4 alkalmazások),
  • \Include – forráskódot tartalmazó MQH és MQ4 fájlok, amelyeket más programok hívnak meg,
  • \Libraries – függvénykönyvtárak MQ4 formátumban és belőlük fordított EX4 binárisok,
  • \Images – képek, melyeket erőforrásként lehet használni,
  • \Files – az MQL4 alkalmazások fájlműveleteket kizárólag ide végezhetnek.

Fontos, hogy MQL4 mappából a telepítési könyvtáron belül is van egy – ennek a könyvtárnak kizárólag akkor van jelentősége, ha az UAC ki van kapcsolva vagy ha a /portable módban indítottuk a Metatradert. Ezutóbbi mód a hordozható módot jelenti, vagyis célja pont az, hogy egy adott könyvtáron belül legyen minden fájlunk, amely a működéshez, használathoz szükséges. Ez akkor lehet hasznos, ha pl. USB pendriveról futtatjuk a MT4 terminálunkat, és gépről gépre hordozzuk azt.

Amennyiben robotunk vagy indikátorunk nem jelenik meg a Navigátorban, akkor érdemes még egyszer végigellenőrizni a folyamatot. Egy kis ismétlés: MT4-en belül Fájl menü, azon belül pedig Rendszermappa megnyitása. Mindenképpen ezen a könyvtáron belül nézelődjünk!

Egy életszerű példa

  • Rendszer: Windows 7
  • Windows felhasználónév: Miklós
  • Felhasználói Fiókok Felügyelete: bekapcsolva (alapból az összes érintett Windowsban)
  • MT4 telepítési könyvtára (Miklós ezt adja meg a telepítőnek): C:\Program Files\Metatrader – Alpari UK\

A telepítés befejeztével ha Miklós rányom a Fájl menün belüli Rendszermappa megnyitására, akkor a felugró ablak igazi fájlszintű elérési útja a következő:

C:\Felhasználók\Miklós\AppData\Roaming\MetaQuotes\Terminal\21F51C3F7CC841659E9A8C39394DD381

A „Felhasználók” helyett – amennyiben például Total Commandert használunk – „Users” jelenik meg.

Az AppData könyvtár egyébként alapból rejtett, ezért az Miklós felhasználói könyvtárában alapértelmezésként nem jelenik meg.

Alternatív mód a rendszermappa megkeresésére

Ez a bekezdés gyakorlottabb felhasználóknak szól.

A rendszermappát természetesen meg lehet keresni más módon is:

  1. ellenőrizzük, hogy Windows rendszerünkön (Server 2008, Vista, 7 vagy újabb; Windows XP alatt biztosan nincs ilyen funkció) be van-e kapcsolva a Felhasználói Fiókok Felügyelete. Ezt a Vezérlőpult / Rendszer és biztonság / Felhasználói fiókok felügyelete beállításainak módosítása lapon tekinthetjük meg.
  2. amennyiben a Felhasználói Fiókok Felügyelete be van kapcsolva, a könyvtár a C:\Felhasználók\{Felhasználónév}\AppData\Roaming\MetaQuotes\Terminal\ könyvtáron belül, a telepítésünkhöz tartozó karaktersorral elnevezett könyvtárban lesz. Az origin.txt fájl segítséget ad ahhoz, hogy megállapíthassuk hogy mely telepítéshez kapcsolódik az adott könyvtár.
  3. amennyiben a Felhasználói Fiókok Felügyelete ki van kapcsolva, vagy a /portable kapcsolóval indítottuk a MT4-et, akkor a rendszermappa – ahogyan az eddigi változatokban is – maga a telepítési gyökérkönyvtár. Az egyetlen változás az, hogy minden expert, indikátor, szkript, stb. az MQL4 könyvtárból nyílik.

Futni fognak a régi expertjeim, indikátoraim az új változatokban?

A MetaQuotes ígérete szerint igen, azonban egyértelmű, hogy lesznek kompatibilitási problémák. Néhány multi idősíkos (amennyiben önmagát hívja meg) indikátor egyáltalán nem fog működni, és az expertek terén is várhatóak furcsaságok, (remélhetőleg) ideiglenes problémák.

A telepítővel rendelkező termékek esetén biztosan problémák adódhatnak, hiszen a telepítők maguktól nem fogják felismerni a fent részletezett könyvtárstruktúra-változásokat. Az biztos, hogy az mql4 programokban lévő relatív hivatkozások biztosan okozhatnak problémákat, ezért az abszolút hivatkozást érdemes alkalmazni.

A régi, már lefordított ex4 fájlok kis szerencsével használhatóak az új MT4-ekben.

Fordítsam újra azokat a programjaimat, amelyeknél rendelkezem a forráskóddal?

Próbálkozni lehet, de nem javaslom, hacsak nem muszáj. A „muszáj” akkor jöhet szóba, ha olyan hiba merül fel a korábbi fordítóval lefordított programmal, amelyet a MetaQuotes nem hajlandó javítani. Ekkor csak az új változattal történő fordítás segíthet, ilyenkor azonban újabb problémák merülhetnek fel. Ezért javaslom az mq4 fájlok külön tárolását a munkakönyvtáraktól, hogy véletlenül se fordulhassanak le az új változatban.

Amennyiben hasznos volt számodra ez a cikk, kérlek oszd meg ismerőseid között e-mailben vagy Facebookon, hiszen az itt taglalt információk sokakat érinthetnek!