Forex Stratégia Tesztelés

A forex stratégia tesztelés nem tartozik a legnépszerűbb témák közé.

Ez már csak azért is szomorú, mert a stratégia tesztelés a sikeres forex kereskedéshez vezető út egyik legfontosabb pontja.

Meglehetősen ritka, hogy leülünk egy üres lappal, és egyből megtervezünk egy kereskedési stratégiát, ami nyereséges, és még csak javítani sem lehet rajta semmit.

Biztos van ilyen, de mi az eddigi pályafutásunk alatt inkább az ellenkezőjét tapasztaltuk meg:

A kezdeti stratégia ötletet jellemzően egy átfogó tesztelés követi, ami során a kereskedő visszajelzést kap a piactól, és ennek megfelelően javít a stratégiáján.

Még ha el is tekintünk attól, hogy problémák lehetnek a kezdeti stratégiával, nehéz vitatkozni azzal a ténnyel, hogy a tesztelés kockázatmentes lehetőséget biztosít a gyakorlásra: segít tapasztalatot gyűjteni és magabiztosságot szerezni a stratégiánk működőképességét illetően.

Mindezek ellenére, viszonylag kevés kereskedő veszi a fáradságot, hogy tesztelje a stratégiáját, mielőtt pénzt kockáztatna.

Aki azzal takaródzik, hogy nem tudja, hogyan lehet forex stratégiát tesztelni, annak van egy jó és egy rossz hírünk: a cikk elolvasása után ez már nem lesz többé akadály.

Lássunk is neki.

Mi az a stratégia tesztelés?

Sokan hónapokig tartó demó kereskedéssel asszociálják a stratégia tesztelést, úgyhogy rögtön az elején szögezzük le:

A stratégia tesztelés NEM demó fiókon való kereskedést jelent. Legalábbis nem a standard értelemben véve.

Nincs baj a demózással, de teljesen megértjük, ha valakinek nincs kedve hónapokig játék pénzel kereskedni, csak azért, hogy aztán rájöjjön, hogy a stratégiája nem működik, és kezdheti elölről az egészet.

Szerencsére a stratégia tesztelésben és a demó kereskedésben csak annyi a közös, hogy egyik esetben sem kell igazi pénzt kockáztatni ahhoz, hogy lássuk, működik-e a stratégiánk.

A stratégia tesztelés múltbeli árfolyamokon történik.

Lényegében egy program segítségével vissza megyünk az időben, és múltbeli árakon kereskedjük a stratégiánkat, pontosan úgy, mintha az aktuális árfolyamon tennénk azt.

Mi az a backtest forex

Mivel a múlt már megtörtént, nem kell hosszan várnunk az ügyleteink eredményeire: felgyorsíthatjuk a szimulációt, és gyakorlatilag előreugorhatunk az időben, hogy lássuk nyertünk-e?

Értelemszerűen ez jócskán meggyorsítja a tesztelés folyamatát, plusz a hosszú várakozások helyett magára a kereskedésre tudunk koncentrálni, az unalmas részeket meg elegánsan átugorjuk.

Manuális vs. automatizált tesztelés

Stratégiát tesztelni két módon lehet: manuálisan és automatizáltan.

A manuális tesztelés alatt azt értjük, amikor normál módon, kézzel kereskedjük a stratégiát a tesztelés alatt.

Az automatizált tesztelés ezzel szemben olyanfajta tesztelés, ahol előre leprogramozzuk a stratégiát, és ezt csak lefuttatjuk egy adatsoron. Itt gyakorlatilag a számítógép kereskedik helyettünk.

A kettő közül alapvetően az automatizált tesztelés a hatékonyabb, habár ez talán nem meglepő.

Ebben a cikkben ugyanakkor a manuális tesztelést fogjuk ismertetni, mivel a kereskedési robotok programozása egy teljesen másik téma, plusz nem is minden stratégia automatizálható megfelelően.

Forex stratégia tesztelés lépésről lépésre – Soft4FX használatával

Ahogy említettük az előző bekezdésben, a stratégia tesztelés egy erre alkalmas program használatával történik.

Több ilyen program is létezik. Ebben a cikkben a Soft4FX segítségével fogjuk bemutatni, hogyan tudunk bármilyen forex stratégiát egyszerűen letesztelni.

Soft4FX

A Soft4FX nagy előnye, hogy valószínűleg a legolcsóbb tesztelő program a piacon, miközben minőség tekintetében bőven hozza az elvárt színvonalat.

A kedvező árát annak köszönheti, hogy a többi tesztelő programmal ellentétben, a Soft4FX nem egy különálló program, hanem egy MetaTrader expert advisor.

