Hozzászólások

15 bejegyzés megtekintése - 301-315 / 651
  • Szerző
    Bejegyzés
  • Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Igen, akkor ez a gond. Keress rá a RenkoLiveChartra, annak is a legfrissebb MQL4 nyelvhez való változatára. Az rendben működik.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Egyelő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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ha 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    A renko offline chartján mozog az ár, amikor a sima charton mozog ?

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Az 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Sokkal 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ű.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory Lite #3913

    Olvasd 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ké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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Első 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Indikátor probléma #3899

    Bocs, 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    MT4-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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Az 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Multi chart backtesting #3845

    Nálam működik.

    A DLL importot engedélyezted az indikátor Általános fülén?

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory Lite #3844

    Nincs 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.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ezt 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).
    15 bejegyzés megtekintése - 301-315 / 651