Ahogyan azt korábban már itt a blogon is olvashattátok, 2013. augusztus 1-től megszűnik az 500-as buildnél régebbi MT4 terminálok támogatása. Ez a gyakorlatban azt jelenti, hogy a robotok és a kézi kereskedés sem fog működni addig az érintett terminálokon, ameddig nem történik meg a kötelező frissítés. Sőt, néhol a számlára való bejelentkezés is gondot okozhat, vagy még rosszabb: minden jónak néz ki, csak a robotok nem tudnak dolgozni a háttérben. Amennyiben egy vagy több kötés, zárás nem következik be a korábban várt (és addig jól teljesülő) szituációkban, erősen javaslom a terminál verziószámának felülvizsgálatát.
Olvass tovább, amennyiben szükséged van pár alapvető infóra az ellenőrzéssel-frissítéssel kapcsolatban!
Hogyan tudom megnézni a terminál ún. build verziószámát?
Részletesen leírtam ebben a bejegyzésben.
482 vagy újabb terminálok frissítése
A frissítés a 482-es változattól kezdve automatikusan megtörténik, csak újra kell indítani a terminált. Az újraindítás végzi el a frissítést a korábban letöltött fájlok segítségével, azaz az indítás után a program azonnal kilép, majd újraindul. Ez normális, nem kell megijedni.
482 előtti terminálok frissítése
Ebben az esetben lényegesen nehezebb helyzetbe kerülhetünk, mert tapasztalatom szerint az automatikus LiveUpdate funkció sem működik. Itt csak a terminál újratelepítése segít! Javaslom a külön könyvtárba telepítést, majd az expertek, indikátorok, stb. fájlok és könyvtárak átmásolását az új terminálba.
500 vagy annál újabb terminálok frissítése
Ebben az esetben nem kell tenned semmit – maximum gyakrabban indítsd újra a terminálodat, hogy a folyamatosan érkező frissítésekről ne maradj le!
Amennyiben valaki problémába ütközik, az akár itt a fórumban is kérhet segítséget.
Hát nekem van bajom bőven mostanában az új terminállal. Az egyik legégetőbb, (1.) hogy az általam írt expertnek nem tudom kezelni a beállításait. Nevezetesen nyomok egy F7-et, és az Általános fül megjelenik de a Beállítások (extern változók) fül NEM!
Más experteknél nincs ilyen probléma, ill. korábban tökéletesen működött.
(2.) Egy másik, hogy miután frissült (LiveUpdate) a terminál (mert kézzel újraindítottam) – és a frissítés után automatikusan újra indult – a korábban megnyitott chart-ok javát nem nyitotta újra. Pl. nálam három instrumentumon futott az expert EURUSD, EURGBP, GBPUSD. Ezek közül csak az EURUSD-t indult újra, a többi nem, ill. voltak még nyitva egyéb chartok is (össz. kb.10 db) de azok küzül is csak kettő „indult újra”. Na ekkor megint bezártam, újra indít, és helyre állt a rend. Ez azért gáz, mert éppen most ügyködöm rajta , hogy a gépem újraindulása esetén induljon a Meta is. De ha ez után a fenti lépéssor megy végbe, akkor manage nélkül mardnak a megnyitott pozícióim és ezt még egy VPS szerverrel se tudnám kivédeni. (Ill. ez nem teljesen igaz mert az remélhetőleg nem indul újra csak úgy magától, és ha már én kezdeményezem a történéseket, akkor csak figyelem rendben el indul-e.)
(3.) A margin >kijelzés< néha totál hülyén működik.
Azaz a nyitott pozíciók ellenére a Margin szintem megyegyezik az Equity-vel és a szabad margin százalék kijelzés eltűnik. Amit még nem tudok, hogy vajon csak a kijelzés tűnik-e el vagy a Meta is rossz adatokat szolgáltat az expertnek, mert ha ez utóbbi akkor (nagyon gáz, hogy) az EA-m olyan méretű pozíciókat nyit majd amilyet nem szeretnék.
Amúgy a Metát egy virtuális gépen futtatom Win7 op. rendszeren és RDP-vel érem el a gépet. ( de RDP nélkül is ugyanezek a problémáim.)
(1) Azt javaslom, hogy fordítsd újra a robotodat egy korábbi metalang.exe segítségével. Ez talán megoldja a problémádat. Ilyesmit én korábban csak akkor tapasztaltam, ha újabb metalang.exe -vel fordítottam le egy programot, és azt egy korábbi verziójú MT4-ben használtam.
(2) Ezt a GYIK-et olvasd el.
(3) Ilyet még nem tapasztaltam, de ha küldenél róla screenshotot akkor én is tanulnék valamit!:)
Üdv újra. Nos az elmúlt időszakban együttéltem a fentebbi bejegyzésemben (1.)-el jelölt problémával, nevezetesen nem tudtam előcsalogatni az expertem tulajdonság lapjának (F7 billentyű) >Bemenő adatok< fülét, mert egész egyszerűen "megszűnt létezni". Jobb híján a kódban változtattam a paramétereket, viszont így Tester-rel optimalizálni lehetetlen.
Próbáltam másik metalang.exe-vel fordítani az EA-t de nem segített. A mai napon viszont "véletlenül" belenyúltam a megoldásba.
Nevezetesen észrevettem, hogy a főprogramomba #include-al beszúrt egyik mqh file-ra igazából nincs szükségem.
És voila, miután töröltem a sort a főprogramból helyreállt a rend!
Az történt ugyanis, hogy ezt a file-t (a legeslegelső fórumszálban említett sysmbolslib.mq4-et) a netről szereztem be. De nem letöltöttem, hanem kimásoltam a forráskódot és mq4 helyett mqh kiterjesztéssel mentettem el. Na most ez a forráskód tartalmaz egy #property library bejegyzést, tehát programkönyvtárként van megjelölve és emiatt (ahogy utánna olvastam) mq4 kiterjesztéssel kell menteni. Kipróbáltam azt is, hogy kitörlöm ezt a sort a nevezett fájlból, és ez szintén megszüntette az alapproblémámat.
(megj: Arról amúgy fogalmam sincs miért lenne jó egy sima #include-dal beszúrt mqh fájl helyett ilyen library-t használni. Már csak azért sem amikor az a sor (#property library) szerepelt a programomban akkor a compiler a fordításkor nem hagyta ki a használaton kívüli függvényeket, pedig alapesetben ezt megteszi.
A "MetaTrader-könyv" (https://www.radu.hu/mql4-hu/metaeditor/files.html) is azt írja, hogy inkább ne használjuk.)
Örülök, hogy rájöttél a megoldásra! A librarynak az a lényege, hogy nem forráskódon keresztül használod a függvényeket – mint az include-ok esetén – hanem lefordított fájlokból. Így pl. kiadhatod egy-egy eljárásgyűjteményedet anélkül, hogy valaki a forráskódot is megkapná mellé automatikusan.
Nyilván a visszafejtést itt is meg lehet oldani, szóval semmi sem tökéletes!
Amúgy az 509-es build fut jelenleg. Képeket tudok valahogy ide tűzni bizonyíték képpen?
Képfeltöltésem sajna nincs, de a fórumban be tudsz szúrni URL alapján képet, ha előtte feltöltöd valami szolgáltatóhoz. Hozz létre nyugodtan egy témát az Egyéb kategóriába!
Az e-mailben folytatott beszélgetésünk alapján a marginod azért nulla, mert a BUY pozícióiddal szemben egyenlő mennyiségű SELL pozíciód van, és a brókercéged kondíciói alapján ez nulla margint eredményez.
Amennyiben az egyenlőség nem áll fenn, a marginod értéke a két oldal közötti különbség marginja lesz.
Szia Radu
482 verziószámú MT4-em nem frissül „magától” és tőlem sem. Üres a live update könyvtára!! Lehet vele kezdeni valamit, vagy telepítsem újar?
Köszi.
Köszi már megy, letelepítettem az 509-est az alpari szerverről, és egészen egyszerű volt.
Szuper! :)