Akinek új ez a kifejezés: az expert advisor lényegében egy olyan program, ami a kereskedési platformon belül futtatható, hasonlóan ahhoz, mint ahogy mondjuk egy Chrome bővítmény működik a böngészőn belül.

Röviden mondva a Soft4FX a már meglévő MetaTrader platformot egészíti ki manuális stratégia tesztelésre alkalmas funkciókkal.

Ez nem csak azért jó, mert egy ismerős felületen tudunk tesztelni, hanem azért is, mert a fejlesztőknek nem kellet 0-ról felépíteni egy tesztelő programot.

Ennek köszönhető, hogy sokkal olcsóbban tudják adni a programot, ugyanakkor az minőségét és funkcionalitását tekintve is ugyanolyan jó, mint bármelyik más, drágább alternatíva.

Ez tehát a rövid indok, hogy miért szeretjük a Soft4FX-et, és hogy miért ajánljuk az olvasónak is, de ha valaki egyenlőre nem szeretne pénzt költeni erre, akkor sincs gond.

A cikk végigkövethető anélkül, hogy megvásárolnánk a Soft4FX-et, mivel ez ingyenesen letölthető és használható, elég akkor megvásárolni, ha hozzá szeretnénk férni a korlátozások nélküli verzióhoz.

A transzparencia kedvéért kiemelnénk, hogy az álltalunk közvetített vásárlások után jutalékot kapunk, ez segíti az oldal működését.

Most, hogy mindent megbeszéltünk, kezdjünk neki a stratégia tesztelésnek. Első lépésként megmutatjuk, hogyan kell bevarázsolni a Soft4FX-et a MetaTrader-be.

#1 lépés: A tesztelő program telepítése

Mindenekelőtt fontos megjegyezni, hogy a Soft4FX kizárólag Windows operációs rendszeren, és MetaTrader 4-el működik.

Akinek nincs Windows-os gépe annak valahonnan kölcsönöznie kell egyet, vagy esetleg virtuális környezetben tudja futtatni. Aki pedig az újabb MetaTrader verziót használja (MT5), az töltse le mellé a régebbi klienst is.

(Ez ingyenesen megtehető az XM oldaláról, ez az általunk preferált brókercég, amiről a következő cikkben fogunk többet mesélni.)

Ha megbizonyosodtunk róla, hogy megfelelünk a programkövetelményeknek, akkor szerezzük be magát a programot. Ez egy kicsi, körülbelül 1.5 MB-os file, amit a Soft4FX weboldaláról egyszerűen le tudunk tölteni.

A teszteloprogram letoltese

Miután letöltöttük a programot, nyissuk meg az MT4-et majd kattintsunk a fenti menüsorban a “Fájl” nézetre, a legördülő lehetőségek közül pedig válasszuk a “Rendszermappa megnyitása” pontot.

Ez egy új fájlkezelő ablakban megnyitja nekünk azt a helyet, ahol a MetaTrader rendszerfájljai találhatóak.

Innen navigáljunk tovább az MQL4 mappába.

Itt különféle scriptek és rendszerfájlok vannak, nekünk az Expert mappára van szükségünk.

Másoljuk be a Soft4FX szimulátort az Expert mappába, majd zárjuk be a fájlkezelőt, és indítsuk újra az MT4-et.

Ha mindent jól csináltunk, akkor a Navigátor ablakban, az Expertek alatt láthatjuk, hogy megjelent a Soft4FX szimulátor.

Ezzel pedig kész is vagyunk az első lépéssel.

#2 lépés: A tesztelőprogram aktiválása

Innentől kezdve végig a MetaTraderen belül fogunk tevékenykedni.

Legelőször is engedélyeznünk kell a DLL importokat. Ezzel lényegében engedélyt adunk a kereskedési platformnak olyan kód futtatására, amely nem része az alapszoftvernek.

A MetaTrader figyelmeztetni fog, hogy ez biztonsági kockázatot jelenthet, de a Soft4FX esetében nincs mitől tartanunk.

Navigáljunk az “Eszközök -> Beállítások” pontra, vagy nyomjunk egy Ctrl + O-t, a felugró ablakban pedig az “Expertek” alatt pipáljuk ki a DLL import engedélyezése pontot.

DLL import engedelyezese

Miután ezzel megvagyunk, elindíthatjuk a programot.

A navigátor fülön belül kattintsunk kétszer a Soft4FX-re, majd egyszerűen OK-ézzuk le a felugró ablakot.

Ezután megjelenik egy új ablak, ahol be tudjuk aktiválni a teljes verziót, ha megvásároltuk a programot.

