Ha már végeztél pár visszatesztelést a MetaTrader 4 vagy 5 felületén, találkozhattál a „close at stop” és az „end of test” kifejezésekkel. A két kifejezés megértése nélkülözhetetlen ahhoz, hogy pontos statisztikákkal dolgozhass. Lássuk hát, mit jelentenek!

Hol találkozhatsz ezekkel a kifejezésekkel?

A MetaTrader 4 és a MetaTrader 5 visszatesztelési paneljén belül, az eredmények között. Az alábbi két képen piros színnel kereteztem be azt az egy-egy pozíciót, amelyeknél a „close at stop”, valamint az „end of test” szövegeket láthatod. MT4-ben az előbbi, MT5-ben pedig az utóbbi szerepelhet.

Mit jelentenek?

A visszatesztelés során egy kereskedőrobot múltbéli eredményére vagyunk kíváncsiak, így mindenképpen meg kell határoznunk két dátumot. Az egyik dátum a teszt kezdetét, a másik pedig a teszt végét jelenti. Az utóbbi dátumtól függ, hogy mikor ér véget a visszateszt.

Amennyiben a tesztelési időszak végén még van élő pozíció vagy megbízás, a teszter kényszerből lezárja azokat, hiszen a teszt befejeződését követően nem maradhat nyitva pozíció.

A két kifejezés jelentése ugyanaz: az MT4 a close at stop, az MT5 pedig az end of test fogalmakat használja.

A statisztikára gyakorolt hatásuk

Lényeges tudnod, hogy a visszateszt statisztikáját az ilyen módon lezárt pozíciók is befolyásolják. Ez minden stratégiánál lényeges lehet, de egyáltalán nem mindegy, mekkora mértékben. Az egypozíciós rendszerek esetében legfeljebb egy ilyen pozíció lehet a teszt végén, amely minimálisan befolyásolja a teszt végén látható mutatókat. Több pozíciót párhuzamosan nyitva tartó (pl. ráépítéseket, grid és/vagy pozícióhalmozó elemeket tartalmazó) rendszerek esetén azonban a teszt végén kényszerből lezárt pozíciók hirtelen egyenlegváltozást okozhatnak. Ennek oka, hogy amíg a tesztelési időszak tart és a számlán van elegendő pénz, a stratégia által nyitott és hosszabb ideig nyitva tartott ügyleteket a rendszer képes nyitva tartani, azonban amikor a tesztnek külső kényszer hatására be kell fejeződnie, a MetaTrader likvidálja az élő pozíciókat. Az alábbi képen egy pozícióhalmozó rendszer grafikonját láthatjuk, melyből egyértelműen látszik, hogy a teszt vége az addig finanszírozott lebegő veszteség azonnali realizálását eredményezi.

Drawdown hirtelen változása a close at stop esetén

Piros kerettel jelöltem a teszt végének pillanatában egyszerre bekövetkező pozíciózárásokat. Önmagában a képből nem derül ki, de nagyon sok pozíció zárult egyszerre, amelyek egy része profitot, egy része pedig veszteséget realizált, így az összes kényszerzárás áldozatául esett pozíció a szummát tekintve hatalmas veszteséget okozott. A teszt 10 000 EUR összeggel indult, és amíg a tesztelési időszak végére nem értünk, ránézésre egészen jó +7 000 EUR hozamot produkált. Más kérdés, hogy a teszt befejeződésekor, köszönhetően a még nyitott pozíciók realizált lebegő eredményeinek, a végeredmény kb. 5 200 eurós számlaegyenleg, vagyis az eredeti számlaösszeg felét elbukta a rendszer.

Az ilyesfajta veszteségek ugyan jó ideig görgethetők, de a felgyülemlő kamat miatt súlyos pénzügyi és pszichológiai terhet jelentenek. Ajánlom a témában korábbi cikksorozatomat a pozícióépítés témakörében.

Hogyan lehet elkerülni?

A nyitott pozíciókat a MetaTrader 4 és 5 minden visszateszt végén kötelezően likvidálja, ezt a viselkedést csupán elfogadni tudod, megváltoztatni nem. Egyedül arra van mód, hogy külön jelöljük ezeket a pozíciókat, esetleg kihagyjuk őket a statisztikából. Ez utóbbit csak akkor javaslom, ha már tudod, hogy mit csinálsz!

Egy, vagy kevés pozíció esetén a teszt végeredményére gyakorolt hatás általában minimális, így ritkán merül fel az, hogy a statisztika pontossága érdekében extra lépéseket kell tenni. Többpozíciós rendszer esetén a fentebb részletezett okok miatt érdemes kivizsgálni minden hasonló helyzetet, és törekedni a minél kevesebb pozíció minél rövidebb ideig történő nyitva tartására (kivéve azokban az esetekben, amikor pont ez a szisztéma lényege).

Szó szerint véve a teszter kényszerzárása úgy kerülhető el, hogy a teszt vége előtti utolsó pillanatban maga a robot zárja a még nyitott pozíciókat. A végeredmény ugyanaz lesz, viszont a close at stop bejegyzések eltűnnek. Ha saját magad fejleszted a robotjaidat, használhatod az OnTesterDeinit eseményt, amely MT4 és MT5 esetén is rendelkezésedre áll, ha pedig nem szeretnél vagy nem tudsz programozni, akkor kérd MetaTrader programozó segítségét!

Összefoglalva

Ha megérted, mit jelent ez a két kifejezés a MetaTraderes visszatesztelés témájában, ez segíthet abban, hogy megfelelően kiértékelhesd az érintett  ügyleteket is, és eldönthesd, figyelembe veszed-e a realizált eredményeiket, vagy nem.

Olvasd el útmutatómat, ha szeretnél robotot készíttetni kereskedési stratégiádból!