Minden amit a backtesztelésről tudni kell: Használt múltbéli adatok

márc 13 2019
By: István Tóth
Categories: Egyéb
No Comments

Ebből a bejegyzésből megtudhatod, milyen adatokkal kell feltankolnod a MetaTrader -edet ahhoz, hogy a teszt eredményeid megbízhatóak legyenek.
Honnan tudsz tick adatot letölteni? Hogyan kell a múltbéli adatot telepíteni? Olvass tovább és minden kiderül!

Az előző bejegyzésben egy autós példán keresztül bemutattuk a főbb kritériumokat, melyekre a backteszteléstesztelés előtt feltétlenül figyelmet kell fordítani, majd ez után részletesen leírtuk az MT4 Stratégia teszter helyes beállítását. Mai cikkünkben a teszt során használt történelmi adatokról lesz szó.

Használt adatok:

Avagy milyen “üzemanyagot” tankolunk a robotunkba?

Míg az MT4 helyes beállítását könnyedén elvégezhetjük, addig a teszteléshez használt adatok beszerzése, már sokkal bonyolultabb feladat.
A használt múltbéli adatokkal általában két probléma adódik:
– Nem áll rendelkezésünkre elég múltbéli adat.
– A rendelkezésünkre álló adatok nem elég pontosak.

Nem áll rendelkezésünkre elég múltbéli adat.

Aki kipróbálta már a Stratégia tesztert a MetaTrader 4-ben, az biztosan tapasztalta, hogy hiába állított be a tesztelés kezdő időpontjának, egy évvel ezelőtti dátumot, a teszt csak néhány hónappal ezelőttről indult. Ennek oka, hogy a MetaTrader 4 egy központi szerverről tölti le az adatokat, mely lehet akár a MetaQuotes vagy akár a bróker szervere is. Az hogy a paltform melyik szerverhez csatlakozik attól függ, hogy melyik bróker cég programját töltöttük le. Bármelyik szolgáltatót is válassza programunk, nem tudunk túlzottan sok adatot letölteni, hiszen mindegyik szerveren csak néhány hónapnyi mennyiség érhető el, mivel a szolgáltatók folyamatosan törlik őket. Ennek oka, hogy a jó minőségű adatok meglehetősen sok tárhelyet foglalnak, ezért a szervereiknek túl nagy adatforgalmat kellene lebonyolítaniuk. Ráadásul a letölthető adatok mennyisége a választott idősíktól is függ, így végképp nem lehet megmondani mennyi múltbéli adat is áll valójában rendelkezésünkre.
Bár a brókerek folyamatosan törlik a szerverekről a régi adatokat, azok nem törlődnek gépünkről! Ezért ha folyamatosan használunk egy MetaTradert, akkor összegyűjthetjük az adatokat. Például ha ma telepítünk egy MetaTradert, és letöltjük az elmúlt 3 hónapnyi adatot, akkor egy év múlva 12+3=15 havi adaton tudunk majd tesztelni.

A rendelkezésünkre álló adatok nem elég pontosak:

Fontos szempont még a letöltött adatok minősége is. Hiszen ha rossz minőségű adatokon tesztelünk, akkor ugyan abba a problémába futhatunk bele, mint a kontrol pontos szimulációnál. (Itt hoztuk fel példakánt a katonát akinek nincs a térképén feltűntetve az összes akna)
aknamezo

Mi az a Tick Adat?
A tick adat olyan adat, amely az árfolyam minden változását tartalmazza. Léteznek nem tick adatok is, pl 1 perces gyertya adatok. Ahhoz, hogy egy gyertyát megkapjunk, annak 4 pontját kell ismernünk:
Nyiót ár/Záró ár, High és Low értékek.
Tehát egy gyertya megismeréséhez legkevesebb 4 pontra van szükségünk. Azonban a fentebbi példánál már részletesen bemutattuk, hogy a kapott eredményünket jelentősen befolyásolja, az hogy az árfolyam milyen úton jutott el az adott értékre.
A Tick adatok a gyertya nyitó és záró értékén túl tartalmaznak minden közbenső árfolyam értéket is, ezáltal tesztelésünk sokkal megbízhatóbb eredményt ad.

A tesztnél használt adatok minőségéről, a “Jelentés” fül felső sávjában kpaunk visszajelzést.
Modellezese-minosege
A fenti eset, az egyik személyes “kedvencem”, amikor az MT4 még az adatok minőségét sem tudja megállaípítani, ezért n/a jelzést kap.
Tapasztalataink alapján a letöltött adatok legjobb esetben is csak 90% -os minőségűek.

99% -os minőségű tesztek elérése:

A megbízható teszteredmények eléréséhez, elengedhetetlen a jó minőségű múltbéli adatok használata. A jó minőségű történelmi adat nem csak azt jelenti, hogy minden ticket tartalmaz, és nincsenek benne gap-ek, hanem lehetőleg brókerspecifikus is. Egy előző cikkben bemutattam, hogy vannak olyan brókerek, akik 25 000 szer, míg mások 75 000 szer frissítik a chartot egy nap alatt. Ez gyakorlatilag majdnem akkora különbség, mint ami a minden Tick és a kontrol pontos tesztelés között jelentkezik. De ez még mindig csak a jéghegy csúcsa! Mivel a forex piac nem centralizált, ezért két bróker árfolyam értéke között sokszor jelentős különbségek vannak.

