A visszatesztelés kapcsán gyakori – és logikus – igény az, hogy minél jobb minőségű, folytonos adatokkal legyen lehetőségünk visszatesztelni. A MetaTrader4-ben alap esetben többnyire hitvány minőségű adatok állnak rendelkezésre, tele olyan szakaszokkal, ahol az adatok egyszerűen hiányoznak. Ezek a rossz minőségű adatok, illetve a teljes teszt alatt kötött (fix) mértékű spread máris predesztinálja a tesztelés lehetőségeit.
3 részből álló cikksorozatommal igyekszem egy, az eddigi megoldásoknál egyszerűbb, gyorsabb, korszerűbb és mindenekelőtt funkciógazdagabb lehetőséget bemutatni, amely 2017-ben megfelelő támogatást ad Neked a visszateszteléshez.
Jelen cikk a következő tartalmi felosztásban jelenik meg:
- Egy kis történelem + a Tick Data Suite és Tickstory összehasonlítása (hétfőn jelent meg, ezt olvasod most)
- A Tick Data Suite telepítése, és az adatkezelő rész működése (május 9-én kedden jelenik meg)
- Visszatesztelési kondíciók beállítása – változó spread, csúszás és további hasznos funkciók (május 10-én szerdán jelenik meg)
A visszatesztelés alapjairól, és hogy miért lehet számodra is rendkívül fontos a háttérben rendelkezésre álló jó minőségű adatsor, ide és ide kattintva olvashatsz korábbi cikkeimben. Javaslom, hogy ezt mindenképpen tedd meg, mert jelen cikkben és a további részekben is lesz pár szakzsargon, amelyet nem minden esetben magyarázok majd el külön-külön.
Egy kis történelem
Az elmúlt években több módszer született meg abból a célból, hogy idegen forrásból beszerzett adatokból visszateszti környezetet lehessen varázsolni az MT4 számára. Ezekről már 2010-ben létrehoztam magyar nyelvű leírásokat, később pedig bővítettem is őket. Azóta sok idő eltelt, természetesen régen és ma is több út létezik a vágyott jó minőségű adatokkal történő visszateszteléshez.
Tény azonban, hogy mindegyik megoldás egy konkrét megoldásból ered, melyet egy Cristi Dumitrescu nevű, az Interneten Birt becenéven ismert fejlesztő hozott létre még 2009-ben. Az általa kifejlesztett módszer lényege, hogy bármilyen külső forrásból származó – akár tick minőségű – adatot be lehet juttatni a MetaTrader4-be, és azon visszatesztet lehet futtatni – akár változó spreaddel is. Ez a megoldás már 2009 óta működőképes, eredetileg egy ún. szkript segítségével lehetett a letöltött adatokat konvertálni és a MetaTrader4-et a szükséges – legyen elég annyi, hogy trükkös – módszerrel elindítani. Azóta több szoftver is részben átvette ezt a módszert, illetve Birt saját szoftvere – amelynek Tick Data Suite a neve – is komoly evolúción esett át. Nem összetévesztendő ez a szoftver a Tickstory (korábban Tickstory Lite) nevű szoftverrel, ami egy másik módszer ugyanennek a témakörnek a lefedésére. (Mind Birt megoldásáról, mind a Tickstory szoftverről éveken keresztül írtam itt a blogon a magyar közönségnek.)
Miről szól majd ez a cikksorozat?
Pár hónappal ezelőtt Birt kiadta a Tick Data Suite 2.0 -ás sorozatát, és ezzel egy rendkívül egyszerűen és flottul működő megoldást alkotott meg a MetaTrader4-re alapuló visszateszteléshez. Úgy gondolom, hogy Magyarországon kevesen tudnak erről a szoftverről, ezért elhatároztam, hogy részletesen bemutatom Nektek és a továbbiakban itt is – akárcsak az elmúlt években a Tickstory kapcsán – összekötő kapocs leszek a Tick Data Suite kapcsán Birt és a magyar kereskedő közösség között. A cikk részei tehát ennek a szoftvernek a használatáról, funkcióiról és lehetőségeiről szólnak majd.
Állj! Mi lesz a Tickstory programmal?
Továbbra is kapcsolatban vagyok a Tickstory fejlesztőcsapatával, és náluk is várható majd a jövőben, hogy újabb funkciókat és lehetőségeket hoznak létre a programjukba. Mindazonáltal a tények alapján ki merem mondani, hogy funkciógazdagságban a Tick Data Suite verhetetlen, és jelenleg egyetlen – képességeiben hasonló – alternatívája sincsen. Amennyiben a később bemutatott funkciók nagy részére nincsen szükséged és az egyszerűbb (nem rosszabb!) képességekkel rendelkező Tickstory is megfelelő számodra, akkor nem “muszáj” változtatnod a bevált szokásaidon. Ha még sosem alkalmaztál ilyen megoldásokat, akkor a várható problémák és akadályok elkerülése végett egyértelműen a Tick Data Suite programot fogom számodra javasolni.
Akkor most melyik programot használjam?
Köntörfalazás nélkül igyekszem válaszolni az elmúlt évek tapasztalataira hagyatkozva.
- Ha egyszerű, olcsó megoldásra van szükséged, ami bizonyos korlátozásokkal rendelkezik, de használható: Tickstory.
- Ha komplex, emiatt némileg drágább megoldás is szóba jöhet: Tick Data Suite.
- Ha egyáltalán nem akarsz költeni erre a témakörre: ezt felejtsd el, nem fogod tudni teljes mértékben ingyen megoldani (vagy csak óriási kompromisszumokkal).
Milyen szolgáltatásokat tud nyújtani a Tick Data Suite?
Az alábbiakban összefoglalom, hogy milyen funkciókat biztosít a Tick Data Suite. Zöld színnel jelölöm az előnyösebb megoldást.
Funkció leírása | Tick Data Suite | Tickstory |
---|---|---|
A MT4 terminált speciális módon szükséges elindítani annak érdekében, hogy működhessen a visszatesztelés a korábban létrehozott adatokkal | nem | igen |
A számítógépre letöltött adatokat újra és újra exportálni szükséges, ha a tesztelt időszakot bővíteni szeretnénk | nem | igen |
Visszatesztelés esetén előre le kell generálni az FXT fájlokat | nem | igen |
A letöltött adatok azonnal felhasználhatóak a visszateszteléshez | igen | nem |
Egyszerre több MT4 terminálban is folyhat visszatesztelés | igen | nem |
Egy MT4 terminálból párhuzamosan több visszatesztelés is történhet | igen | nem |
A visszatesztelés során használt FXT fájl méretkorlátja | ~200 GB | 4 GB |
A visszatesztelési környezet kondíciói minden visszateszt előtt állíthatóak | igen | nem |
A visszatesztelési környezet beállításainak vezérlői beépülnek a MetaTrader4 terminál visszatesztelési paneljére | igen | nem |
Adatforrásként elérhető a Dukascopy | igen | igen |
Adatforrásként elérhető a TrueFX | igen | nem |
Képes végrehajtási csúszás szimulációra (függő megbízások, piaci nyitások, SL és TP esetén) | igen | nem |
Instrumentum elő- és utótagok kezelése szükséges | nem | igen |
Lehetséges a visszatesztelés változó spreaddel | igen | nem |
A tesztelt adatok időzónája egy kattintással állítható minden visszateszt előtt | igen | nem |
A fenti táblázat alapján kijelenthető, hogy a Tick Data Suite-ban lévő funkcióorgia bőven lefedi talán a legvadabb elvárást is, amely a visszatesztelő fejében megfordulhat. A cikk második részében a szoftver összes szolgáltatását be fogom mutatni annak érdekében, hogy látható legyen, mennyi időt és mérgelődést képes számodra is megspórolni.
A következő rész a program telepítéséről és az adatokat kezelő Tick Data Managerről szól.
Kíváncsi vagy ehhez hasonló, hasznos bejegyzéseimre?
Ha érdekelnek az ehhez hasonló témákkal foglalkozó bejegyzések, akkor add meg keresztneved és e-mail címed, hogy elküldhessem Neked!
Szia Radu! Ha megveszem ezt a programot, akkor az egyszeri díjon kívül még fizetnem kell a havi 10$ összeget is?
Köszi a választ.
Szia Attila!
A Tick Data Suite-ot a havi 3000 Ft os rendszeres frissìtés nélkül is meg lehet vàsárolni?
Utána kérdezek, és itt megírom majd Neked, ha választ kapok.
Szia Dani!
Választ kaptam Birttől: nem muszáj fizetned a havi előfizetési díjat. Ez a következőket jelenti (fontos tudnod a korlátokat is):
A későbbiekben 29 USD ellenében visszatérhetsz a havi díjfizetéshez.
Ezeket az információkat itt találod meg a szoftver weboldalán.
Köszönöm Radu! :-)
Szia Radu! Szeretnék kérdezni, a Tick Data Suite-ot letöltöttem, próbaverzió! Az EURUSD elérhető teljes adatokat letöltöttem a Dukaskopytól. Ezek után elkezdtem a Moving Average.ex4-t visszafelé minden évben jan.01-től jan. 31-ig futtatni. Minden alapon, nem az eredmény a fontos. 2017 és 2016 ban a Chart nyitása funkció működik, viszont 2015 -ben már nem a teszt adatokat rajzolja, mert csak 2015 okt 30-tól vannak adatok a charton. Próbáltam az Eszközök-Beállítások-Max oszlopok a multban funkciót 9-esekkel megtölteni, de ennél 2147483647 nem lett nagyobb. A kérdés, akkor adott időpontól nem lehet kb. 2 év 2 hónapnál távolabb tesztelni vizuálisan? Van valami megoldás, elbénáztam valamit? Előre is köszi.
Szia Radu! A tegnapi kérdésem annyival egészíteném ki, hogy lehet nem is jó helyen tettem fel a kérdést, mert ez az MT4-ben lehet valami érdekesség. Próbáltam Visual módban is a tesztet, úgy régi időpontokra is 2010 stb. szépen rajzolja. Egy hosszabb időszakra 20150101-től 20171231-ig a visuál mód kirajzolja az összes gyertyát, csak hát jóval lassabb (akkor is ha az Ugrás ide gombot használom). Ezek után azt nem értem, ha a fenti 3 éves időszakot visuálban megjeleníti, akkor sima futtatás után a Chart nyitása gomb ezt miért nem tudja, és miért csak 2015 okt 30-tól vannak adatok?
Bocs hogy ilyen hosszúra sikerült a kérdésem.
A 2147483647 az a szám, amelyet egy 32 bites egész szám felvehet. Ez a MT4 korlátozása, és emiatt nem tudsz ennél több gyertyát visszamenőlegesen a charton látni. Elviekben ez bőségesen elegendő kell legyen, hiszen ha M1-es idősíkban gondolkodunk, akkor is kb. 1 491 308 napról van szó.
Milyen idősíknál jött elő a chart megnyitási probléma? A beállításoknál két szám van, mindkettőhöz ugyanezt írtad be?
Szia! Igen a Max oszlop a múltban és a charton is 2147483647 ennyi. H1-en 2015 okt 30 előtt nincs adat, M30-on 2016 ápr 29 előtt nincs, M5 2017 feb 24 előtt nincs adat. Visual módban a kijelölt időszakon mutatja, csinálja. Ha nem visualban megy, csak futás után szeretném a chart megnyitással megnézni a kötéseket, azokat nem mutatja.
Szerintem az a megoldás, hogy a vizualizáció során a TDS a saját adatait használja a megjelenítéshez, míg a “Chart megnyitás” során a brókercég alap adatait használja fel, abból meg csak annyi van, amennyit látsz.
Írtam Birtnek, hogy ez bug-e, illetve ha nem, akkor hogyan lehet megoldani ezt a problémát. Szerintem úgy, hogy átmásolod a TDS által legenerált HST fájlokat a brókercég eredeti adatainak helyére – de meglátjuk, hogy ő mit válaszol.
Szia NZ!
Birt megerősítette az elgondolásomat, amit fentebb írtam. A jelenség nem hiba, hanem tudatos működés eredménye. A visszateszt során létrejött HST fájlokkal – amik a gyertyaadatokat tartalmazzák – a TDS nem írja felül a terminálodban lévő aktuális gyertyadatokat. Ha ezt mégis szeretnéd, akkor két lehetőséged van:
1) Olvasd el ezt a leírást (elég a 19. pontig megcsinálnod, a többi érdektelen számodra)
2) Vagy: a TDS beállítási panelén, a Misc fülön kattintsd be az Always save the HST files when running a tick data backtest opciót. Figyelj arra, hogy ekkor ne legyen nyitva az érintett chartból semmilyen idősík abban a pillanatban, amikor a visszatesztet elindítod. Tehát ha EURUSD-re tesztelsz, akkor ne legyen EURUSD chart nyitva a terminálban!
Én első körben a 2. opciót javaslom. Megjegyzés: akármelyik megoldást is alkalmazod, a brókercégtől letöltött adatok minden alkalommal felülírásra kerülnek! Majd jelezz vissza, hogy megoldódott-e így a problémád.
Szia Radu! Meg lehet rajtad keresztül is vásárolni a TDS-t ?
Üdvözöllek! Igen. Kattints ide!
Szia Radu! A véglegesített verzió gép függő?
Szia Csaba!
Igen, egy gépen tudod használni. Gépet 24 órán belül csak egyszer tudsz váltani.
Szia Radu!
Ha a Dukascopynál nyitok számlát, akkor rendelkezésemre állnak-e a jó minőségű múltbeli adatok, vagy azokat csak ezen a cégen keresztül lehet elérni?
Szia Laci!
Gyertyaadatok formájában valószínűleg rendelkezésedre állnak jobb minőségű adatok – nem próbáltam még közvetlenül a Dukascopy platformját.
Az biztos, hogy nem lesznek tick minőségűek, hiszen a MetaTrader4 kizárólag gyertyaadatokat tárol, és azokból próbálja – némi véletlenszerűsítéssel – lemodellezni a megtörtént eseményeket.
Ebben a bejegyzésemben részletesen megtalálod, hogy hogyan is működik az adatkezelés a MT4-ben, itt pedig egy Trader Klubos webinárium felvételét találod, amelyben szintén a visszatesztelésről beszélek. Áprilisban valószínűleg a tick minőségű visszatesztelésről tartok majd előadást, ha érdekel, javaslom, hogy iratkozz fel a Trader Klub hírlevél listájára is!
Szia, egy robotot indítottam ic markets demó számlán, előző nap nyitott 4 pozíciót, de a teszten ezen a napon nem nyitott egyet sem, mi lehet a baj? Dukascopy adatokat használtam változó spread-del és csúszásokkal, GMT+2-ben, mivel az ic markets ebben az időéltolásban van.
Kedves Vilmos!
A visszatesztelés során használt adatok és a brókercéged adatai nem egyeznek, ez sok különbséget okozhat. Teljes azonosságot így semmiképpen sem érdemes keresned köztük, hiszen a jó minőségű visszatesztelés célja nem ez. Mindig lesznek eltérések, hiszen a két brókercég gyertyaadatai eltérnek.
Mindemellett ilyen súlyos eltérésnél érdemes ellenőrizni, hogy:
Személyre szabottan egy konzultációval tudok rendelkezésedre állni. Ott jóval könnyebb dolgunk van, mert a képernyőmegosztás segítségével konkrétan végig tudjuk nézni a kérdéseidet.
Még valamit elfelejtettem: első körben a csúszást kapcsold ki, hátha az okozza az eltéréseket. Érdemes az Expert naplót is ellenőrizni, mert könnyen lehet, hogy valami oknál fogva nem tud kötni a robot (környezet beállításának hibája, kevés tőke stb).
Köszönöm a segítéget, végülis több brókernél nyitottam demó számlát és megnézem melyik hasonlít a legjobban a dukascopy-ra, mivel ott jó eredményeket értem el a teszteken. Várok pár napot és visszatesztelem melyik egyezik meg vele. Dukascopy is jó lenne csak 1 bajom van vele, hogy 1:30 a tőkeáttét, nekem 1:500-ra van szükségem a robothoz. Esetleg tudsz ajánlani te is egy brókert, ami a tőkeáttételen kívül megegyezik vele?
Ez jó ötlet, örülök, hogy találtál egy irányt, amellyel próbálkozol.
Pozícióépítős stratégiát használsz, azért kell az 500-as tőkeáttétel?
Brókercéget elvből nem szeretnék ajánlani, de a Google-ben az 500-as tőkeáttételre és reguláció országára keresve biztosan szembe jön majd pár találat. Én 1:30-as tőkeáttételű számlával rendelkezem, és a stratégia, amelyet használok, nem igényel magasabb tőkeáttételt. Amivel mostanában találkoztam, az legfeljebb 1:200-as áttétel (Svájc), ennél ritkán futok bele magasabba. Ausztráliában persze van több 500-as cég, de ott hamarosan tőkeáttétel csökkenés várható, ezt érdemes előre bekalkulálni.
1:30-as áttéttel is műkődik csak jóval alacsonyabb profitot hoz, meglátjuk mit mutatnak a demó számlák és beszámolok az eredményről. Köszönöm a segítséget.
OK, nincs mit! ;)
Szia, 1 nap lement és vissza teszteltem. Az az érdekes, hogy még a ducascopy saját adataival visszatesztelve sem ugyanazt mutatja :D. Viszont azóta találtam egy ígéretes brókert, akinek a demó számláján szépen dolgozik a robot. Naplójában nincs hiba, mindent végre tud hajtani, míg ugyanezekkel a beállításokkal más brókereknél nem így viselkedik. A spread-ek nagyrészt azonosak, de mégsem tud stopp loss és take profit szinteket végrehajtani sokszor. Érdekes, hogy ennyire változó a brókerek piaca, annak ellenére, hogy magyrészt azonos feltétekkel fut rajta a robot. ?
Igen, ez sajnos így van. Tick Data Suite-ot használsz? A csúszás nincs véletlenül bekapcsolva?