Ha nem rendelkezünk érvényes aktiváló kóddal, akkor itt vásárolhatunk eggyet, vagy egyszerűen folytassuk az útmutató követését demó mód-ban.

#3 lépés: Adatletöltés

A sikeres belépést követően le kell töltsük a kívánt devizapár árfolyamtörténetét, ezen fogjuk ugyanis tesztelni a stratégiánkat.

Árfolyamadatokat a “Data Center”-ben tudunk beszerezni.

Itt a kívánt devizapár szimbóluma mellett található doboz kipipálásával tudjuk jelezni, hogy igényt tartunk a szóbanforgó devizapár árfolyamtörténetére.

A kék Download linkre kattintva felugrik egy ablak, ahol be tudjuk állítani, hogy hány évre visszamenőleg szeretnénk letölteni adatokat. Válaszuk ki a nekünk megfelelő időtartamot, majd kattintsunk a Download gombra a letöltés megkezdéséhez.

A sikeres letöltést követően a devizapár szimbóluma mellet megjelenik, hogy milyen időintervallumra van letöltött adatunk.

Ez a következő lépésben lesz lényeges.

#4 lépés: A szimuláció létrehozása

Zárjuk be a Data Centert, és a főmenüben ezúttal kattintsunk a “New simulation”-re.

A következő ablak fog a szemünk elé tárulni:

Szimulacio beallitasa

Nézzük sorjába mi-mit jelent.

Az első szekció a historical data, avagy a múltbeli árfolyamadat. Itt tudjuk beállítani, hogy melyik devizapár árfolyamtörténetén szeretnénk tesztelést végrehajtani.

A provider a brókert jelenti: mivel több forrásból is lehetőségünk van árfolyamokat letölteni ugyanazokra a devizapárokra, meg kell adnunk, melyik bróker adataival szeretnénk dolgozni.

Az instrument magát a terméket jelöli, itt tudjuk kiválasztani a legördülő listából a kívánt devizapárt. Csak azok a devizapárok fognak itt megjelenni, amelyekre az előző lépésben letöltöttünk adatokat a brókertől.

Jobbkéz felöl látunk még pár infót az adatunk jellegéről: available data: mettől-meddig van letöltött adatunk; digits: hány tizedesjegyig van jegyezve az árfolyam; 1 point: a legkisebb egység, amit az árfolyam mozogni tud.

A második szekcióban találhatóak a szimuláció fő beállításai (main settings).

A start simulation from mezőben a szimuláció kezdetét tudjuk meghatározni, ha pedig kipipáljuk a mellette található dobozt, akkor azt a dátumot is megadhatjuk, ahol szeretnénk, hogy a szimuláció befejeződjön. Ellenkező esetben addig fut a szimuláció, ameddig van elérhető adat.

Az account currency a szimulált számla devizaneme. Ennek nincs különösebb jelentőssége. Érdekesség, hogy valamiért mindig csak az a kettő deviza jelenik meg a listában, amelyik az éppen tesztelt devizapárt alkotja.

EUR/USD esetében például az euró és a dollár közül “válogathatunk”.

A starting balance a kereskedési számla kezdőértéke. Érdemes valami olyan összeget beírni, amellyel ténylegesen is kereskedni fogunk.

A time on charts a grafikon időzónája. Őszintén szólva, mi itt mindig az alapértelmezettet GMT-t használtuk, ez valószínüleg az adott bróker szerverideje, de lehetőség van a grafikon New York-i záróárakhoz való igazítására is, ha valakinek ez jobban tetszik.

Végül, eggyel lejjebb, a rewinding allowed, egy fontos pont. Ha ezt bepipáljuk, mint ahogy alapértelmezetten be is van, akkor a szimuláción belül hátrafele is tudunk mozogni, nem csak előre.

Ez akkor jön jól, amikor mondjuk véletlenül átugrottunk egy kereskedési lehetőséget, ilyenkor ugyanis vissza tudjuk tekerni a szimulációt, és megnyitni a kimaradt ügyletet.

(Érdemes azért vigyázni ezzel a funkcióval, mert ha felelőtlenül használjuk, akkor félrevezető képet fogunk kapni a stratégiáról. Ha nem bízunk magunkban, akkor inkább ne engedélyezzük.)

Az utolsó szekcióban haladó beállításokat (advanced settings) találunk, ezeket általában érdemes alapértelmezetten hagyni, de lehetnek kivételek.

