yopi a écrit :En regardant les données brutes, cela semble être de l'échantillonnage, 1 record par seconde. Si plusieurs records pour la même seconde, c'est du à l'asynchro entre les contributeurs et un changement de cotation dans la seconde. Tu confirmes ?
yopi a écrit :Il pourrait aussi être intéressant de pouvoir paramétrer la fréquence des relevés, 0.5 secondes par exemple.
Effectivement, TakaPeek fonctionne par échantillonage, en récupérant les données temps réel sur la page d'acceuil d'IG.
L'échantillonage est lancé toutes les 250 millisecondes et le programme récupère les cours affichés à ce moment là.
La page HTML récupérée ne contient l'heure que sous le format HH:MM et TakaPeek ajoute les secondes par rapport à son heure machine.
Cette technique est limitée par :
1) La fréquence de rafraichissement de la page d'IG
2) Le temps d'analyse du HTML récupéré pour en extraire les cours (dépend de la puissance de la machine)
En pratique, on constate que cette technique ne permet de récupérer au mieux que deux cours par seconde et que ces deux cours ont souvent la même valeur entre deux 1/2 secondes.
Exemple pour le 17/04 à 12h04 ou la volativité était élevée :
2015-04-17 12:04:05 11902,5
2015-04-17 12:04:05 11902,0
2015-04-17 12:04:06 11902,0
2015-04-17 12:04:06 11900,5
2015-04-17 12:04:07 11900,5
2015-04-17 12:04:07 11901,3
2015-04-17 12:04:08 11901,3
2015-04-17 12:04:08 11901,5
yopi a écrit :Si le cours ne bouge pas pendant 5 secondes, nous avons 5 records dans le fichier avec un cours identique. Pourquoi ne pas en avoir qu'un ?
Le programme n'analyse pas les cours récupérés, il se contente de les récupérer et de les écrire dans un fichier. S'il avait effectué un filtrage pour éliminer les cours identiques d'une seconde à l'autre, il aurait fallu effectuer un traitement supplémentaire par la suite pour les reconstituer lors de la création des bougies.
yopi a écrit :Il pourrait être intéressant d'avoir le record indiquant la ms près, même dans le cas d'un échantillonnage à la seconde (du fait des multiples contributeurs)?.
Le programme ajoute de lui-même l'information de la seconde qui n'est pas fournie par IG. Cet ajout est effectué en fonction de l'horloge de la machine qui n'est pas synchronisée avec celle d'IG : il n'est donc pas fiable à 100%. Ce n'aurait pas de sens d'ajouter en plus des ms qui seraient, pour le coup, totalement artificielles, d'autant plus que le but est de fusionner des données provenant de plusieurs machines.
yopi a écrit :De combien de contributeur actif disposes-tu maintenant

?
Le nombre de contributeur varie suivant les possibilités et les disponibilités de chacun.
Les derniers contributeurs sont :
-
beni-des-dieux
(*)
benoist
clodreb
jized
(*)
-
et moi
J'en profite pour lancer un appel aux nouveaux contributeurs éventuels : le but n'est pas d'avoir plus de ticks par seconde (la technique employée ne le permet pas), mais d'éviter les trous de cotations dans une journée, les données des uns pouvant compléter celles des autres.
yopi a écrit :Dommage qu'il ne fonctionne que sous windows
Oui, d'autant plus que je développe sous mac (en faisant tourner windows avec parallele desktop)
(*) jized et
beni-des-dieux ont développé leur propre outil de récupération des cours en utilisant les
API d'IG.
Cette méthode est plus fiable et fourni plus de données par seconde. Je suis en train de réécrire le programme de fusion de tous les cours reçus pour qu'il tire un meilleur parti de leurs données.