Forex programozás › Fórum › Kérdések az MQL4 programozási nyelvvel kapcsolatban › Indikátor probléma
Címkézve: indikátor
-
SzerzőBejegyzés
-
Hello, ismét lenne egy problémám. Van egy indikátorom egy sor van benne. Ami ez: Alert(„OrdersTotal() = „,OrdersTotal()); Kiírja az összes aktív megbízást. Ha nyitok egy új chartot és rárakom és kézzel nyitok megbízásokat, semmi probléma nincs kiírja mennyi megbízás van összesen. Viszont ha olyat csinálok, hogy elmentem templatebe ezt az indikátort. Majd a saját robotom tesztelem ezzel a templattel amiben benne van ez az indikátor mindig 0 át ír ki, miért? A templatem tökéletesen megnyitja a robotom, meg le is fut az indikátor mert a naplóba irja hogy 0 megbizás van. Mi lehet a gond? (Ez azért kell mert az indikátorom átlagárat számol a megbízásokból, ezt OrdersTotal() nélkül nem lehet megcsinálni.)
Ez backteszt vagy valós idejű futtatás, amiről beszélsz?
Valós idejű futtatás, felgyorsítva. Tehát sima Stratégia teszter.
Valós idejű futtatás: rárakod a chartra az expertet, és *valós időben* futtatod, mely során az aktuális piaci történésekre reagál a program kvázi éles környezetben (ez lehet demó és éles számla is, a lényeg az időbeliségen van).
Stratégiai teszt éppen ezért nem lehet valós idejű, hiszen ott eleve múltbéli adaton futtatsz robotot.
Az indikátorod azért nem ír ki jó értéket, mert az OrdersTotal() a valós idejű adatok között keresgél, és nem a backtesztben nyitott pozíciók között. Az indikátorral gyárilag nem lehet megetetni a tesztben történő pozíciók adatait, erre csak egyedi megoldás létezik, ami azonban nem lesz feltétlen univerzális. Pl. egy globális változóba kirakod az OrdersTotal() által visszaadott eredményt, amit az indikátorral meg kiolvasol.
Ha nyitsz egy pozíciót a számlán, akkor meglátod hogy akárhova rakod az indikátorodat, mindig 1-et fog visszaadni (a backteszt vizuál chartjára helyezve is).
Értem akkor a kérdésem az lenne, egy indikátor hogy tudja beolvasni egy globális változó adatait?
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.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.