Hozzászólások
-
SzerzőBejegyzés
-
A Fájl – Beállítások – MT4 beállítások panelen az MT4 Data folder melletti kiválasztás gombot nyomd meg. Ott a felugró ablakban kiválasztható lesz az AppData és a telepítési könyvtár is. Ez az, amit keresel.
Mindemellett a /portable kapcsolót is meg kell adnod a „rakétaindító állvány” mezőben :)
A /portable kapcsolót add meg a „rakétaindító állvány” szövegdobozba. (Ez valójában Launcher akar lenni, csak félrefordították).
Ezáltal a MT4 nem az AppData-ba helyezi a munkakönyvtárt, hanem a telepítési könyvtárba.
Arra is figyelj, hogy Tickstory-ban az MT4 beállításoknál ne az AppData-s könyvtár legyen exportálásnál kijelölve, mert a fájlokat is rakhatja oda.
Hozzászólás: Backteszt SSD-n #4201Elképzelhető. Az SSD-n teljesen biztos, hogy gyorsabbnak kell lennie a teszteknek.
Hozzászólás: Backteszt SSD-n #4170Két megoldás van:
1) Egy terminálra vonatkozó
Az adott terminal.exe -t a /portable kapcsolóval indítsd! Ekkor a telepítési könyvtár lesz a rendszermappa, és az onnan nyíló almappákban (MQL4, tester, stb.) dolgozhatsz.Módosítsd a parancsikont, hogy elkerüld a véletlen /portable nélküli indítást – abban az esetben ugyanis az történik, amit írtál (AppData-s könyvtárban lesz a Rendszermappa).
2) Minden terminálra vonatkozó
Kikapcsolhatod a Windowsban a Felhasználói Fiókok Felügyelete nevű funkciót. Ha ezt megteszed, akkor a MT4 nem fog többet az AppData könyvtárba dolgozni – ehelyett mindig a telepítési könyvtár lesz a Rendszermappa.Vigyázz, mert egy ilyen módosítás után a meglévő MT4-ek munkakönyvtárai is megváltoznak.
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4166Bezárást tudsz intézni EA-ból: MetaTrader4 terminál bezárása a TerminalClose() függvény segítségével.
Méghozzá a következőképpen:
- van egye a szokásos beállítás (mezei ini fájlok a programkönyvtárban) illetve a speciális (általad létrehozott ini fájl)
- a „szokásos” beállításban valami nagyon egyszerű, de ritkán használt tulajdonságot beállítanék a MT4-ben
- az expert – amit fel tudsz ugye helyeztetni ini-ből egy chartra – ellenőrizné ezt a beállítást; ha megegyezik a központi ini beállításával, akkor TerminalClose(), ha nem akkor nem csinál semmit.
Beállítás alatt pl. chart színre, profilra, stb. gondolok – ezeket az új MT4 nyelvben lekérdezhetővé tették. Légy kreatív, szerintem megoldható a dolog. Nyilván egyfajta patkolás, de mégis menni fog.
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4152Köszi a választ. Magyarul az ini fájlt egy másik expertből írod, és ezzel indítja az az expert az MT4-et – gondolom többször, egymás után. A frissítés ebbe kavar be.
Talán a frissítéskor elhasaló példányt kellene újra elindítani, elvégre az hogy frissített ezt a funkciót – mármint az iniből indítást – nem érinti. Magát az ini fájlodat pedig nem hiszem hogy törli, vagy mégis?
Egyelőre nincsen további ötletem ezzel kapcsolatban, sajnálom.
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4150Már többször kérdeztem, de mindig másról írtál: mi a végcélja ennek az egyéni ini -s indításnak? Miért nem lehet ezeket a beállításokat a megszokott – saját helyükön lévő – ini fájlokkal vezérelni? Nem tiszta, hogy mi ennek az egész problémának az eredője.
Hozzászólás: String globális változó? #4148Egyszer asszem nézegettem, de nem alkalmaztam – nem emlékszem már, miért. Van MQL4/MQL5 lib is belőle a Codebase-n, nézz körbe arrafelé!
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4146A WebInstall helyét tudod, a törlést meg tudod oldani rekurzív könyvtárkereséssel és törléssel. Rendszergazdaként rögzíts egy feladatot a Feladatütemezőben! Ilyet még én sem csináltam, de szerintem a Google ebben is a segítségedre lehet.
Egyébként hol van ez a gép? Mi a cél? Már csak hogy értsem, miért és milyen felhasználókat kell korlátozni:)
Hozzászólás: String globális változó? #4145A több idősíkra történő elkülönített GV adatmentést én úgy szoktam megoldani, hogy külön hozok létre a magic számokon belül idősík-adatokat: pl. ha a robot neve ‘robot’, akkor a következő gv neveket adom:
- _robot_EURUSD_90_M1_
- _robot_EURUSD_90_M5_
- _robot_EURUSD_90_M15_
- _robot_EURUSD_90_M30_
- stb.
A robot a robotneve, az EURUSD az instrumentum, a 90 a magic szám.
Ezen felül még odafigyelek arra is, hogy egy plusz _t szövegrészt adok hozzá a GV névhez akkor, ha IsTesting módban vagyunk. A neveket az OnInit() eljárásban gyártom le, szuperglobális stringekben tárolom és természetesen – amennyiben backtesztről van szó – OnDeInit() -ben törlöm az érintett GV-ket.
String adatok tárolását ezen túlmenően régen szintén GV-vel, mostanában ezzel oldom meg. MQL5-re készült, de minimális (tényleg!) munkával MQL4 alatt is csodálatosan működik.
A ‘régen gv-ben tároltam a stringeket’ alatt arra gondolok, hogy a globális változó nevében gyakorlatilag kis túlzással bármilyen karakter előfordulhat. Definiáltam egy alap sablont, amire lehet matchelni a ciklusos ellenőrzéssel, utána pedig had’ szóljon. Például: a feladat az volt, hogy egy fő instrumentumon futtatott robot további instrumentumokon kössön pozíciót. A bevont alinstrumentumok nevei folyamatosan változtak, azokat muszáj volt GV-ben tárolni. Így az alap változónév – a fenti példa alapján – _robot_EURUSD_90_pozicio_ volt, az adatokat így tároltam:
_robot_EURUSD_90_pozicio_EURUSD_
_robot_EURUSD_90_pozicio_GBPUSD_
_robot_EURUSD_90_pozicio_EURJPY_A GV-k értékeiben további hasznos double adatot lehetett tárolni. Volt, hogy oda raktam pl. az érintett robot magic számát, hogy még egyszerűsítsek a keresésen.
Ez utóbbi helyett ma már az INI megoldást választanám.
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4129Köszönöm a részletes választ!
Nekem van 6 hibajegyem, amire tavaly június óta nem sikerült választ adniuk. Sajnos azt kell mondjam: reménytelenek. Csak a „mainstream” hibákkal foglalkoznak, azokkal is minimális hatásfokkal.
Én abba az irányba indulnék el, amit már te is írtál: Feladatütemezőből rendszeresen futtatott WebInstall törlés.
A frissítésre történő figyelmeztetés az milyen formában jön elő? Felugró ablak, vagy mi?
Egyébként ezt az ini fájlt nem tudod az eredeti helyére rakni? Az nem megfelelő megoldás?
Hozzászólás: terminal .exe meghívása .ini vel és a "/skipupdate" #4126Sajnos nem biztos, hogy ezt a problémát át tudod majd hidalni.
Amúgy a saját ini fájlt az melyik meglévő ini fájlra alapozva hoztad létre? Mi célból? Gondolom könnyebb így pár direktívát irányítani.
Had’ tanuljak én is :)
Hozzászólás: Invalid EX4 file (8) #4124Tomyder, köszönöm a hozzászólást a többiek nevében is. Szívatós hiba, magam is futottam már bele hasonlóba :)
A fordítóval valóban kevés gond van – legalábbis ilyen szempontból.
Még egy javaslat: az egysoros – {} jelek nélküli – if -ek alkalmazását egyébként én mindig kerülöm; ha valaha bővítem az if-en belüli részt, akkor máris kész a baleset :)
Hozzászólás: BringToTop #4101Nekem működik a kód. Igaz, nem vártam meg, míg jelet ad az Ichimoku, hanem kikényszerítettem a DoAlerts eljárást.
Egyébként még mindig nem válaszoltál, hogy a DoAlerts lefut egyáltalán? Felugrik az Alerts ablak?
Hozzászólás: Tickstory Lite #4100Szia Csaba!
Mindenképpen az Export to files lehetőséget választva egymás után végezd az exportálást. A letöltés csak első alkalommal történik meg, a TSL odafigyel a saját adatbázisára, és nem fog 5x letölteni valamit, ha 5x generálsz belőle.
Igazából rá is vagy utalva erre, mert más módon nem tudsz eljárni.
-
SzerzőBejegyzés