Dokumentation

BAR6-Format

Das binäre Datenformat von partiqon für effiziente, transparente Speicherung und schnellen Zugriff auf Marktdaten. Designed für Geschwindigkeit, kompakte Speicherung und keinen Vendor-Lock-in.

Überblick

BAR6 ist ein offenes, dokumentiertes Binärformat für historische Marktdaten. Es unterstützt sowohl Bar-Daten (OHLCV) als auch Rohtick-Daten mit Bid/Ask-Informationen. Anders als proprietäre Formate ist BAR6 vollständig dokumentiert und kann von jedem Werkzeug gelesen werden.

Dateistruktur

Jede BAR6-Datei beginnt mit einem binären Header, gefolgt von den Datensätzen:

[Header (24 Bytes)] [Datensatz 1] [Datensatz 2] ... [Datensatz N]

Header (24 Bytes)

OffsetGrößeTypFeldBeschreibung
04uint32magic0xB16B4246 ("BAR6" im Little-Endian)
41uint8versionFormat-Version (1 = aktuell)
51uint8data_type0 = Bar, 1 = Tick
61uint8timeframe_minutesAggregationszeitraum (z.B. 5 = M5)
733stringsymbolNull-terminierter Instrumentname

Bar-Datensatz (44 Bytes)

Jeder Bar enthält Open, High, Low, Close und Volume:

OffsetGrößeTypFeldBeschreibung
08int64timestampUnix-Millisekunden
88doubleopenEröffnungskurs
168doublehighHöchstkurs im Bar
248doublelowTiefstkurs im Bar
328doublecloseSchlusskurs
404uint32volumeAnzahl Ticks

Tick-Datensatz (34 Bytes)

Jeder Tick-Datensatz enthält Bid, Ask und Volume:

OffsetGrößeTypFeld
08int64timestamp (Unix-Millisekunden)
88doublebid
168doubleask
244uint32bid_volume
284uint32ask_volume

Daten konvertieren

Nutze DataConvert, um deine Historien (CSV, MT4 .hst) in das BAR6-Format zu konvertieren. DataConvert läuft lokal auf deinem Rechner — deine Rohdaten verlassen nie deinen PC.

Warum BAR6?

BAR6 programmatisch lesen

BAR6 ist so einfach, dass es sich in jeder Sprache lesen lässt. Hier ein Python-Pseudocode:

import struct with open('data.bin', 'rb') as f: # Header lesen magic, version, data_type, tf, symbol = struct.unpack('IBBx33s', f.read(40)) # Bars lesen while True: record = f.read(44) if not record: break ts, o, h, l, c, v = struct.unpack('dddddI', record) # Bar verarbeiten...