Adatok konvertálása MT4 számára olvasható formátumra (CSV2FXT) 2017-09-06T23:08:52+00:00

Kedves látogató!

Ennek az oldalnak a tartalma már idejétmúlt.

Ide kattintva eljuthatsz a 2017-ben frissített  Jó minőségű adatok tartalomhoz.

Amennyiben ezt az oldalt olvasod, remélhetőleg már túlestél a Bevezető és az Adatok beszerzése oldalak elolvasásán, és már nyers (CSV) adatokkal is rendelkezel.

Amennyiben php módszerrel töltötted le a fájlokat, a .bin és .bi5 kiterjesztésű fájlokból a process_dukascopy_data.php fájl segítségével készíthetsz majd csv formátumú fájlt – erről bővebben itt olvashatsz!

Alapvető információk

A régebbi metódusoktól eltérően most már nem kell különböző szkripteket használni a különböző módszerekkel letöltött adatokhoz: minden CSV adatot a CSV2FXT nevű szkripttel leszünk képesek konvertálni. A szkriptet ide kattintva lehet letölteni.

A letöltés után a zip fájl tartalmát Metatraderünk gyökérkönyvtárába tömörítsük ki. Ügyeljünk arra, hogy a terminál összes könyvtára felett legyen írási és módosítási jogunk, valamint hogy a telepítés könyvtára – Windows Vista és 7 esetén –  semmiképp sem legyen a C:\Program Files (x86) könyvtáron belül. Erről bővebben itt olvashattok egy részben ide kapcsolható lehetséges hibajelenség kapcsán.

FXT és HST fájlok

Mivel a Metatrader nem lesz képes közvetlenül a CSV fájlokból backtesztelni, ezért szükséges hogy átkonvertáljuk számára elfogadható formátumba.

Az MT4 két fájlból gazdálkodik: az egyiknek a HST, míg a másiknak az FXT kiterjesztése van.

A HST fájlok a gyertyaadatokat tartalmazzák: minden idősíkhoz készül majd egy fájl, amennyiben igényeljük ezen fájlok létrejöttét. Méretük az FXT fájlokhoz képest nagyságrendekkel kisebb.

Az FXT fájlok a megadott időszak konkrét tick adatait tartalmazzák, magyarul minden konkrét árváltozást tartalmaznak. Ebben az FXT fájlban van benne továbbá fix spread esetén a spread nagysága, az esetleges jutalék mértéke, a tőkeáttét mérete, a minimum lotméret, maximum lotméret, stb. – magyarul a kereskedés feltételei. A tőkeáttéten, a jutalékon és a spreaden kívül minden beállítást a konvertáláskor érvényes MT4 terminálból örököl a fájl. Ily módon a generált FXT fájlokat bármilyen terminálban futtatva mindig ugyanazt az eredményt fogjuk kapni, hiszen a kereskedés kondíciói minden esetben bele lesznek égetve az FXT fájlokba.

Ha soha nem tervezünk visual mode-ban tesztelni, a HST fájlok akkor is elengedhetetlenek, hiszen az MT4 az indikátorok számára innen kérdezi le az árakat.

Fontos tudni,  hogy ha nem teszünk így akkor az FXT -ben lévő árak és az MT4 brókertől letöltött gyertyaadatai nem fognak egyezni. Ilyenkor a jelenség a következő: olyan helyeken lesznek kötések jelölve, ahol elvileg nem is járt ár (a mi brókerünk szerint). Az ilyen kavarodásokat elkerülendő, mindenképp generáljuk le egyszer az FXT adatok mellé a HST gyertyaadatokat is!

Konvertálás

A legfontosabb alapvető információk a konvertálással kapcsolatban:

  • Mindenképpen legyen kapcsolatod a brókerhez, lévén hogy az információkat (piaci kondíciók, spread, stb.) innen fogja beleégetni a CSV2FXT a konvertálás során az fxt fájlokba
  • A konvertáláshoz bármilyen (akár a legújabb) MT4 build is használható. A 409-es korlátozás csak és kizárólag a már elkészült adatok birt’s patch-csel történő felhasználása során szükséges, adatot generálni akár a 445-ös MT4 builddel is lehet.

