Rechercher sur le site

indicateur ATDMF sur logiciel waldata

sur 3
Aller au dernier message
Posté par : xav le lillois le 11 Nov 2005, 10:06
bonjour à tous,

je suis en train de me metttre à l'Analyse dynamique et je recherche pour mon logiciel waldata les indicateurs suivants :
- SAR
- Stochastiques
- script pour indiquer les périodes 7 et 23

merci d'avance

Xavier
Posté par : dupilon le 11 Nov 2005, 10:36
Xav,

J' ai pas Waldata, mais les périodes 7 et 23, c 'est simplement les Moyennes Mobiles. Pour les autres indicateurs, ils doivent être dans le logiciel, sauf le SAR dynamique, mais je n'ai pas la formule ad hoc, n' ayant pas ce logiciel.....
Posté par : erico le 11 Nov 2005, 10:46
xav le lillois a écrit:
bonjour à tous,

je suis en train de me metttre à l'Analyse Dynamique et je recherche pour mon logiciel waldata les indicateurs suivants :
- SAR
- Stochastiques
- script pour indiquer les périodes 7 et 23

merci d'avance

Xavier
c'est JCP qui a tout ça en magasin si je me souviens bien
Posté par : airbustrader le 11 Nov 2005, 11:00
xav,

Voici le script sous platinium d'une courbe dynamique permettant le repérage des cours 7 et 23 (affichage en rouge). Cette courbe dynamique doit être attachée aux bar charts des prix:

dim Src,Cours as variant
dim Nv1,Nv2 as variant
dim idcol,Niveau1,Niveau2 as integer

Cours=tcrs
src=Cours-Cours

Niveau1=-7
Niveau2=-23

FixeElemTd(Src,Niveau1,1)
FixeElemTd(Src,Niveau2,1)

idcol=RgbToColor(225,31,40)
Nv1=tref(Cours,niveau1)
Nv2=tref(Cours,niveau2)

'Partie optionnelle permettant d'afficher des points
'IgStylo(idcol,Ig_PsPlein, 'IgLigne(niveau1,Nv1,Niveau1,Nv1)
'IgStylo(ClRouge,Ig_PsPlein, 'IgLigne(niveau2,Nv2,Niveau2,Nv2)
'Fin de la partie optionnelle

'Affichage du résultat
Result=Src

Airbustrader
Posté par : airbustrader le 11 Nov 2005, 11:04
xav,

Voici maintenant le script du STO Analyse dynamique:

