Forex programozás Fórum Kérdések az MQL4 programozási nyelvvel kapcsolatban EA indikátorának megjelenítése, a stratégiateszter vizuális módjában

Címkézve: ,

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • Ferenc_
    Tag
    Bejegyzések száma: 8

    Sziasztok

    Miért nem jelenik meg az robotban használt indikátor a stratégia teszterben. A robotnak meg van a kódja, az indikátor benne mindegy, hogy általános vagy iCustom.
    Hiába rakok elé egy HideTestIndicators(false) függvény hívást. Úgy emlékszem régebbi Mt4 visual testerben még jelentek, meg indikátorok, és talán működött a HideTestIndicators függvény, mostani mt4-bent lehet még valamire használni?

    Ez így elég kényelmetlen, minden indikátort utólag ráhúzni a vizuálteszt chartjára és beállítani a paramétereit. Tudom lehet a tester.tpl módosítani, de az se elég jó megoldás, mert sokszor más indikátor kell, más paraméterekkel. Csak a jelenleg friss MT4 build 950-ben próbáltam portable módban Windows 10 alatt, a tester.tpl módosított. Valamelyik korábbi MT4-ekben még megjelentek az indikátorotok, de a hiba javítások miatt, talán nem érdemes túl régi mt4 re visszalépni.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Teljesen jól írod, a helyzet jelenleg pontosan ez. Én magam a tester.tpl -es megoldást használom (helyesebben a robot nevének megfelelő tpl-t készítek), és ez így valóban csak részmegoldás az általad leírtak miatt. Ami még esetleg egy „házi” megoldásként szóba jöhet: a robot OnInit() részében meghívsz egy saját függvényt, amely egy Windows-os dll-en keresztül létrehoz egy olyan tpl fájlt, amely tartalmazza az éppen aktuális (robotparaméterek alapján) paraméterezett indikátorokat. Mivel a tpl fájl viszonylag egyszerűen összerakható, ezért ez nem lesz kifejezetten kihívás és meg lehet csinálni. A Windows dll-es megoldás azért kell, mert egyébként az MQL4 beépített fájlkezelő függvényeivel *templates* könyvtárhoz nem fogsz tudni hozzáférni, vagy abban fájlt létrehozni.

    Tehát simán MQL4-ből hozd létre a sablon fájlt egy átmeneti néven a Files mappába (tester\Files vagy MQL4\Files), majd onnan mozgasd el a templates\ -be és a ChartApplyTemplate függvénnyel érvényesítsd azt a chartra.

    Ez az egyetlen megoldás, amely jelenleg eszembe jut és ami lefedheti az elképzelésedet.

    Ferenc_
    Tag
    Bejegyzések száma: 8

    Köszönöm a választ. Lényegében csak a nem saját indikátoroknál van a probléma. Saját indikátoroknál a programom létre hozza terminal globális változókat CHART_WINDOW_HANDLE-t tartalmazó névvel. Ha éppen saját indikátort tesztelek, akkor az indikátorom az alapján állítja be a paramétereit, amikor ráhúzom a chartra. A nem saját indikátorok paramétereinek beállítására megoldás, lehet, egy indikátor megjelenítő indikátort készíteni. Az indikátor a globális változókon keresztül beállítja a nem saját indikátor paramétereit, és mivel azt hiába hívja meg, nem jelenik meg; a saját bufferein keresztül meg is jeleníti

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ez is egy megoldás, bár a globális változókat ugyanúgy be kell állítanod – de ha neked ez kényelmes, akkor ez is egy út lehet.

    Ferenc_
    Tag
    Bejegyzések száma: 8

    Most telepítettem, egy új MT4-et Build 1045-öt Windows 10 alatt kizárólag a stratégia tesztelés céljából. Szokásomtól eltérően semmit nem állítottam rajta át, az eredeti fekete háterű oszlop chartokkal hagytam. Futtattam két tesztet vizuális módban, és mind kettőnél ott van EA által használt összes indikátor, az EA-ban megadott beállításokkal. Évek óta, létező problémám, megoldódott. A globális változókat csak az indikátorok kis részénél használtam. Lehet, hogy MT4 build 1045 előtt valamelyik korábbi verziónál is ez így működöt, csak nem tudtam róla.

5 bejegyzés megtekintése - 1-5 / 5
  • Be kell jelentkezni a hozzászóláshoz.