Questions d'un "mannequin - page 204

 

J'ai essayé de regarder les fichiers de l'histoire de la HCC par intérêt.

Il s'avère que la ligne d'enregistrements de données à l'intérieur du binaire hcc commence par FileSeek(handle,15333,SEEK_SET) , et se présente comme suit

4 octets int Séparateur

4 octets int datetime

Double de 8 octets Ouvert

Double de 8 octets Haut

Double de 8 octets Bas

Double de 8 octets Fermer

1 ou 2 octets int TickVolume

1 ou 2 octets int Spread

et jusqu'à 4 octets de volume

Et la longueur des deux ou trois derniers int's est déterminée par le premier Separator, d'après ce que j'ai compris. Je ne comprends pas comment ? Pouvez-vous me dire comment déterminer qu'un ou plusieurs octets seront les 2-3 derniers int's ?

 
ANG3110:

Un indice s'il vous plaît...

Je pense l'avoir deviné - Separator contient une structure de lecture de données en code 16 octets. Comme Separator=18385028, en 16ème du bit le plus bas 4888811, c'est-à-dire 4 octets, 8 octets .... 1 octet.

Est-ce que cela semble être le cas ?

P.S. C'est exactement la façon dont les fichiers sont lus, sauf que vous devez sauter 189 octets entre les jours.

Je comprends maintenant pourquoi les développeurs ne rendent pas ces fichiers publics. Il ne s'agit pas seulement de la synchronisation avec le serveur, mais il semble qu'ils aient peur de se voir reprocher la structure et l'organisation des fichiers, comme de véritables "Woe from Wit". Ils sont trop bon marché pour ajouter Aski, mais pour toutes sortes de réassurances contre la non-synchronisation, eh bien, ils ont fait un vaisseau atomique entier "Lenin". Personnellement, je ne comprends pas toutes ces perversions et je suis triste.

 
ANG3110:
Je comprends maintenant pourquoi les développeurs ne rendent pas ces fichiers publics. Il ne s'agit pas seulement de la synchronisation avec le serveur, mais il semble qu'ils aient peur de se voir reprocher la structure et l'organisation des fichiers, comme un véritable "malheur de Wit". Ils sont trop bon marché pour ajouter Aski, mais pour toutes sortes de réassurances contre la non-synchronisation, eh bien, ils ont fait un vaisseau atomique entier "Lenin". Personnellement, je ne comprends pas et je suis triste de toutes ces distorsions.

Les fichiers *.HCC sont des blocs de données compressés, ce qui signifie qu'ils ne sont pas directement lisibles.

Ces fichiers servent de données d'entrée pour créer des délais de travail compressés, qui sont placés dans le sous-répertoire /cache.

 
Renat:

Les fichiers *.HCC sont des blocs de données compressés, ce qui signifie qu'ils ne sont pas lisibles directement.

Ces fichiers servent de données sources pour la création d'échéances de travail non compressées, qui sont placées dans le sous-répertoire /cache.

Renate. Pourquoi ont-ils rendu ça si compliqué ? Est-ce justifié ? Je ne suis pas un programmeur et peut-être que quelque chose m'échappe, mais regarder l'ordre des entrées est tout simplement effrayant. Est-ce pratique pour votre propre travail ?

En fait, bien sûr, je le regardais pour voir si je pouvais écraser les fichiers hcc. Mais après avoir vu leur complexité, je ne veux pas les analyser davantage. En ce moment, je regarde les cotations de FXCM sur la démo. Mais pour une raison quelconque, l'historique ne date que d'octobre. J'ai un compte chez eux, mais sans majoration avec commission. J'utilise leur API pour télécharger les minuties de TS2 depuis des années et j'utilise également Asks. J'ai voulu les implémenter dans MT5 pour rendre mes tests plus réalistes. Mais maintenant, je n'en ai pas envie. Si les développeurs ne nous fournissent pas la structure complète des fichiers hcc, nous devrons faire des tests dans MT4 en utilisant des scripts lisant des données réelles avec Askas à partir des fichiers historiques disponibles. A propos, FXOpen donne l'historique avec Askas directement dans MT4. C'est génial. C'est dommage qu'ils ne puissent pas être utilisés dans le testeur. Mais au moins on peut le tester avec des scripts.

 
ANG3110:

J'ai essayé de regarder les fichiers d'historique de la HCC par intérêt.

Il s'avère que la ligne d'enregistrement des données dans le binaire hcc commence par FileSeek(handle,15333,SEEK_SET)

et ce qu'il y a dans ces 15333 premiers octets, pouvez-vous le découvrir ?

ANG3110:

Je pense l'avoir deviné - le séparateur contient la structure de lecture des données en code 16 bits. Comme Separator=18385028, en 16ème du bit le plus bas 4888811, c'est-à-dire 4 octets, 8 octets .... 1 octet.
Est-ce que cela semble être le cas ?

hmm, ça y ressemble. il s'avère que le fichier est lu bloc par bloc, en faisant varier la taille du bloc en fonction du séparateur spécifié.

P.S. C'est exactement comme ça que les fichiers sont lus, sauf qu'entre les jours, il faut sauter 189 octets.

c'est aussi à propos du hcc ?

J'ai remarqué que les jours commencent vraiment avec le "header". Dans lequel se trouve le nom du personnage, etc. Ce chapeau donne probablement quelques informations quantitatives sur les données contenues dans ce bloc journalier.


Pourquoi ont-ils rendu ça si compliqué ? Est-ce justifié ?
100% justifié. Pour enregistrer et conserver le volume des données transférées.


PS

N'abandonnez pas le sujet, car il est très intéressant de créer ses propres minutes, à moins, bien sûr, que le terminal ne les écrase lors d'une nouvelle synchronisation avec le serveur.
 
Malheureusement, les fichiers hcc ne peuvent pas être modifiés - ils seront inévitablement écrasés lors de la synchronisation.

Nous disposons d'un format de compression très efficace ; sans lui, il y aurait beaucoup plus de trafic sur le réseau.
 
Je travaille sur un Windows non russe, j'ai réglé la langue de MetaEditor sur le russe, mais lorsque j'appelle l'aide (F1), elle s'affiche en anglais. Pouvez-vous me dire s'il y a autre chose à changer en russe, pour que l'aide s'affiche en russe. J'ai un Windows russe à la maison et tout va bien.
 
paladin800:
Je travaille sur un Windows non russe, j'ai réglé la langue de MetaEditor sur le russe, mais lorsque j'appelle l'aide (F1), elle s'affiche en anglais. Pouvez-vous me dire s'il y a autre chose à changer en russe, pour que l'aide s'affiche en russe. J'utilise un Windows russe à la maison et tout va bien.
Regardez dans les répertoires, y a-t-il un fichier d'aide en langue russe ?
 
Yedelkin:
Et regardez dans les répertoires, avez-vous un fichier Handbook en russe ?
Merci d'avoir orienté mes pensées dans la bonne direction. J'avais un fichier "mql5.chm" (en anglais). Je l'ai supprimé et j'ai téléchargé "mql5_russian.chm" depuis mon site web, j'ai activé MetaEditor, puis F1, et l'aide en russe.
 
paladin800:
Je travaille sur des Windows non russes, j'ai réglé la langue de MetaEditor sur le russe, mais lorsque j'appelle l'aide (F1), elle s'affiche en anglais. Savez-vous s'il y a autre chose qui devrait être changé en russe, pour que l'aide s'affiche en russe ? À la maison, j'utilise un Windows russe et tout est normal.

Après avoir changé de langue dans MetaEditor, l'avez-vous redémarré ?

Nous allons le vérifier.

Raison: