Utilisation des informations de Reading data from Dukascopy tick binary file J'ai implémenté ma propre bibliothèque de téléchargement de flux de données de ticks Dukas en C#.Dukas Tick Data - Problème d'ordre de grandeur sur devis
Le lien ci-dessus confirme que les données sont stockées au format big endian et doivent être converties. La réponse finale sur le lien ci-dessus indique également le format du fichier est la suivante:
INT1 est seconde dans cette heure (cela devrait effectivement être millisecondes)
int2 est Ask * 10000
INT3 est l'offre * 10000
flottant1 est Demandez Volume
float2 est Volume Bid
J'utilise l'extrait de code suivant pour lire les valeurs à partir des données binaires téléchargées et non compressé:
int hourMs = IPAddress.HostToNetworkOrder(br.ReadInt32());
double ask = IPAddress.HostToNetworkOrder(br.ReadInt32())/10000.0;
double bid = IPAddress.HostToNetworkOrder(br.ReadInt32())/10000.0;
br.ReadSingle(); // ask vol - don't need
br.ReadSingle(); // bid vol - don't need
Utilisation TickStory, je l'ai téléchargé les données de tiques pour les symboles équivalents et dates, et confirmé que les valeurs de milliseconde sont correctes.
Cependant, les prix acheteur/vendeur sont erronés d'un ordre de grandeur. À partir de quelques vérifications rapides, tout prix de paires croisées de JPY (et également d'or) est un ordre de grandeur trop bas, et toutes les autres paires sont d'un ordre de grandeur trop élevé. Corrigés manuellement, ils correspondent parfaitement aux prix que j'ai téléchargés depuis TickStory.
Maintenant, je pourrais simplement changer le diviseur ci-dessus à 100 000 et utiliser 1000 à la place comme un cas spécial pour JPY croix/or - mais c'est juste un bodge, et je suis sûr que ce n'est pas nécessaire.
Y a-t-il quelque chose que je me trompe, que ce soit dans le format ou la conversion endian?
Merci
Merci pour le commentaire - Je tire un total vide malheureusement en localisant leur documentation après des heures de recherche jusqu'à présent, je suis chanceux, j'ai trouvé l'autre réponse StackOverflow. Je continuerai à chercher. – Hoodlum