Hozzászólások
-
SzerzőBejegyzés
-
Hozzászólás: Offline (renko) charton nem köt #3951
Igen, akkor ez a gond. Keress rá a RenkoLiveChartra, annak is a legfrissebb MQL4 nyelvhez való változatára. Az rendben működik.
Hozzászólás: Offline (renko) charton nem köt #3949Egyelőre ne kötni próbálj vele, csak írasd ki az Ask/Bid-et, valami „helló világ” szintűt illetve egy Close[0] -t.
Ha a renko chartra helyezés után a naplóban látod az üzeneteidet és visszakapod a legfrissebb Renko gyertya záróárát, akkor valamilyen stratégiai vagy programozási hiba lesz a robotban és nem a generált renko charttal van a baj.
Hozzászólás: Offline (renko) charton nem köt #3947Ha M3 az offline chart, akkor 3-at adj meg idősík paraméternek a különböző függvények esetében (iCustom, iHigh, stb.). Az idősík paraméter mindig az adott idősík percben megadott méretét jelöli.
Nekem ez így működött régen és működik most is.
Hozzászólás: Offline (renko) charton nem köt #3943A renko offline chartján mozog az ár, amikor a sima charton mozog ?
Hozzászólás: Számlák közti különbség #3934Az a kód, amit bemásoltál az EURUSD vagy EURUSD. chartra van csatolva? Ha a sima EURUSD-ra, akkor az EURUSD. instrumentumon próbálsz nyitni az EURUSD árával. Ez okozhat ilyen hibaüzenetet.
Felejtsd el a sima instrumentumokat, és mindig csak a pontra végződőeket használd ennél a brókernél.
A MODE_MINLOT -nál pedig ne stringet használj, hanem double -t.
Hozzászólás: Számlák közti különbség #3932Sokkal prózaibb az ok: az egyik instrumentum EURUSD, míg a másik EURUSD. (ponttal a végén). A sima EURUSD instrumentum nem kereskedhető, expertet sem futtathatsz rajta. Ennyi.
Az expert azért nem tud kereskedni, mert magán az instrumentumon nem lehet kötni egyáltalán.
Válaszd ki a helyes instrumentumot, ami gyakorlatilag mindkét esetben az EURUSD. nevű.
Hozzászólás: Tickstory Lite #3913Olvasd el a következő cikket: Mi az a rendszermappa és mire jó?.
Illetve a 600-as build környékéről szóló bejelentéseket keresd a blogon ezen tagen belül.
Hozzászólás: lezárt pozició profitjának lekérdezése #3909Két lehetőséged van:
- vagy eltárolod valamilyen módon (globális változóban pl.) az érintett pozíció(k) ticket számát, és az alapján kiválasztod a már lezárult pozíciót
- végignyálazod egy ciklussal az összes lezárt pozíciót a számlatörténetben, és dátum + idő (illetve más, általad meghatározott feltétel) alapján szűröd az érintett pozíciókat.
Illetve készíts egy záró eljárást, amivel már a zárás pillanatában vissza tudod kérni a lezárt profitot. Ötletet ezzel kapcsolatban itt olvashatsz.
Hozzászólás: Nyitott megbízás zárása időre #3904Első körben olvasd el ezt a cikket, mert az OrderTotal() -os for cikluson belüli zárást nem javaslom.
A feltételt pedig add meg így:
if (TimeCurrent() >= OrderOpenTime() + 1209600) { //zárás a cikkben leírtak alapján (tömbbel) }
Az általad megadott kód két héten belül próbál zárni állandóan, nem két hét múlva. Ezért kapod a 4108-as invalid ticket hibákat is.
Hozzászólás: Indikátor probléma #3899Bocs, ezzel a válasszal még adós maradtam.
A globális változókat ugyanúgy tudod használni minden MQL4 alkalmazásból. Ide kattintva meg tudod nézni a dokumentációban a globális változók kezeléséhez kapcsolódó függvénylistát.
Hozzászólás: bid-ask adatok visszamenőleges értékei #3898MT4-ben visszamenőlegesen kizárólag Bid árakat tudsz lekérdezni, és azt is csak gyertyaadat korlátozott formájában. Ez azt jelenti, hogy – hacsak nem gyűjtöd saját programmal – visszamenőlegesen legjobb esetben is csak M1-es gyertyaadatokat találsz majd a terminálban. A fő gyertyaadatok pedig: nyitó, záró, legmagasabb, legalacsonyabb ár. Az M1 a legkisebb idősík, ezért az a legrészletesebb adat, amit alapból ment a MT4.
Az, hogy egy-egy gyertyán belül milyen árfolyammozgás volt, nem kérdezhető le mivel azt sem a bróker, sem a terminál nem tárolja. Ezek az úgynevezett „tick-adatok”, amelyeket más forrásból bele lehet patkolni a MT4-be, de erre gyári megoldás egyáltalán nem létezik.
Ugyanez igaz a spreadekre is, hiszen az adott Bid árfolyamokhoz tartozó Ask árak sincsenek sehol mentve.
Amennyiben saját magad gyűjtöd be a Bid-Ask adatokat, abból később tudsz dolgozni. Nyilván ennek az a feltétele, hogy a begyűjtő program folyamatosan, hibák és hiányosságok nélkül mentse az adatokat. Ennek kialakítása nem megoldhatatlan, de rendkívül nyűgös.
Hozzászólás: Nyitott megbízás zárása időre #3872Az TimeCurrent() (aktuális brókeridő) és az OrderOpenTime() (pozíció nyitási időpontja) különbségét vizsgálod rendszeresen. Amennyiben a kettő különbsége nagyobb vagy egyenlő, mint 1209600 (14 nap másodpercben kifejezve), akkor zársz.
Természetesen ha naptári napokat kell figyelni, akkor egy hangyányit eltér a kód, de az alapötlet akkor is ez.
Hozzászólás: Multi chart backtesting #3845Nálam működik.
A DLL importot engedélyezted az indikátor Általános fülén?
Hozzászólás: Tickstory Lite #3844Nincs Windows 8.1-em, így nem tudom kipróbálni. Fontos azonban, hogy az MT4 telepítés sor végén lévő Kiválasztás gombra kattintva a MT4 fő telepítési könyvtárát adod meg, ugye? A lényeg az, hogy NE próbáld saját magad kikeresni az adatkönyvtárat, hanem csak ennek a sornak a megadása után klikkeld be a megfelelő sort az MT4 Data Folder sorban, amennyiben az nem kerül automatikusan kitöltésre.
Hozzászólás: Robotok egyidejű használata (MT4) #3838Ezt most mint fejlesztő kérdezed, vagy mint felhasználó?
Felhasználóként ügyelned kell arra, hogy a futtatott robotok magic számai mindenképpen különbözzenek. Amennyiben egy robot magic száma nem állítható, vedd fel a kapcsolatot a fejlesztővel és kérd meg hogy hozza létre ezt a funkciót.
Fejlesztőként arra kell ügyelned, hogy a magic szám olyan alapvető disztingválást okozzon a programodban, amely biztosítja a helyes magic szám megadás esetén a helyes működést. Mindenre nem lehet ügyelni, a működési hibák nagy többsége a felhasználó figyelmetlensége miatt következik be.
Minden pozíció adatát ki tudod olvasni, a magic szám alapján tudod eldönteni, hogy akarod-e használni az adott pozíciót a funkcióidhoz vagy nem. Ezáltal gyönyörűen el lehet különíteni a nyitott pozíciókat.
Fontos alapvetések:
- a pozícióhoz rendelt magic szám nem változtatható, tehát a nyitáskor kell helyesen megadni
- a kézi kötéseknek nincs magic száma (illetve van, de az érték nulla).
-
SzerzőBejegyzés