A következő lépéseket kell megtenned:

  1. Ha még nem töltötted le, töltsd le a CSV2FXT csomagot
  2. Tömörítsd ki a zip fájl tartalmát az MT4 főkönyvtárába; győződj meg arról, hogy minden fájl jó helyre kerüljön! (CSV2FXT.mq4 és CSV2FXT.ex4 az experts\scripts, FXTHeader.mqh az experts\include\ -ba, CsvReader.dll pedig az experts\libraries\ -be!) Különösen figyelj oda, ha több MT4 telepítés van a gépeden!
  3. Ugyanezen terminál experts\files\ könyvtárába másold be a tick adatokat tartalmazó CSV fájlt
  4. Nyisd meg egy konvertálni kívánt instrument chartját; amennyiben EURUSD.csv fájlt szeretnél konvertálni, mindenképpen EURUSD chartot kell nyitnod!
  5. Válaszd ki azt az idősíkot, amelyre elsődlegesen adatot szeretnél generálni. Ha például M1-re szeretnél FXT fájlt generálni, akkor válaszd ki az M1-es idősíkot. Fontos megjegyezni, hogy az M1-re legenerált adatok semmilyen más idősíkon nem fognak működni – azokat is külön le kell generálnod!
  6. Győződj meg arról, hogy a terminál kapcsolatban van a brókerrel. (ezt a jobb alsó sarokban tudod ellenőrizni; amennyiben “Nincs kapcsolat”, “Általános hiba” vagy bármilyen más szöveget látsz, az nem felel meg!)
  7. Győződj meg arról, hogy a DLL hívások engedélyezve vannak. Nyisd meg az Eszközök->Beállítások panelt, és az Expert Advisors panelen minden sor legyen beikszelve a “Kézi megerősítés kérése” és a “DLL funkciós hívások megerősítése” sorokon kívül!
  8. Kattints duplán a CSV2FXT soron a Navigátor panel Scriptek szekciójában
  9. Állítsd be a paramétereket a felugró ablakban:
    CSV2FXT_version – a szkript aktuális verzióját hivatott jelölni ez a paraméter, a működésre semmilyen ráhatása nincs.
    CsvFile – üresen hagyható, amennyiben az instrumentum neve megegyezik a csv fájl nevével. Amennyiben nem, szimplán csak add meg a fájl konkrét nevét.
    CreateHst – a HST gyertyaadatok generálásához ennek a paraméternek true értéken kell lennie. Nyugodtan false -ra állíthatod, amennyiben már egyszer legeneráltad a gyertyaadatokat, és újra FXT fájlokat akarsz generálni más idősíkokra. Amennyiben a GMT/DST beállításokat módosítod, a HST adatokat is újra kell generálni. A szkript minden idősíkra legenerálja a HST adatokat – függetlenül attól, hogy mely idősíkra/idősíkokra generálod az FXT fájlokat.
    Spread – itt megadható az a fix spread, amely az FXT fájlba kerül beégetésre. Sztenderd pipet kell megadni, azaz 2.3 esetén 2.3 pip lesz a spread. Amennyiben változó spreadet szeretnél használni, hagyd érintetlenül ezt a paramétert.
    StartDate és EndDate – ezekkel a paraméterekkel adható meg a tól-ig intervalluma a generált adatoknak. Amennyiben itt nem adsz meg semmit, akkor a szkript a legkorábbi adattól a legutolsó adatig minden ticket figyelembe vesz.
    UseRealSpread – ha a valós spreaddel szeretnél a későbbiekben visszatesztelni, akkor állítsd ezt a kapcsolót true-ra. A generálás folyamán a CSV adatok alapján fog mentésre kerülni a Bid és az Ask ár különbsége. Amennyiben a birt’s patch szkriptet használod majd a visszateszteléshez, mindenképpen engedélyezned kell ott is a real spread opciót. A Tick Data Suiteezzel szemben automatikusan felismeri a valós spread alapú adatokat, szóval ott nem lesz további teendőd.
    SpreadPadding – változó spread használata esetén lehetőséged van az értékeket “eltolni” – itt adhatod meg, hogy mennyivel. Ha pl. ide 0.8 értéket adsz meg, akkor minden változó spread 0.8 -cal lesz eltolva.
    PipsCommission – amennyiben szeretnéd, hogy a visszatesztelés során jutalék legyen elvonva a kötéseid után, itt megadhatod. A mód per round trip, és az értéket pipben kell kifejezni.
    Leverage – a tőkeáttét nagysága
    FXTGMTOffset – az FXT időzónájának beállítása. Ha el akarsz térni a nullától, add meg saját értéked ide.
    CSVGMTOffset – a CSV adatok GMT beállítása. A szkript automatikusan megpróbálja megállapítani a helyes értéke a különböző adatok számára, úgyhogy ezt az opciót jobb alapértelmezettként hagyni. Amennyiben úgy tapasztalod, hogy a szkript mégsem ismerte fel helyesen az időzónát, itt bármikor megadhatod kézzel.
    FXTDST – a téli/nyári időszámítás használata. 0 – kikapcsolva, 1 – amerikai mód, 2 – európai mód.
    CSVDST – a CSV fájlban lévő adatok téli/nyári időszámítás módja. A szkript automatikusan megállapítja ezt is – amennyiben mégsem, járj el az FXTDST-hez hasonlóan.
    TimeShift– amennyiben ez a kapcsoló true, az összes adat dátuma 28 évvel korábbra lesz csúsztatva. Ezen opció olyan expertek miatt vált szükségessé, amelyek fix dátumokkal próbálnak csalni. A 28 évvel ezelőtti dátumok identikusak a hetek állása és a szökőévek szempontjából. (a fordító megjegyzése: az átlag felhasználónak és robotteszternek ezt a kapcsolót nem kell bántania)
    CreateM1, CreateM5, CreateM15, CreateM30, CreateH1, CreateH4, CreateD1, CreateW1, CreateMN – ezen kapcsolók true -ra állításával az adott idősíkra tudsz FXT fájlokat generáltatni egy körön belül. Csak akkor használd ezen opciókat, ha több idősíkon akarsz majd tesztelni. A szkript – függetlenül ezen beállításaidtól – az aktuális idősíkra mindenképpen legenerálja az FXT fájlt.
  10. Kattints az “OK” gombra! A generálás elindul, és 20-45 percen belül elkészül. Az generálás időtartama természetesen az időintervallumtól és az adatok mennyiségétől is függ. Az aktuális folyamatot a program kijelzi a chart bal felső sarkában, és a konvertálás végeztével hangjelzést is hallasz majd. A konvertálás során az Expertek fülön különböző információk tűnhetnek fel, ezért érdemes néha odapillanati.