A pip size a pip méretét mutatja. Forexen a pip álltalában a negyedik tizedesjegyet jelenti, vagyis 0.0001 elmozdulást az árfolyamban, ez pedig EUR/USD esetében (és a legtöbb másik devizapár esetében is) 10 pont-nak felel meg. A képp jobb felső sarkában a legalsó zöld szöveg mutatja, hogy egy pont 0.00001 elmozdulást jelöl, vagyis egy pip 10 pontnyi elmozdulás, ezért ez az érték az alapértelmezett.

(Részletesebb cikk a pip fogalmáról itt olvasható)

A lot size a standard pozíció méretre utal, ezzel sem kell gyakran machinálni, de ha valakinek valamilyen speciális számlatípusa van, például XM mikrószámlája, akkor átállíthatja a lot méretet, hogy eggyezzen a kereskedési számlájával.

Amit magyar ügyfélként mindenképp érdemes lehet módosítani az a leverage, avagy tőkeáttétel, hiszen ez az ESMA szabályozásoknak köszönhetően jelentősen megcsappant, legtöbb esetben 1:30 a maximum elvárható érték, amelyet lakossági kereskedők igénybe vehetnek.

A spread, vagy árrés, legtöbb esetben változó, így a “variable” értéken ritkán kell változtatni, de vannak olyan fióktípusok is, ahol a bróker nulla, vagy ahhoz közeli spreadeket kínál, helyette pedig fix jutalékot számol minden kereskedett lot után.

Iyenkor a spread-et át tudjuk állítani fix-re, értéknek beírjuk az 1 pontot (nullát nem enged), az alatta lévő comission dobozt pedig bepipálva meg tudjuk adni, hogy mennyi jutalékot kell fizetnünk minden kereskedett lot után.

Legutolsóként pedig az initial history on charts specifikálható: vagyis, hogy hány nap adatát tartalmazza előre egy grafikon, amikor hozzá adjuk a teszteléshez (következő lépés). Ennek igazából az a lényege, hogy ne teljessen üres grafikonnal kezdjünk.

Ha mindent beállítottunk, úgy ahogy szeretnénk, akkor kattintsunk a jobb alsó sarokban található Start simulation gombra.

#5 lépés: Grafikon megnyitása

A szimulációt elindítva felugrik egy ablak, ahol hozzá tudjuk adni a szimulációhoz azokat a grafikonokat, amelyeket szeretnénk használni a tesztelés során.

A legördülő elemek közül válasszuk ki a kívánt grafikontípust és idősíkot, majd kattintsunk az Add gombra.

Több grafikont is hozzáadhatunk a szimulációhoz ilyen módon. A létrehozott grafikonok az ablak tetején található listába kerülnek, ahonnan egyesével tudjuk megnyitni őket.

Miután megnyitottuk a grafikonokat, nyugodtan zárjuk be a Charts Selection ablakot. Látni fogjuk, hogy megjelent a szimuláció vezérlésére szolgáló felület, a létrehozott grafikonok pedig a tálcára kerültek.

Forex strategia teszteles

(A grafikonok neve melleti “offline” jelző segít megkölönbözetetni a tesztelésre létrehozott grafikonokat az élő grafikonoktól.)

Öltöztessük fel szükség szerint a grafikonjainkat (háttér, gyertyaszínek, használt indikátorok felpakolása, stb.), majd neki is állhatunk a stratégiánk tesztelésnek.

#6 lépés: Kereskedés

Az egyszerűség kedvéért feltételezzük, hogy egy mozgóátlag kereszteződésre alapuló stratégiát tesztelünk.

Hozzáadtunk két mozgóátlagot az egyperces grafikonunkhoz, egy 21 és egy 50 periódusút, ez utóbbit jelöli a vastagabb vonal.

Vásárolni akkor fogunk, ha a gyorsabb mozgóátlag alulról felfelé keresztezi a lassabb mozgóátlagot. Eladni pedig a fordított esetben.

A lot mérete 1 lot lesz, a stop loss 10 pip, a profit cél pedig 50 pip.

Most, hogy felvázoltuk ezt a hasra-ütés alapján megtervezett stratégiát, kezdjük el a tesztelését.

Két módon tudunk előrehaladni az időben:

  1. A csúszka huzigálásával beállíthatjuk a sebességet, majd a kis nyílra kattintva elindíthatjuk a piacot, ami ilyenkor magától megy előre.
  2. A Next Bar gombot nyomogatva, gyertyáról-gyertyára is tudunk lépegetni.

A kettőt egyébként jól lehet ötvözni, mi általában beállítunk egy közepesen gyors sebességet, amivel engedjük a piacot magától előrehaladni, ha pedig látjuk, hogy alakulóban van egy kereskedési lehetőség, akkor levesszük a sebességet 0-ra, és kézzel lépegetünk előre, egészen addig, ameddig nem kapjuk meg a szignált.