Indicateur STO (script à copier dans l'onglet formules):

dim vResultat as variant
dim vDonnees as variant
dim dValeur as double
dim coefficient as double
dim i as integer
dim taille as integer

dim vMoyenne as variant

vDonnees = tstoch(tbchart,LONGUEUR,1)
vResultat = tmma( vDonnees, 3 )
dValeur = valeurElemTD( vResultat, LONGUEUR + LISSAGE )

taille = tailleTD( vResultat )
coefficient = 1 / LISSAGE

for i = LONGUEUR + LISSAGE + 1 to taille
dValeur = dValeur + coefficient * ( valeurElemTD( vDonnees, i ) - dValeur )
fixeElemTD( vResultat, i, dValeur )

next

result = vResultat


Dans l'onglet Parametre, il faut creer deux parametres:
* LONGEUR = 14
* LISSAGE = 3

Airbustrader
Posté par : airbustrader le 11 Nov 2005, 11:11
xav,

Voici pour finir le script du SAR modifié Analyse dynamique:

Indicateur SAR (script à copier dans l'onglet formules):

dim vHaut as variant
dim vBas as variant
dim vResultat as variant
dim hMax as integer
dim h0 as integer
dim h1 as integer
dim haut ( 1 ) as double
dim bas ( 1 ) as double
dim plusHaut( 1 ) as double
dim plusBas ( 1 ) as double
dim tendance( 1 ) as integer
dim paraSAR ( 1 ) as double
dim facteur as double
dim periode as integer
dim nombrePeriodes as integer

'Modifications pour afichage SAR en deux couleurs'
'------------------------------------------------'
dim a as integer
dim Src,IdCol1,IdCol2 as variant
dim Val1,Val2 as double
'Fin modifications'

h0 = 0
h1 = 1

vResultat = tcrs
vHaut = tph
vBas = tpb
nombrePeriodes = tailleTD( vHaut )
paraSAR (h0) = valeurElemTD( tcrs, 1 )
tendance(h0) = -1
haut (h0) = valeurElemTD( vHaut, 1 )
bas (h0) = valeurElemTD( vBas , 1 )
plusHaut(h0) = haut(h0)
plusBas (h0) = bas (h0)

for periode = 1 to nombrePeriodes

h0 = 1 - h0
h1 = 1 - h1

haut(h0) = valeurElemTD( vHaut, periode )
bas (h0) = valeurElemTD( vBas , periode )
plusHaut(h0) = max( haut(h0), plusHaut(h1))
plusBas (h0) = min( bas (h0), plusBas (h1))

if periode = 1 then
tendance(h0) = 1
else
if tendance(h1) = 1 and paraSAR(h1) > bas(h0) then
tendance(h0) = -1
elseif tendance(h1) = -1 and paraSAR(h1) < haut(h0) then
tendance(h0) = 1
else
tendance(h0) = tendance(h1)
end if
end if

if tendance(h0) = 1 then
if tendance(h1) <> 1 then
facteur = INITIAL
paraSAR (h0) = plusBas(h0)
plusBas (h0) = bas (h0)
plusHaut(h0) = haut (h0)
else
if plusHaut(h0) > plusHaut(h1) and facteur < LIMITE then
facteur = facteur + min( ACCELERATION, LIMITE - facteur )
end if
paraSAR(h0) = paraSAR(h1) + facteur * ( plusHaut(h0) - paraSAR(h1) )
end if
paraSAR(h0) = min( paraSAR(h0), min( bas(h0), bas(h1)))
else
if tendance(h1) <> -1 then
facteur = INITIAL
paraSAR (h0) = plusHaut(h0)
plusBas (h0) = bas (h0)
plusHaut(h0) = haut (h0)
else
if plusBas(h0) < plusBas(h1) and facteur < LIMITE then
facteur = facteur + min( ACCELERATION, LIMITE - facteur )
end if
paraSAR(h0) = paraSAR(h1) + facteur * ( plusBas(h0) - paraSAR(h1) )
end if
paraSAR(h0) = max( paraSAR(h0), max( haut(h0), haut(h1)))
end if

fixeElemTD( vResultat, periode, paraSAR(h1))

next

result = vResultat

'Modifications pour affichage SAR en deux couleurs'
'-------------------------------------------------'
Src=tcrs
IdCol1=RgbToColor(225,31,40)
IdCol2=RgbToColor(39,222,34)

For a = 0 to TailleTd(vResultat)
Val1=ValeurElemTd(vResultat,-a)
Val2=ValeurElemTd(Src,-a-1)
If(Val1 > Val2) then
IgStylo(IdCol1,Ig_PsPlein,5)
Else
IgStylo(IdCol2,Ig_PsPlein,5)
End if
IgLigne(-a,Val1,-a,Val1)
Next
'Fin de la modification'

Dans l'onglet paramètres il faut créer les parametres suivants:
*INITIAL = 0.02
* ACCELERATION = 0.02
* LIMITE = 0.2

Airbustrader
Posté par : jcp31 le 11 Nov 2005, 11:11
Salut,

quelques billes ...

A+

JCP

Librairie "Outils":

' =======================================================================================
' ---------------------------------------------------------------------------------------
' Nom : MT2-ADGM : Outils
' Fichier : 816648622.wrsrc
' Type : librairie
' Version : 1.0
' Modifié le : 8 janvier 2004
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Description : cette librairie contient tous les outils de base utilisés pour
' l'élaboration du système MT2-ADGM
' ---------------------------------------------------------------------------------------
' Copyright (C) Jean-Charles Pouplard
' ---------------------------------------------------------------------------------------
' =======================================================================================

' =======================================================================================
' fonction : lfRangValide
' description : rang de la première donnée valide pour un variant
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' paramètres :
' vSerie - variant dans lequel on recherche la première donnée valide
' lRang - rang (numéro de période) à partir duquel on recherche la première donnée
' valide
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' retour : rang de la première donnée valide (ou -1 si aucune donnée valide n'a été
' trouvée)
' =======================================================================================
function lfRangValide( vSerie as variant , ¤
lRang as long ) as long

dim lNombrePeriodes as long ' nombre de périodes du variant en entrée
dim lRangValide as long ' rang de la première donnée valide
dim i as long ' indice de contrôle de boucle

' ---------------------------------------------------------------
' la recherche n'est faite que si le variant en entrée est valide
' ---------------------------------------------------------------
if estNull( vSerie ) = 0 then

' ---------------------------------------------------------------
' on initialise les données utilisées dans la boucle de recherche
' ---------------------------------------------------------------
lNombrePeriodes = tailleTD( vSerie )
lRangValide = -1
i = max( 1, lRang )

while i <= lNombrePeriodes and lRangValide = -1
if estNull( valeurElemTD( vSerie, i )) = 0 then
' -------------------------------------------------------------------
' une donnée valide a été trouvée. On le signale (arrêt de la boucle)
' -------------------------------------------------------------------
lRangValide = i
else
' -----------------------------------------------
' donnée non valide: on passe à l'élément suivant
' -----------------------------------------------
i = i + 1
end if
wend

' -----------------------------------------------
' on renvoie le rang de la première donnée valide
' -----------------------------------------------
result = lRangValide

else
' -------------------------------------
' le variant en entrée n'est pas valide
' -------------------------------------
result = -1
end if

end function
Posté par : jcp31 le 11 Nov 2005, 11:13
La suite (Bibliothèque indicateurs ...):

' =======================================================================================
' ---------------------------------------------------------------------------------------
' Nom : MT2-ADGM : Indicateurs
' Fichier : 816651062.wrsrc
' Type : librairie
' Version : 1.0
' Modifié le : 8 janvier 2004
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Description : cette librairie contient tous les indicateurs utilisés par le
' système MT2-ADGM
' ---------------------------------------------------------------------------------------
' Copyright (C) Jean-Charles Pouplard
' ---------------------------------------------------------------------------------------
' =======================================================================================
IncludeLib "816648622:MT2-ADGM : Outils"

' =======================================================================================
' fonction : vfMMM
' description : calcul de la moyenne mobile modifiée
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' paramètres :
' vDonnees - suite de valeurs pour laquelle on veut calculer la moyenne
' lLongueur - longueur de la moyenne
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' retour : moyenne mobile modifiée
' =======================================================================================
function vfMMM( vDonnees as variant , ¤
lLongueur as long ) as variant

dim vResultat as variant ' variant résultat
dim dValeur as double ' valeur courante de la moyenne mobile
dim dCoefficient as double ' coefficient à appliquer pour le calcul de la nouvelle valeur
dim lDebut as long ' rang de la première valeur valide
dim lTaille as long ' nombre d'éléments à prendre en compte
dim i as long ' indice de contrôle de boucle

' ------------------------------------------------------------------------------
' la première valeur calculée est une moyenne mobile arithmétique traditionnelle
' ------------------------------------------------------------------------------
vResultat = tmma( vDonnees , lLongueur )

' ---------------------------------------------------------------------------------
' on initialise ensuite les données utilisées lors du calcul itératif de la moyenne
' ---------------------------------------------------------------------------------
lTaille = tailleTD( vResultat )
dCoefficient = 1 / lLongueur
lDebut = lfRangValide( vResultat, lLongueur )

if lDebut <> -1 then
dValeur = valeurElemTD( vResultat, lDebut )

' --------------------------------------------------------------
' on calcule itérativement les valeurs successives de la moyenne
' --------------------------------------------------------------
for i = lDebut to lTaille
dValeur = dValeur + dCoefficient * ( valeurElemTD( vDonnees, i ) - dValeur )
fixeElemTD( vResultat, i, dValeur )
next
end if

result = vResultat

end function

' =======================================================================================
' fonction : vfStochM
' description : calcul du stochastique modifié (lissé par une moyenne mobile modifiée)
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' paramètres :
' vBarChart - valeurs (barres) pour lesquelles on veut calculer le stochastique
' lLongueur - longueur
' lLissage - lissage
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' retour : stochastique modifié
' =======================================================================================
function vfStochM( vBarChart as variant , ¤
lLongueur as long , ¤
lLissage as long ) as variant

' ----------------------------------------------------------------------------------
' le stochastique modifié est une stochastique lissé par une moyenne mobile modifiée
' ----------------------------------------------------------------------------------
result = vfMMM( tstoch( vBarChart, lLongueur, 1 ), lLissage )

end function

' =======================================================================================
' fonction : vfSAR
' description : calcul du parabolique SAR de Wilder
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' algorithme : l'algorithme de calcul du parabolique SAR de Wilder est basé sur la
' description qui en est faite dans le livre "New Concepts in Technical Trading
' Systems". En particulier, les règles suivantes ont été appliquées:
' * à chaque période, on calcule la valeur du parabolique pour la période suivante,
' * la toute première valeur du parabolique (i.e.: pour la 2ème période) est le cours
' de clôture de la première période. La tendance initiale est supposée croissante,
' * le parabolique n'est pas défini pour la période 1,
' * le facteur d'accélération est mis à jour avant de calculer la nouvelle valeur du
' parabolique,
' * le parabolique s'inverse quand que les cours sont cassés (et non pas simplement
' touchés).
'
' ATTENTION: la valeur du parabolique est calculée pour la périodes 'n+1' avec les
' données de la période 'n'. Il conviendra donc de faire un DECALAGE - tref(,-1) - pour
' l'utiliser, par exemple, en tant qu'indicateur (sur un graphique).
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' paramètres :
' vHaut - variant des cours au plus haut
' vBas - variant des cours au plus bas
' vCloture - variant des cours de clôture
' dInitial - valeur initiale du facteur d'accélération
' dIncrement - valeur d'incrément du facteur d'accélération
' dLimite - valeur limite du facteur d'accélération
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' retour : parabolique modifié (variant)
' =======================================================================================
function vfSAR( vHaut as variant , ¤
vBas as variant , ¤
vCloture as variant , ¤
dInitial as double , ¤
dIncrement as double , ¤
dLimite as double ) as variant

dim vResultat as variant ' variant résultat
dim dFacteur as double ' facteur d'accélération courant
dim lNombrePeriodes as long ' nombre de périodes à prendre en compte
dim dtHaut (1) as double ' historique: cours au plus haut
dim dtBas (1) as double ' historique: cours au plus bas
dim dtExtreme (1) as double ' historique: extrème sur la tendance
dim dtSAR (1) as double ' historique: valeur du parabolique
dim ltTendance(1) as long ' historique: tendances
dim h0 as long ' historique: indice de l'élément courant
dim h1 as long ' historique: indice de l'élément précédent

dim i as long ' indice de contrôle de boucle

' ----------------------------------------------------------------------
' préparation du variant résultat et contrôle de la validité des données
' en entrée. On suppose que vCloture, vHaut et vBas concernent la même
' valeur et le même type de période.
' ----------------------------------------------------------------------
vResultat = vCloture

if estNull( vResultat ) = 0 then

' -----------------------------------------------------------------------------------
' initialisation des indices de contrôle de l'historique. Ces indices vont permettre
' de gérer facilement un historique en mode "circulaire" (période courante et période
' précédente).
' -----------------------------------------------------------------------------------
h0 = 0
h1 = 1

' -------------------------------------------------------------------------------
' initialisation des variables locales et calcul de la première valeur du SAR. Ce
' calcul, en dehors de la boucle principale, permet d'éviter les tests inutiles
' -------------------------------------------------------------------------------
lNombrePeriodes = tailleTD( vResultat )
dFacteur = dInitial
dtHaut (h0) = valeurElemTD( vHaut, 1 )
dtBas (h0) = valeurElemTD( vBas , 1 )
dtExtreme (h0) = dtBas(h0)
dtSAR (h0) = dtBas(h0)
ltTendance(h0) = 1

' ----------------------------------------------------------------------------------------
' on rend "indéfinie" la valeur de la 1ère période du parabolique (utilisation du résultat
' d'une division par 0)
' ----------------------------------------------------------------------------------------
fixeElemTD( vResultat, 1,(1/0) )

' -------------------------------------------------
' on calcule itérativement la valeur du parabolique
' -------------------------------------------------
for i = 2 to lNombrePeriodes

' --------------------------------------------------------------
' on effectue la rotation au niveau de l'historique (0->1, 1->0)
' --------------------------------------------------------------
h0 = 1 - h0
h1 = 1 - h1

' --------------------------------------------------------------
' on récupere le plus haut et le plus bas de la période courante
' --------------------------------------------------------------
dtHaut(h0) = valeurElemTD( vHaut, i )
dtBas (h0) = valeurElemTD( vBas , i )

if ltTendance(h1) = 1 then
' --------------------------------------------------
' la tendance est croissante, on actualise l'extrème
' --------------------------------------------------
dtExtreme(h0) = max( dtExtreme(h1), dtHaut(h0))

if dtSAR(h1) > dtBas(h0) then
' ---------------------------------------------------------
' inversion de tendance (on passe en tendance décroissante)
' ---------------------------------------------------------
ltTendance(h0) = -1
dFacteur = dInitial
dtSAR(h0) = dtExtreme(h0) ' max( dtExtreme(h0), max( dtHaut(h0), dtHaut(h1)))
dtExtreme(h0) = dtBas(h0)

else
' -------------------------------------------------------------------------
' on reste en tendance croissante et on actualise le facteur d'accélération
' (le cas échéant)
' -------------------------------------------------------------------------
ltTendance(h0) = 1

if dtExtreme(h0) > dtExtreme(h1) and dFacteur < dLimite then
dFacteur = min( dLimite, dFacteur + dIncrement) ' dFacteur + min( dIncrement, dLimite - dFacteur )
end if

' ----------------------------------------------------------------------------
' on calcule ensuite la nouvelle valeur du parabolique en contrôlant bien que
' cette valeur ne soit pas supérieure au plus bas de la période courante ou de
' de la période précédente
' ----------------------------------------------------------------------------
dtSAR(h0) = dtSAR(h1) + dFacteur * ( dtExtreme(h0) - dtSAR(h1) )
dtSAR(h0) = min( dtSAR(h0), min( dtBas(h0), dtBas(h1)))

end if
else
' ----------------------------------------------------
' la tendance est décroissante, on actualise l'extrème
' ----------------------------------------------------
dtExtreme(h0) = min( dtExtreme(h1), dtBas(h0))

if dtSAR(h1) < dtHaut(h0) then
' -------------------------------------------------------
' inversion de tendance (on passe en tendance croissante)
' -------------------------------------------------------
ltTendance(h0) = 1
dFacteur = dInitial
dtSAR(h0) = dtExtreme(h0) ' min( dtExtreme(h0), min( dtBas(h0), dtBas(h1)))
dtExtreme(h0) = dtHaut(h0)

else
' ---------------------------------------------------------------------------
' on reste en tendance décroissante et on actualise le facteur d'accélération
' (le cas échéant)
' ---------------------------------------------------------------------------
ltTendance(h0) = -1

if dtExtreme(h0) < dtExtreme(h1) and dFacteur < dLimite then
dFacteur = min( dLimite, dFacteur + dIncrement) ' dFacteur + min( dIncrement, dLimite - dFacteur )
end if

' -----------------------------------------------------------------------------
' on calcule ensuite la nouvelle valeur du parabolique en contrôlant bien que
' cette valeur ne soit pas inférieure au plus haut de la période courante ou de
' de la période précédente
' -----------------------------------------------------------------------------
dtSAR(h0) = dtSAR(h1) + dFacteur * ( dtExtreme(h0) - dtSAR(h1) )
dtSAR(h0) = max( dtSAR(h0), max( dtHaut(h0), dtHaut(h1)))

end if
end if

' ------------------------------------------------------------------------------------
' on met à jour le parabolique. ATTENTION: la valeur du parabolique est calculée pour
' la périodes 'n+1' avec les données de la période 'n'. Il conviendra donc de faire
' un décalage - tref(,-1) - pour l'utiliser, par exemple, en tant qu'indicateur sur
' un graphique.
' ------------------------------------------------------------------------------------
fixeElemTD( vResultat, i, dtSAR(h0))
next

end if

result = vResultat

end function
Posté par : airbustrader le 11 Nov 2005, 11:14
xav,

et la ligne de signal (moyenne mobile) pour le STO (dans l'onglet formules):

Indicateur:

dim vResultat as variant
dim vDonnees as variant
dim dValeur as double
dim coefficient as double
dim i as integer
dim debut as integer
dim taille as integer

vDonnees = tsource()
vResultat = tmma( vDonnees , LONGUEUR )

taille = tailleTD( vResultat )
coefficient = 1 / LONGUEUR

debut = LONGUEUR
dValeur = valeurElemTD( vResultat, debut )

while debut <= taille AND estNull( dValeur )
debut = debut + 1
dValeur = valeurElemTD( vResultat, debut )
wend

for i = debut to taille
dValeur = dValeur + coefficient * ( valeurElemTD( vDonnees, i ) - dValeur )
fixeElemTD( vResultat, i, dValeur )
next

result = vResultat

Dans l'onglet parametre, il faut creer le parametre LONGEUR = 3

Airbustrader
Posté par : jcp31 le 11 Nov 2005, 11:15
Et enfin, l'utilisation de tout ça pour avoir un SAR colorisé (courbe dynamique)::

' =======================================================================================
' ---------------------------------------------------------------------------------------
' Nom : MT2-ADGM : SAR
' Fichier : 816651261.wrsrc
' Type : indicateur dynamique
' Version : 1.01
' Modifié le : 1er novembre 2004
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Description : parabolique SAR
' ---------------------------------------------------------------------------------------
' Copyright (C) Jean-Charles Pouplard
' ---------------------------------------------------------------------------------------
' =======================================================================================
IncludeLib "816651062:MT2-ADGM : Indicateurs"

dim vPlusHaut as variant
dim vTrendBaissier as variant
dim vTrendHaussier as variant
dim dValeurSAR as double
dim dValeurPlusHaut as double
dim vResultat as variant
dim lTailleResultat as long
dim i as long

vResultat = tref( vfSAR( tph(), tpb(), tcrs(), INITIAL, INCREMENT, LIMITE ), -1 )
result = vResultat

' ------------------------------------------------------------------------------------
' portion de code basée sur un code publié par François Chanson (Waldata) pour colorer
' en rouge/vert les points en fonction du trend du SAR
' ------------------------------------------------------------------------------------

vPlusHaut = tPh()

vTrendBaissier = rgbToColor(225,31,40)
vTrendHaussier = rgbToColor(39,222,34)

lTailleResultat = tailleTD( vResultat )

for i = 0 to lTailleResultat

dValeurSAR = valeurElemTd( vResultat, -i )
dValeurPlusHaut = valeurElemTd( vPlusHaut, -i - 1 )

if ( dValeurSAR >= dValeurPlusHaut ) then
igStylo( vTrendBaissier, Ig_PsPlein, 5 )
else
igStylo( vTrendHaussier, Ig_PsPlein, 5 )
end if

igLigne( -i, dValeurSAR, -i, dValeurSAR )

next
Posté par : jcp31 le 11 Nov 2005, 11:17
Pour ceux que ça intéresse, je peux fournir un ".zip" tout près contenant le Système MT2 plus quelques autres joyeusetés pour Walmaster Platinium (Advanced, RT, ...). Si vous êtes intéressés merci de m'envoyer votre E-Mail à jean-charles.pouplard@wanadoo.fr (je devrais pouvoir vous packager ça d'ici dimanche soir ...).

A+

Jean-Charles
Posté par : jcp31 le 11 Nov 2005, 11:44
exemple d'écran:



Cliquez pour élargir cette image.

bourse