Az elkészült fájlok

Ha egyszer elkészül a szkript, akkor legalább egy FXT fájl és sok HST fájl lesz az eredmény a terminálod experts\files\ könyvtárában. Mielőtt használni kezdenénk őket, a helyes könyvtárakba kell őket mozgatnunk.

Megjegyzés: a cikk első megjelenése óta a CSV2FXT szkript a konvertálás végeztével megkérdezi, hogy átmozgassa-e az elkészült fájlokat a megfelelő helyekre. Ha igennel válaszolsz, akkor az alábbi pontokat már nem szükséges megtenned. Természetesen ha külön terminálban akarsz tesztelni (például build verzió különbség miatt), akkor az alábbi lépések továbbra is szükségesek!

  1. Lépj ki a MT4 terminálból!
  2. Mozgasd át az összes HST kiterjesztésű fájlt az experts\files\ könyvtárból a history\[szervered neve] könyvtárba! Figyelj oda, mert esetenként több szerverkönyvtár is van a history mappán belül – ellenőrizd, hogy éppen melyikhez vagy csatlakozva!
  3. Mozgasd át az összes FXT fájlt az experts\files\ könyvtárból a tester\history\ könyvtárba!
A történet ezen pontján elkészültek az adataid, és készen állsz a backtesztelésre.
Fontos tudnod, hogy amennyiben az ingyenes birt’s patch segítségével szeretnél majd tesztelni, akkor a Start gomb megnyomása előtt további teendőid vannak.
A Tick Data Suite használata során a backtesztelés előtt nem kell semmilyen szkriptet futtatnod.

Erről bővebben a cikksorozat utolsó részében lesz szó.