Ilyenkor megnyitjuk a pozíciót, majd újra felgyorsítjuk a szimulációt, és gyorsan az eredményhez ugrunk.

Nézzünk egy példát:

A szimulációt elindítva, szembejön a következő lehetőség:

A gyors mozgóátlag alulról metszette a lassabb mozgóátlagot, ami trendfordulást jelez, a stratégiánk alapján pedig ilyenkor vételi megbízást nyitunk.

Beírjuk tehát pozícióméretnek, hogy 1 lot, az SL dobozba, hogy 10 pip, a TP dobozba pedig, hogy 50 pip. Ezt követően egyszerűen rányomunk a zöld Buy gombra.

Látni fogjuk, hogy a szimulált pozíció azonnal meg is nyílt.

A grafikonon megjelent az ügylet profitcélja és stop szintje, hasonlóan mint normál kereskedés során. A legfelső kék vonal szemlélteti a profitcél-t, a piros vonal pedig értelemszerűen a stop loss árszintje. Középen, zölddel jelölve, látjuk még a belépési árat is.

Mint ahogyan valós kereskedés során is, a megnyitott pozíció egy kis veszteséggel indul a spread miatt. A szimuláció vezérlőfelületén látjuk, hogy 6 dollár mínuszban vagyunk.

Indítsuk el a szimulációt, és nézzük meg az ügylet eredményét.

Sajnos nem volt szerencsénk.

A fenti kép jobb alsó sarkában látszik, hogy a piac szinte azonnal ellenünk ment, és pár perc alatt elérete a stop loss-t, ahol elvesztettük a kockáztatott 100 dollárt.

A vezérlőfelületen belül, ha rákkatintunk a Trades gombra, akkor egyébként meg tudjuk nézni részletesebben is a számlatörténetünket:

Hogyan tudunk forex strategiat tesztelni

Itt találhatóak még olyan hasznos dolgok is, mint a statisztika fül, ahol látjuk a stratégiánk részletes teljesítményét, és a grafikon, ahol a program folytonosan kirajzolja a számlánk értékének az alakulását.

Lényegében így működik a tesztelés.

Innentől már csak ismételnünk kell az előző lépéseket.

  • Elindítjuk a szimulációt.
  • Ha kapunk szignált, nyitunk egy ügyletet.
  • Megnézzük az eredményt.

Természetesen minél több ügyletet hajtunk végre a tesztelés során, annál pontosabb értékeket fogunk kapni a stratégiánk teljesítményéről.

#7 lépés: Teljesítmény kiértékelés

Miután végeztünk a stratégiánk tesztelésével, érdemes elgondolkodni az eredményeken.

  • Jövedelmezőség: Mennyire volt nyereséges a stratégia a múltbeli időszakban? Értelemszerűen fontos mérőszám, de kontextus nélkül nem sokat jelent.
  • Visszaesés (drawdown): Mennyit ingadozott a számlaegyenleg a tesztelt időszak alatt? Ha a csúcspont és a mélypont között nagy a különbség, akkor a stratégia kockázatosabb a kelleténél.
  • Kereskedési gyakoriság: Ha úgy ítéljük meg, hogy túl gyakran kapunk kereskedési szignálokat, akkor érdemes lehet valami szűrőt bevezetni, hogy a jobb lehetőségekre koncentráljunk, és csökkentsük a kereskedési költségeinket.
  • Piaci viszonyok: Milyen piaci körülmények között teljesített jól a stratégia, és mikor termelt főleg veszteséget? Segít meghatározni, mikorra időzítsük a kereskedésünket.

Ez természetesen csak pár egyszerű dolog, amire érdemes lehet odafigyelni.

Összefoglalás

A stratégia tesztelés kulcsfontosságú lépés a sikeres forex kereskedővé váláshoz.

A stratégiánk múltbeli adatokon való tesztelésével felmérhetjük, hogy hogyan teljesített volna a stratégia a múltban, és idő előtt korrigálhatjuk az esetleges hibákat.

Több szoftver is létezik forex stratégiák tesztelésére, mi a Soft4FX-et ajánljuk, de természetesen használható más program is, vagy akár automatizálható is a tesztelés.

Fontos, hogy miután teszteltük a stratégiánkat, elemezzük az eredményeket.

Ha a tesztelés eredménye pozitív, akkor se felejtsük el, hogy a múltbeli jó teljesítmény nem feltétlenül garantálja a jövőbeli sikert. Legyünk éberek, kockáztassunk keveset, és szükség szerint alkalmazkodjunk a piachoz.