két bróker ára közötti eltérés

A fenti képen például különböző szolgáltatók árfolyamai vannak, azonos időpontban 15 perces idősíkon. A jegyzési árak között akkora a különbség, hogy az indikátorok is teljesen máshogy viselkednek: A bal oldali képen a nagy gyertya a mozgó átlag alatt zárt, míg a jobboldali szolgáltatónál fölötte.
Mint a kép legalsó részén is látható, ugyan azt a robotot futtatva mindkét charton, teljesen más profitgörbét kapunk.
A tickek száma, és az árfolyamok közötti eltérés összességében akkora a különbséget eredményez, hogy akár az is elképzelhető, az egyik stratégia nyereséget, míg a másik veszteséget termel.

Előre nem fogjuk tudni eldönteni, hogy ki számunkra a legjobb szolgáltató. Nyilván az, akinél a robot a legjobban működik! Ezért mindenkinek azt javasoljuk, hogy több bróker tick adatán is tesztelje a robotot!

Honnan lehet jó minőségű tick adatot beszerezni?

Semmiképpen sem a bróker szerveréről, hiszen utólagosan az adatokat kozmetikázhatják, illetve a file –ok méretének csökkentése miatt kivehetnek bizonyos tickeket.
Az elmúlt évben jó megoldásnak számított a Dukascopy rendszere. Ezzel valóban 99% -os tesztelési eredményt érhettünk el, azonban az adatok Dukascopy STP rendszeréből származnak, mely MetaTrader 4 platformon csak közvetetten elérhető.
Ennél egy fokkal még jobb minőséget nyújt a Forex Broker Stars szolgáltatása, ahol nem csak 99% -os, hanem bróker specifikus adatokat használhatunk a tesztekhez.

Több szolgáltató adatain tesztelve a robotot, megismerhetjük, hogy stratégiánk hogyan viselkedik különböző brókereknél, mennyire érzékeny a tick adatok minőségére, és mely szolgáltatónál nyújtja a legjobb eredményt.

Érdemes még szót ejteni, az egyéb adatforrásokról is, melyeket csak azért nem mutatunk be részletesen mert Tick adatok helyett, csak 1 perces gyertya adatokat adnak, vagy mert egyszerűen nincs személyes tapasztalatunk a működésükről:
Forex Tester
HistData

Hogyan kell a tick adatokat a MetaTraderbe bemásolni?

A Tick adatokat általában egy CSV kiterjesztésű fileban tudjuk letölteni. Az MT4 ezeket a fileokat közvetlenül NEM tudja olvasni, ezért át kell őket alakítani.

A külső adatok betöltésénél nem csak az okoz gondot, hogy a CSV fileokat, az MT4 közvetlenül nem tudja olvasni, hanem az is, hogy a platform az elindítása után, rögtön megpróbálja letölteni a bróker szerveréről az adatokat. A letöltéssel azonban felülírja az általunk betöltött fileokat.

Máshogy megfogalmazva, ez azt jelenti, nincs értelme egyik Meta Traderből a másikba átmásolni a múltbéli adatokat, mert a program elindítása után rögtön felül fogja írni a fileokat.

Ezekre a problémákra ad jó megoldást a TickStory és a TickDataSuite program használata.
Mindkét szoftver képes a CSV fileokat megfelelő formátumúra alakítani, és megváltoztatni a MetaTrader működését oly módon, hogy az nem lesz képes az új fileokat felülírni.

Mi a különbség a TickStory és a Tick Data Suite között?

Ár: Míg a Tick Story egyszeri 23.95 dollárba kerül, addig a TickData Suite -ot 97 plusz havi 10 dolláros licence díjért tudjuk megvásárolni.

Adatok letöltése: CSak a TickStory rendelkezik belső tick adat letöltő rendszerrel, mely a a már említett Dukascopy -t használja forrásként. Ez nagy könnyebbséget jelent, mivel az adatok letöltéséhez nem kell külön regisztrálnunk és telepítenünk a bróker platformját.
Sajnos a Tick Data Suite nem rendelkezik ilyen kiegészítővel.

Kezelhetőség: A TickDataSuite ban a CSV adatokat egy külön scripttel alakíthatjuk át a MetaTrader számára megfelelő formátumúra. A felülírás elleni védelem érdekében pedig egy külön indító filet kell a Meta könyvtárába másolni, és azzal kell elindítani a platformot.
Ezzel szemben a TickStory-ba közvetlenül beépítették az adat átalakító, és a felülírást meggátoló funkciót is. És talán pont ezt nevezném a program hátrányának is. Rengeteg funkcióval rendelkezik, így a használatában könnyű „elveszni”.

Bármelyik programot is választjuk a sikerünk nem ezen, hanem a megfelelő adatok használatán fog múlni!

Záró gondolatok:

Tapasztalataink alapján a sikeres kereskedés nem egy „szent-grál” stratégia megtalálásából fakad, hanem abból, hogy figyelmünket kiterjesztjük minden részterületre, legyen az money-managment, a használt indikátorok jelzése, pszichológia, vagy a stratégia backtesztelése.
Ahhoz, hogy megbízható teszteredményeket kapjunk, muszáj minden fentebb felsorolt paramétert gondosan beállítanunk.

Drop a comment

Your email address will not be published. Required fields are marked *