STOCK/FOREX CANDLE CHART USING CANVAS API

cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014 - 15 janv. 2010 à 00:30
blackwizzard Messages postés 1258 Date d'inscription mercredi 21 mars 2001 Statut Membre Dernière intervention 21 juin 2009 - 15 janv. 2010 à 03:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51118-stock-forex-candle-chart-using-canvas-api

blackwizzard Messages postés 1258 Date d'inscription mercredi 21 mars 2001 Statut Membre Dernière intervention 21 juin 2009 2
15 janv. 2010 à 03:10
Merci pour les recommandations :)
C'est un projet perso, codé pour mes besoins, et destiné à tourner sous Chrome, donc la compatibilité IE c'est pas un soucis.

highcharts est une lib interessante, je connaissait pas :) Par contre, ils ne gerent pas les Chandeliers japonnais, qui est essentiel pour ce genre d'application (chaque barre indique à la fois la valeur à l'ouverture, fermeture, plus haute et plus basse valeur)

J'ai appliqué l'astuce pour les array.length dans les boucles for, ça ne change pas grand chose dans ce cas, car le plus gros du temps de calcul viens des indicateurs. Mais c'est bon à savoir :)

Le but du projet est de pouvoir analyser le marché des devises via des indicateurs que je développe moi même. L'analyse permet de prendre des décisions: acheter, vendre, fermer une position, ou attendre une opportunité.
L'alternative est d'utiliser la plateforme de trading MT4, et de programmer les indicateurs en MQL (http://codebase.mql4.com/indicators), mais ce langage est tres basique et ne convient pas à certains indicateurs complexes que je souhaite développer. L'ideal serais de programmer tout ça en Java, C ou autre langage compilé, mais je ne suis pas assez bon pour ça, et étant donné que je n'ai pas besoin de calculs en temps reel, le javascript est une solution qui convient.

Pour les graph, j'ai aussi besoin d'options précises: Plusieurs indicateurs sur un meme graph, différentes options de scaling: scaling par courbe, par indicateur (certains indicateurs ont plusieurs courbes), scaling basé sur le graphique principal, ...

Le code posté n'est qu'un travail en progrès, et la version actuel est bien plus évoluée. Je posterai une update quand ce sera plus lisible (ajout des labels, ...)
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
15 janv. 2010 à 00:30
salut!

Je sais pas tros à quoi sert ton cript, n'étant pas un pro de la finance.

Est-ce que ton script pourrais s'adapter à d'autre données, enfin pour faire de simple graph?
Là y'a pas de légende, description c'est normale?

Ta classe jscandles n'exploite pas le prototype, qui est le modèle de classe en javascript, c'est là ou l'on définit les membres de la classe, sans, pas d'héritage, de plus ca ralentie l'instanciation (du moin si tu dois créer plusieurs instances).

Ta méthodes setData est inutile, pas d'encapsulation en js, pas besoin d'un setters juste pour initialiser une valeur.

Quand tu boucles sur un tableaux, n'utilises pas dans ta zone conditionnelle une comparaison sur la variable length du tableau , mais enregistre celle ci avant dans une variable, sans quoi a chaque itérations l'interpréteur recalculera la taille du tableau.

La fonction inverseArray est inutile, il existe la méthode Array, reverse pour ça.

Perso j'aurais utilisé une librairie comme excanvas pour générer le canvas (12 ko compilé), car ie il connait pas :(

Il existe une super librairie de graph http://highcharts.com/ jette un coup d'œil je suis sur que ca t'intéressera.

a++