Fájl olvasása hst idézi történelem MetaTrader 4

idézetek történelem kép Metatrader 4 van .hst meghosszabbítása és a kereskedelmi terminál adatmappán a történelem mappát. Vannak csoportosítva alkönyvtárakat illeszkedő nevű a kiszolgáló nevét, például: ForexClub-MT4 Demo Server vagy Alpári-ECN-Live. A fájlnevek kezdődik a neve a kereskedelmi eszköz, továbbá meghatározza az időkeret (perc), például az óra időkeret: EURUSD60.hst. A nap: GBPUSD1440.hst.

Vedd idézetek ezeket a fájlokat végezzük halasztott módot, a legfrissebb adatok lesznek garantáltan kell öblíteni a RAM a fájl csak akkor, ha bezárja a Metatrader terminál. Más szóval, itt csak azokat a munka történeti adatok és a valós idejű árfolyamok lesz, hogy bármely más módon.

Oszlopok száma / gyertya tárolt .hst fájlokat. állítsa a paraméter Max. bár a történelem, a terminál beállításait tartalmazó ablakot, amely által okozott parancsot a főmenü Eszközök ‣ beállításai (Charts lapon).

Katalógus kereskedelmi Metatrader 4 terminál adat nyitni a főmenü parancsot: Fájl ‣ Open Data Catalog. A kényelem, másolja bármely .hst fájlt a Temp mappát meghajtó D.

Ahhoz, hogy használni ezt a fájlt, nyissa meg az olvasás bináris módban:

.hst fájlformátumot leírt idézetek történelem fájlformátum HST a Metatrader 4 elején a fájlt tároljuk .hst fejlécében 148 bájtos fejrészt. Az első 4 bájtos fejlécet található a verziószám az adatok formátumát. A régebbi verzió (legfeljebb 509), hogy egy méret 400. új épít - méret 401 Meg kell kitalálni, hogy a méret számát, mert ez határozza meg a számát és méretét a mezőket a fájlt.

Olvasni az adatokat a fájlt fogja használni a módszert Read (n). ahol n - bájtok számát szeretnénk olvasni. Csomagolja ki az adatokat fogja használni a kicsomagolni struct modul. az első paraméter - a formátum string ( "i" a teljes 4 bájtos egész számok, "L" - az előjel nélküli 4 bájtos integer, "Q" - az előjel nélküli 8-bájtos egész számok, "d" - a valós 8 bájtos egész számokat, szimbólum "<" в начале строки формата указывает, что первым хранится младший байт многобайтного целого числа), второй параметр – исходные данные. Функция unpack всегда возвращает в качестве результата кортеж (tuple), поэтому надо явно указать, что мы хотим записать в переменную не весь кортеж, а его первый элемент (приходится ставить запятую после имени переменной перед знаком присваивания или явно обращаться к нулевому элементу кортежа):

Következő, olvassa el a header file .hst szerzői string (64 bájt); nevét kereskedelmi eszköz (jele 12 bájt); időkeret száma (4 byte); száma tizedesjegyek idézetek (4 byte); fájl létrehozásakor (4 byte); Az utolsó szinkronizálás adatainak (4 bájt), és 52 bájt adattal a használaton kívüli (későbbi használatra fenntartva).

Az új formátum 60 byte-os rekord hossza (add 4 byte-os terjedése és 8 bájtos valós kötet, dátum és az idő most is elfoglalják 8 bájt).

A töredék egy Python programot, hogy olvassa idézetek a fájl .hst régi és az új formátumok:

Itt korlátozódtak olvasási bejegyzés 5, és megtöri a ciklust.

Továbbra is felhívni olvasva danyh .hst fájlt egy külön funkció, így volt kényelmes a használata a jövőben. Azt adja meg, hogy az olvasó, mint egy gyakorlatot.