Sujet : Graphe AT PRo : programmation
Premiere Page   Page précédente   Page : sur 171   Page suivante   Derniere Page
Page N°  40   Sommaire des pages établi par LONGWAY et adapté par max-et-min   
Ce sommaire ne couvre pas la totalité des pages

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#267672Posté le : le 04-09-2004 10:27:18    
====================================================

Bonjour Jeff_X,

Merci pour ta très intéressante étude du marché de Toronto. Les rendements que tu obtiens sont tout à fait prometteurs et montrent encore une fois tout l'intérêt qu'il y a à s'intéresser aux divergences même si elles ne constituent qu'un outil parmi d'autres dans la palette d'outils que nous avons à notre disposition pour décider de prendre position ou non.
La 1ère version prototype du programme que tu as utilisée introduisait il est vrai un nombre d'erreurs trop important. La dernière version (pas encore en ligne) intègre davantage de contrôles sur la "pureté" des divergences détectées, si je puis dire. Elle devrait être plus fiable, bien que restant encore un produit perfectible. FOKI vient de la tester, elle semble OK. Encore un petit coup de peigne à donner aux différents messages que le programme émet pour l'utilisateur et elle sera prête.

Je voudrais encore insister sur le point qui me paraît primordial à bien comprendre puisqu'il a orienté nos recherches et que certains de nos amis on peut-être perdu de vue :
des valeurs choisies pour les paramètres P1, P2, P3 et P4 vont dépendre les résultats obtenus. C'est ainsi. Nous ne faisons pas de détection entièrement automatique de toutes les divergences qui sont apparues dans une fenêtre temporelle donnée. Nous ne détectons pour l'instant sur une action donnée que la divergence éventuelle, la plus récente, compte tenu des valeurs des 4 paramètres P1 à P4.
Je pense qu'avant d'envisager une détection purement automatique il est plus utile de traiter les divergences cours/RSI et cours/STOCH.

Bonne fin de semaine.
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#267699Posté le : le 04-09-2004 12:28:21    
====================================================

Pour Aiglon,

Il n'y a pas d'astuce, VAL_CONF_DIV_NEG n'est pas encore écrit mais cela ne devrait pas poser de problème. Dès que VAL_CONF_DIV_POS sera finalisé, l'autre le sera aussi.
Pour ce qui concerne ta question au sujet d'une règle statistique utilisant les Bandes de Bollinger, dis-moi de quoi il s'agit précisément et j'essaierai de t'aider.


Pour Leo_s,

Merci pour tes encouragements. Le programme tel qu'il est conçu pour l'instant ne peut pas utiliser le MACD Histo. Il faudra le réécrire pour ce faire.


Bon week-end à vous.


édité le : 04-09-2004 12:30:45 
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#268095Posté le : le 06-09-2004 12:21:12    
====================================================

Bonjour,

Voici la dernière version du programme de la règle indicateur "DIV_POS_MACD".

Le principe de détection reste pour l'instant globalement le même que celui qui a été présenté dans les posts précédents à une différence mineure près :

- On ne cherche les creux sur les cours que dans un laps de temps de O à P3 périodes AVANT les dates des creux correspondants sur la MACD et non plus P3 périodes de part et d'autre de ces dernières.

La détection n'est pas automatique, elle dépend essentiellement des valeurs que vous choisirez pour les 4 paramètres P1, P2, P3 et P4. N'hésitez pas à les modifier et à faire plusieurs essais.

Le programme de la règle indicateur dérivée : "DIV_POS_COURS" est inchangé.
Il en est de même du programme de la règle statistique associée : "VAL_CONF_DIV_POS".

----------------------------------------------
//DIV_POS_MACD
//
//RECHERCHER LA DIVERGENCE POSITIVE EVENTUELLE
//LA PLUS RECENTE ENTRE LES COURS ET LA MACD
//DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4
//V 3.2 DU 05/09/2004
//

//----------------------------------------------
//PARAMETRES :
//
//LA DIVERGENCE POTENTIELLE EVENTUELLE DEVRA
//SE TROUVER P4 PERIODES AVANT LA FINHISTO.
//
//LE 1ER CREUX SUR LA MACD DEVRA SE TROUVER
//DANS LES P1 PERIODES PRECEDANT FINHISTO-P4.
//
//LE 2EME CREUX SUR LA MACD DEVRA SE TROUVER
//DANS LES P2 PERIODES PRECEDANT LE 1ER.
//
//CHAQUE CREUX SUR LES COURS POURRA SE TROUVER
//DANS LES P3 PERIODES PRECEDANT LES SOMMETS
//CORRESPONDANTS SUR LA MACD.
//
//----------------------------------------------

//INITIALISATIONS
//
COURBE1=MACD
COURBE2=MMACD
MINI=1000
D1=0
D2=0
N=0
M=0

//SE PLACER P4 PERIODES AVANT FINHISTO
//POUR COMMENCER LA RECHERCHE
//

SI RANGHISTO=FINHISTO-P4
ALORS

//CHERCHER UN 1ER CREUX (CI1) ET SA DATE (DATE_CI1) SUR LA MACD
//
I=0
CI1=MINI
TANTQUE I<=P1 FAIRE
SI MACD(I+1)<0
ALORS
SI MACD(I+2)>MACD(I+1) ET MACD(I+1)<MACD(I)
ALORS
SI MACD(I+1)<=CI1 ET MACD(I+1)<MMACD(I+1)
ALORS
CI1=MACD(I+1)
DATE_CI1=FINHISTO-P4-(I+1)
D1=I+1
I=P1
FINSI
FINSI
FINSI
I=I+1
FINTANTQUE

SI D1=0
ALORS
AFFICHER "=========PAS DE 1ER CREUX RECENT SUR LA MACD========="
AFFICHER "===============MODIFIEZ P1 ET/OU P4 ================="
STOP
FINSI

//CHERCHER LE 1ER CREUX (CC1) ET SA DATE (DATE_CC1)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 1ER CREUX SUR LA MACD
//
CC1=BAS(FINHISTO-P4-DATE_CI1)
DATE_CC1=DATE_CI1
K=FINHISTO-P4-DATE_CI1+1
TANTQUE K<=FINHISTO-P4-DATE_CI1+P3 FAIRE
SI BAS(K)<=CC1
ALORS
CC1=BAS(K)
DATE_CC1=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

//CHERCHER LE 2EME CREUX PLUS ANCIEN (CI2)
//ET SA DATE (DATE_CI2) SUR LA MACD
//
J=D1+1
CI2=CI1
TANTQUE J<=P2+D1 FAIRE
SI MACD(J+2)>MACD(J+1) ET MACD(J+1)<MACD(J)
ALORS
SI MACD(J+1)<=CI2 ET MACD(J+1)<MMACD(J+1)
ALORS
CI2=MACD(J+1)
DATE_CI2=FINHISTO-P4-(J+1)
D2=1
FINSI
FINSI

SI D2=1
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (CI1--CI2)
//RESTE EN DESSOUS DE LA MACD
//
PENTE_I=(CI1-CI2)/(DATE_CI1-DATE_CI2)
POUR (FINHISTO-P4-DATE_CI2+1) COURS
POINT_I(0)= PENTE_I*(RANGPOUR-1)+CI2
SI POINT_I>MACD
ALORS
N=1
BREAK
FINSI
SI RANGPOUR>(DATE_CI1-DATE_CI2) ALORS BREAK
FINPOUR

SI N=0
ALORS
//CHERCHER LE 2EME CREUX (CC2) ET SA DATE (DATE_CC2)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 2EME CREUX SUR LA MACD
//
CC2=BAS(FINHISTO-P4-DATE_CI2)
DATE_CC2=DATE_CI2
K=FINHISTO-P4-DATE_CI2+1
TANTQUE K<FINHISTO-P4-DATE_CI2+P3 FAIRE
SI BAS(K)<=CC2
ALORS
CC2=BAS(K)
DATE_CC2=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

SI CC2>=CC1 //CC2 possible
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (CC1--CC2)
//RESTE AU DESSUS DES COURS DES COURS
//
PENTE_C=(CC1-CC2)/(DATE_CC1-DATE_CC2)
POUR (FINHISTO-P4-DATE_CC2+1) COURS
POINT_C(0) =PENTE_C*(RANGPOUR-1)+CC2
SI POINT_C>BAS
ALORS
M=1
BREAK
FINSI
SI RANGPOUR>(DATE_CC1-DATE_CC2) ALORS BREAK
FINPOUR

SI M=0 //Droite CC1-CC2 correcte
ALORS
J=P2+D1+1
SINON
D2=0
FINSI
SINON
D2=0
FINSI
SINON
D2=0
FINSI
FINSI
N=0
M=0
J=J+1
FINTANTQUE

SI D1<>0 ET D2=0
ALORS
AFFICHER "=========PAS DE DIVERGENCE POTENTIELLE========="
AFFICHER "===AVEC LES VALEURS ACTUELLES DES PARAMETRES==="
STOP
FINSI

//TRACER LES SEGMENTS DE LA DIVERGENCE POTENTIELLE
//
SI DATE_CC1-DATE_CC2<2
ALORS
AFFICHER "=============DIVERGENCE POTENTIELLE============"
AFFICHER "==========TROP PETITE POUR ETRE TRACEE========="
AFFICHER "===========MODIFIEZ EVENTUELLEMENT P4=========="
SINON
SI CC2>=CC1
ALORS
POUR (FINHISTO-P4-DATE_CI2+1) COURS
SEG_P_I(0)= POINT_I
SI RANGPOUR>(DATE_CI1-DATE_CI2) ALORS BREAK
FINPOUR

PENTE_C=(CC1-CC2)/(DATE_CC1-DATE_CC2)
POUR (FINHISTO-P4-DATE_CC2+1) COURS
SEG_P_C(0) =POINT_C
SI RANGPOUR>(DATE_CC1-DATE_CC2) ALORS BREAK
FINPOUR
FINSI
FINSI
FINSI

----------------------------------------------

Les "Propriétés" du programme ci-dessus ainsi que celles des autres programmes sont inchangées.

Merci pour vos remarques et critiques.
édité le : 06-09-2004 15:45:46 
  Retourner en haut de page

syrinx

(22 msg)

Plusieurs jours De 1 à 3 ans Non renseigné Actions françaises

#268283Posté le : le 06-09-2004 21:18:20 syrinx - syrinx -      
====================================================

Bonjour,
Je me suis permis d'utiliser le pgm de Smallcaps90 ci-dessous pour concevoir la version "Divergence négative" DIV_NEG_MACD.
Seuls changements à opérer dans les propriétés / DIV_POS_MACD:
courbe3 s'appelle SEG_N_I (au lieu de SEG_P_I)
courbe4 s'appelle SEG_N_C (au lieu de SEG_P_C)

pour DIV_NEG_COURS (équivalent de DIV_POS_COURS)
courbe1 s'appelle SEG_N_COURS (au lieu de SEG_P_COURS)


Code de DIV_NEG_MACD:
//DIV_NEG_MACD
//
//RECHERCHER LA DIVERGENCE NEGATIVE EVENTUELLE
//LA PLUS RECENTE ENTRE LES COURS ET LA MACD
//DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4
//DU 06/09/2004
//

//----------------------------------------------
//PARAMETRES :
//
//LA DIVERGENCE POTENTIELLE EVENTUELLE DEVRA
//SE TROUVER P4 PERIODES AVANT LA FINHISTO.
//
//LE 1ER SOMMET SUR LA MACD DEVRA SE TROUVER
//DANS LES P1 PERIODES PRECEDANT FINHISTO-P4.
//
//LE 2EME SOMMET SUR LA MACD DEVRA SE TROUVER
//DANS LES P2 PERIODES PRECEDANT LE 1ER.
//
//CHAQUE SOMMET SUR LES COURS POURRA SE TROUVER
//DANS LES P3 PERIODES PRECEDANT LES SOMMETS
//CORRESPONDANTS SUR LA MACD.
//
//----------------------------------------------

//INITIALISATIONS
//
COURBE1=MACD
COURBE2=MMACD
MAXI=0
D1=0
D2=0
N=0
M=0

//SE PLACER P4 PERIODES AVANT FINHISTO
//POUR COMMENCER LA RECHERCHE
//

SI RANGHISTO=FINHISTO-P4
ALORS

//CHERCHER UN 1ER SOMMET (SI1) ET SA DATE (DATE_SI1) SUR LA MACD
//
I=0
SI1=MAXI
TANTQUE I<=P1 FAIRE
SI MACD(I+1)>0
ALORS
SI MACD(I+2)<MACD(I+1) ET MACD(I+1)>MACD(I)
ALORS
SI MACD(I+1)>=SI1 ET MACD(I+1)>MMACD(I+1)
ALORS
SI1=MACD(I+1)
DATE_SI1=FINHISTO-P4-(I+1)
D1=I+1
I=P1
FINSI
FINSI
FINSI
I=I+1
FINTANTQUE

SI D1=0
ALORS
AFFICHER "=========PAS DE 1ER SOMMET RECENT SUR LA MACD========="
AFFICHER "===============MODIFIEZ P1 ET/OU P4 ================="
STOP
FINSI

//CHERCHER LE 1ER SOMMET (SC1) ET SA DATE (DATE_SC1)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 1ER SOMMET SUR LA MACD
//
SC1=HAUT(FINHISTO-P4-DATE_SI1)
DATE_SC1=DATE_SI1
K=FINHISTO-P4-DATE_SI1+1
TANTQUE K<=FINHISTO-P4-DATE_SI1+P3 FAIRE
SI HAUT(K)>=SC1
ALORS
SC1=HAUT(K)
DATE_SC1=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

//CHERCHER LE 2EME SOMMET PLUS ANCIEN (SI2)
//ET SA DATE (DATE_SI2) SUR LA MACD
//
J=D1+1
SI2=SI1
TANTQUE J<=P2+D1 FAIRE
SI MACD(J+2)<MACD(J+1) ET MACD(J+1)>MACD(J)
ALORS
SI MACD(J+1)>=SI2 ET MACD(J+1)>MMACD(J+1)
ALORS
SI2=MACD(J+1)
DATE_SI2=FINHISTO-P4-(J+1)
D2=1
FINSI
FINSI

SI D2=1
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (SI1-SI2)
//RESTE AU DESSUS DE LA MACD
//
PENTE_I=(SI1-SI2)/(DATE_SI1-DATE_SI2)
POUR (FINHISTO-P4-DATE_SI2+1) COURS
POINT_I(0)= PENTE_I*(RANGPOUR-1)+SI2
SI POINT_I<MACD
ALORS
N=1
BREAK
FINSI
SI RANGPOUR>(DATE_SI1-DATE_SI2) ALORS BREAK
FINPOUR

SI N=0
ALORS
//CHERCHER LE 2EME SOMMET (SC2) ET SA DATE (DATE_SC2)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 2EME SOMMET SUR LA MACD
//
SC2=HAUT(FINHISTO-P4-DATE_SI2)
DATE_SC2=DATE_SI2
K=FINHISTO-P4-DATE_SI2+1
TANTQUE K<FINHISTO-P4-DATE_SI2+P3 FAIRE
SI HAUT(K)>=SC2
ALORS
SC2=HAUT(K)
DATE_SC2=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

SI SC2<=SC1 //SC2 possible
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (SC1-SC2)
//RESTE EN DESSOUS DES COURS
//
PENTE_C=(SC1-SC2)/(DATE_SC1-DATE_SC2)
POUR (FINHISTO-P4-DATE_SC2+1) COURS
POINT_C(0) =PENTE_C*(RANGPOUR-1)+SC2
SI POINT_C<HAUT
ALORS
M=1
BREAK
FINSI
SI RANGPOUR>(DATE_SC1-DATE_SC2) ALORS BREAK
FINPOUR

SI M=0 //Droite SC1-SC2 correcte
ALORS
J=P2+D1+1
SINON
D2=0
FINSI
SINON
D2=0
FINSI
SINON
D2=0
FINSI
FINSI
N=0
M=0
J=J+1
FINTANTQUE

SI D1<>0 ET D2=0
ALORS
AFFICHER "=========PAS DE DIVERGENCE POTENTIELLE========="
AFFICHER "===AVEC LES VALEURS ACTUELLES DES PARAMETRES==="
STOP
FINSI

//TRACER LES SEGMENTS DE LA DIVERGENCE POTENTIELLE
//
SI DATE_SC1-DATE_SC2<2
ALORS
AFFICHER "=============DIVERGENCE POTENTIELLE============"
AFFICHER "==========TROP PETITE POUR ETRE TRACEE========="
AFFICHER "===========MODIFIEZ EVENTUELLEMENT P4=========="
SINON
SI SC2<=SC1
ALORS
POUR (FINHISTO-P4-DATE_SI2+1) COURS
SEG_N_I(0)= POINT_I
SI RANGPOUR>(DATE_SI1-DATE_SI2) ALORS BREAK
FINPOUR

PENTE_C=(SC1-SC2)/(DATE_SC1-DATE_SC2)
POUR (FINHISTO-P4-DATE_SC2+1) COURS
SEG_N_C(0) =POINT_C
SI RANGPOUR>(DATE_SC1-DATE_SC2) ALORS BREAK
FINPOUR
FINSI
FINSI
FINSI
//FIN CODE DIV_NEG_MACD

------------------------------------------------------------------
Code de DIV_NEG_COURS
//TRACER LE SEGMENT DE LA DIVERGENCE NEGATIVE
//SUR LES COURS
//

SEG_N_COURS=SEG_N_C
//FIN CODE DIV_NEG_COURS
------------------------------------------------------------

Merci pour vos remarques.
Cordialement.
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#268315Posté le : le 06-09-2004 23:42:04    
====================================================

Merci pour ton adaptation Syrinx.
Je viens de vérifier ton listing et je pense que tu as recopié une instruction qui ne sert plus à rien puisqu'elle est déjà présente plus haut, sans pour autant que cela entraîne une erreur rédhibitoire là où elle est recopiée.
L'instruction barrée en rouge gras ci-dessous est superflue (un effet non désiré du copier/coller sans doute...).

----------------------------------------
..........

//TRACER LES SEGMENTS DE LA DIVERGENCE POTENTIELLE
//
SI DATE_SC1-DATE_SC2<2
ALORS
AFFICHER "=============DIVERGENCE POTENTIELLE============"
AFFICHER "==========TROP PETITE POUR ETRE TRACEE========="
AFFICHER "===========MODIFIEZ EVENTUELLEMENT P4=========="
SINON
SI SC2<=SC1
ALORS
POUR (FINHISTO-P4-DATE_SI2+1) COURS
SEG_N_I(0)= POINT_I
SI RANGPOUR>(DATE_SI1-DATE_SI2) ALORS BREAK
FINPOUR

PENTE_C=(SC1-SC2)/(DATE_SC1-DATE_SC2)
POUR (FINHISTO-P4-DATE_SC2+1) COURS
SEG_N_C(0) =POINT_C
SI RANGPOUR>(DATE_SC1-DATE_SC2) ALORS BREAK
FINPOUR
FINSI
FINSI
FINSI
//FIN CODE DIV_NEG_MACD


----------------------------------------


Je profite de ce post pour corriger un petit oubli au niveau du TANTQUE du module de recherche du 2ème sommet (SC2) et de sa date (DATE_SC2) :

----------------------------------------
.............

SI N=0
ALORS
//CHERCHER LE 2EME SOMMET (SC2) ET SA DATE (DATE_SC2)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 2EME SOMMET SUR LA MACD
//
SC2=HAUT(FINHISTO-P4-DATE_SI2)
DATE_SC2=DATE_SI2
K=FINHISTO-P4-DATE_SI2+1
TANTQUE K<=FINHISTO-P4-DATE_SI2+P3 FAIRE
SI HAUT(K)>=SC2
ALORS
SC2=HAUT(K)
DATE_SC2=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

----------------------------------------

Il faut en effet transformer le signe "<" qui se trouvait dans le TANTQUE en "<=" pour faire la recherche de SC2 pendant les P3 jours pleins qui précèdent le sommet SI2 sur la MACD.
La même correction est à faire dans le programme de la règle indicateur "DIV_POS_MACD".

Deux petits exemples d'application des règles "DIV_NEG_MACD" et "DIV_NEG_COURS" pour terminer :

Pour Beneteau, divergence négative détectée avec les valeurs P1=25, P2=50, P3=4 et P4=0 :



Pour Thomson, divergence négative détectée avec les valeurs P1=10, P2=50, P3=3 et P4=5 :




A suivre : la règle statistique "VAL_CONF_DIV_NEG"...

Bonne soirée.

  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#269098Posté le : le 09-09-2004 10:57:16    
====================================================

Bonjour,

Voici les versions définitives des programmes des règles indicateurs et statistiques :

DIV_POS_MACD : détecte et trace la droite de la divergence positive la plus récente sur l'indicateur,
DIV_POS_COURS : trace la droite de la divergence sur les cours,

DIV_NEG_MACD et DIV_NEG_COURS : idem pour la divergence négative la plus récente,

VAL_CONF_DIV_POS : statistique associée à DIV_POS_MACD,
VAL_CONF_DIV_NEG : statistique associée à DIV_NEG_MACD.


DIVERGENCES POSITIVES :
-----------------------------
//DIV_POS_MACD
//
//RECHERCHER LA DIVERGENCE POSITIVE EVENTUELLE
//LA PLUS RECENTE ENTRE LES COURS ET LA MACD
//DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4
//V 3.2 du 08/09/2004
//

//----------------------------------------------
//PARAMETRES :
//
//LA DIVERGENCE POTENTIELLE EVENTUELLE DEVRA
//SE TROUVER P4 PERIODES AVANT LA FINHISTO.
//
//LE 1ER CREUX SUR LA MACD DEVRA SE TROUVER
//DANS LES P1 PERIODES PRECEDANT FINHISTO-P4.
//
//LE 2EME CREUX SUR LA MACD DEVRA SE TROUVER
//DANS LES P2 PERIODES PRECEDANT LE 1ER.
//
//CHAQUE CREUX SUR LES COURS POURRA SE TROUVER
//DANS LES P3 PERIODES PRECEDANT LES SOMMETS
//CORRESPONDANTS SUR LA MACD.
//
//P5=0 ACCEPTE LES DIVERGENCES DONT LES DROITES
//PRESENTENT DES INTERSECTIONS AVEC LES COURS
//ET/OU LA MACD.
//P5=1 NE LES ACCEPTE PAS.
//----------------------------------------------

//INITIALISATIONS
//
COURBE1=MACD
COURBE2=MMACD
MINI=1000

//SE PLACER P4 PERIODES AVANT FINHISTO
//POUR EFFECTUER LA RECHERCHE
//
SI RANGHISTO=FINHISTO-P4
ALORS

//CHERCHER UN 1ER CREUX (CI1) ET SA DATE (DATE_CI1) SUR LA MACD
//
I=0
CI1=MINI
TANTQUE I<=P1 FAIRE
SI MACD(I+1)<0
ALORS
SI MACD(I+2)>MACD(I+1) ET MACD(I+1)<MACD(I)
ALORS
SI MACD(I+1)<=CI1 ET MACD(I+1)<MMACD(I+1)
ALORS
CI1=MACD(I+1)
DATE_CI1=FINHISTO-P4-(I+1)
D1=I+1
FINSI
FINSI
FINSI
I=I+1
FINTANTQUE

SI D1=0
ALORS
AFFICHER "=========PAS DE 1ER CREUX RECENT SUR LA MACD========="
AFFICHER "===============MODIFIEZ P1 ET/OU P4 ================="
STOP
FINSI

//CHERCHER LE 1ER CREUX (CC1) ET SA DATE (DATE_CC1)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 1ER CREUX SUR LA MACD
//
CC1=BAS(FINHISTO-P4-DATE_CI1)
DATE_CC1=DATE_CI1
K=FINHISTO-P4-DATE_CI1+1
TANTQUE K<=FINHISTO-P4-DATE_CI1+P3 FAIRE
SI BAS(K)<=CC1
ALORS
CC1=BAS(K)
DATE_CC1=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

//CHERCHER UN 2EME CREUX PLUS ANCIEN (CI2)
//ET SA DATE (DATE_CI2) SUR LA MACD
//
J=D1+1
CI2=CI1
TANTQUE J<=P2+D1 FAIRE
SI MACD(J+2)>MACD(J+1) ET MACD(J+1)<MACD(J)
ALORS
SI MACD(J+1)<=CI2 ET MACD(J+1)<MMACD(J+1)
ALORS
CI2=MACD(J+1)
DATE_CI2=FINHISTO-P4-(J+1)
D2=1
//VERIFIER QUE LA MACD NE RESTE PAS TOUJOURS<MMACD
//ENTRE CI1 ET CI2
POUR FINHISTO-P4+1-DATE_CI2 COURS
SI MACD>MMACD
ALORS
R=1 //La MACD croise son signal entre CC1 etCC2
BREAK
FINSI
SI RANGPOUR>DATE_CI1-DATE_CI2 ALORS BREAK
FINPOUR
FINSI
FINSI

SI D2=1 ET R=1 //On a un creux CI2 possible
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (CI1--CI2)
//RESTE EN DESSOUS DE LA MACD
//
SI P5=1
ALORS
PENTE_I=(CI1-CI2)/(DATE_CI1-DATE_CI2)
POUR (FINHISTO-P4-DATE_CI2+1) COURS
POINT_I(0)= PENTE_I*(RANGPOUR-1)+CI2
SI POINT_I>MACD
ALORS
N=1
BREAK
FINSI
SI RANGPOUR>(DATE_CI1-DATE_CI2) ALORS BREAK
FINPOUR
FINSI

SI N=0 //Droite CC1--CC2 correcte
ALORS
//CHERCHER LE 2EME CREUX (CC2) ET SA DATE (DATE_CC2)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 2EME CREUX SUR LA MACD
//
CC2=BAS(FINHISTO-P4-DATE_CI2)
DATE_CC2=DATE_CI2
K=FINHISTO-P4-DATE_CI2+1
TANTQUE K<FINHISTO-P4-DATE_CI2+P3 FAIRE
SI BAS(K)<=CC2
ALORS
CC2=BAS(K)
DATE_CC2=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

SI CC2>=CC1 //Creux CC2 possible
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (CC1--CC2)
//RESTE AU DESSUS DES COURS DES COURS
//
SI P5=1
ALORS
PENTE_C=(CC1-CC2)/(DATE_CC1-DATE_CC2)
POUR (FINHISTO-P4-DATE_CC2+1) COURS
POINT_C(0)=PENTE_C*(RANGPOUR-1)+CC2
SI POINT_C>BAS
ALORS
M=1
BREAK
FINSI
SI RANGPOUR>(DATE_CC1-DATE_CC2) ALORS BREAK
FINPOUR
FINSI

SI M=0 //Droite CC1--CC2 correcte
ALORS
J=P2+D1+1
SINON
D2=0
R=0
FINSI
SINON
D2=0
R=0
FINSI
SINON
D2=0
R=0
FINSI
FINSI
N=0
M=0
J=J+1
FINTANTQUE

SI D1<>0 ET D2=0 OU CC2=0
ALORS
AFFICHER "============PAS DE DIVERGENCE POTENTIELLE============="
AFFICHER "======AVEC LES VALEURS ACTUELLES DES PARAMETRES======="
AFFICHER "===MAIS IL Y A UN 1ER CREUX SUR LA MACD ET LES COURS=="
AFFICHER "==============MODIFIEZ EVENTUELLEMENT P2=============="
STOP
FINSI

//DETERMINER LES POINTS DES SEGMENTS DE LA DIVERGENCE POTENTIELLE
//
SI DATE_CC1-DATE_CC2<2 //La valeur peut être modifiée
ALORS
AFFICHER "=============DIVERGENCE POTENTIELLE============"
AFFICHER "==========TROP PETITE POUR ETRE TRACEE========="
AFFICHER "===========MODIFIEZ EVENTUELLEMENT P4=========="
SINON
SI CC2>=CC1
ALORS
PENTE_I=(CI1-CI2)/(DATE_CI1-DATE_CI2)
POUR (FINHISTO-P4-DATE_CI2+1) COURS
SEG_P_I(0)=PENTE_I*(RANGPOUR-1)+CI2
SI RANGPOUR>(DATE_CI1-DATE_CI2) ALORS BREAK
FINPOUR

PENTE_C=(CC1-CC2)/(DATE_CC1-DATE_CC2)
POUR (FINHISTO-P4-DATE_CC2+1) COURS
SEG_P_C(0)=PENTE_C*(RANGPOUR-1)+CC2
SI RANGPOUR>(DATE_CC1-DATE_CC2) ALORS BREAK
FINPOUR
FINSI
FINSI

FINSI

-----------------------------

Règle indicateur dérivée :
-----------------------------
//DIV_POS_COURS
//
//TRACER LE SEGMENT DE LA DIVERGENCE POSITIVE
//SUR LES COURS
//

SEG_P_COURS=SEG_P_C

-----------------------------

Propriétés :





Règle statistique :
-----------------------------
//VAL_CONF_DIV_POS
//
//STATISTIQUE DE VALIDATION/CONFIRMATION
//DES DIVERGENCES POSITIVES POTENTIELLES
//DETECTEES PAR LE PROGRAMME : DIV_POS_MACD
//V2.0 du 06/09/2004
//

//--------------------------------------------------------------
//PARAMETRES A DEFINIR CI-DESSOUS
//
//EI : SEUIL RELATIF MINI DES ECARTS ENTRE CREUX SUR LA MACD
//EC : SEUIL RELATIF MINI DES ECARTS ENTRE CREUX SUR LES COURS
//EM : SEUIL RELATIF MINI DES ECARTS ENTRE MACD ET MMACD
//
//CHOIX=1 : SELECTIONNE LES DIVERGENCES POSITIVES POTENTIELLES
// CE SONT CELLES QUI SONT DETECTEES PAR "DIV_POS_MACD".
//
//CHOIX=2 : SELECTIONNE LES DIVERGENCES POSITIVES VALIDEES
// CE SONT LES DIVERGENCES POSITIVES POTENTIELLES
// QUI RESPECTENT LES ECARTS IMPOSES : EI, EC, EM.
//
//CHOIX=3 : SELECTIONNE LES DIVERGENCES POSITIVES CONFIRMEES
// CE SONT LES DIVERGENCES POSITIVES POTENTIELLES
// VALIDEES DONT LA MACD VIENT DE CROISER SON SIGNAL
// A LA HAUSSE.
//--------------------------------------------------------------

EI=0.01
EC=0.01
EM=0.01
CHOIX = 3

POUR 100 COURS //LE NB DE BOUCLES DOIT ETRE>=P1+P2+P4

//RECUPERER LE CREUX LE PLUS RECENT SUR LA MACD
//RECUPERER LA MACD ET SON SIGNAL EN CE CREUX
//
SI DIV_POS_MACD.SEG_P_I(1)<>0 ET DIV_POS_MACD.SEG_P_I=0
ALORS
C1_INDIC=DIV_POS_MACD.SEG_P_I(1)
MACD_C1=DIV_POS_MACD.COURBE1(1)
MMACD_C1=DIV_POS_MACD.COURBE2(1)
FINSI

//RECUPERER LE CREUX LE PLUS RECENT SUR LES COURS
//
SI DIV_POS_MACD.SEG_P_C(1)<>0 ET DIV_POS_MACD.SEG_P_C=0
ALORS
C1_COURS=DIV_POS_MACD.SEG_P_C(1)
FINSI

//RECUPERER LE CREUX LE PLUS ANCIEN SUR LA MACD
//
SI DIV_POS_MACD.SEG_P_I(1)=0 ET DIV_POS_MACD.SEG_P_I<>0
ALORS
C2_INDIC=DIV_POS_MACD.SEG_P_I
FINSI

//RECUPERER LE CREUX LE PLUS ANCIEN SUR LES COURS
//
SI DIV_POS_MACD.SEG_P_C(1)=0 ET DIV_POS_MACD.SEG_P_C<>0
ALORS
C2_COURS=DIV_POS_MACD.SEG_P_C
FINSI


//CHERCHER LES DIVERGENCES POSITIVES POTENTIELLES EVENTUELLES
//
SI C1_INDIC<>0 ET C1_COURS<>0 ET C2_INDIC<>0 ET C2_COURS<>0
ALORS

SI CHOIX = 1
ALORS
COLONNE1 = "DIV POSITIVE POTENTIELLE SUR :"
VARSELECT = 1
BREAK
FINSI

//SELECTIONNER LES DIVERGENCES POSITIVES VALIDEES
//
SI ((C2_INDIC-C1_INDIC)/C2_INDIC)>=EI ET ((C2_COURS-C1_COURS)/C2_COURS)>=EC
ALORS
SI ((MACD_C1-MMACD_C1)/MACD_C1)>=EM
ALORS
SI CHOIX = 2
ALORS
COLONNE1 = "DIV POSITIVE VALIDEE SUR :"
VARSELECT = 1
BREAK
FINSI

//SELECTIONNER LES DIVERGENCES POSITIVES CONFIRMEES
//
SI CROISE(MACD,MMACD)>0
ALORS
SI CHOIX = 3
ALORS
COLONNE1 = "DIV POSITIVE CONFIRMEE LE " & DATEHISTO$ & " SUR :"
VARSELECT = 1
FINSI
FINSI
FINSI
FINSI
FINSI
FINPOUR

SI VARSELECT=1
ALORS
SELECTION
FINSI

-----------------------------

Propriétés :




DIVERGENCES NEGATIVES :

-----------------------------
//DIV_NEG_MACD
//
//RECHERCHER LA DIVERGENCE NEGATIVE EVENTUELLE
//LA PLUS RECENTE ENTRE LES COURS ET LA MACD
//DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4
//V3.2 du 08/09/2004
//

//----------------------------------------------
//PARAMETRES :
//
//LA DIVERGENCE POTENTIELLE EVENTUELLE DEVRA
//SE TROUVER P4 PERIODES AVANT LA FINHISTO.
//
//LE 1ER SOMMET SUR LA MACD DEVRA SE TROUVER
//DANS LES P1 PERIODES PRECEDANT FINHISTO-P4.
//
//LE 2EME SOMMET SUR LA MACD DEVRA SE TROUVER
//DANS LES P2 PERIODES PRECEDANT LE 1ER.
//
//CHAQUE SOMMET SUR LES COURS POURRA SE TROUVER
//DANS LES P3 PERIODES PRECEDANT LES SOMMETS
//CORRESPONDANTS SUR LA MACD.
//
//P5=0 ACCEPTE LES DIVERGENCES DONT LES DROITES
//PRESENTENT DES INTERSECTIONS AVEC LES COURS
//ET/OU LA MACD.
//P5=1 NE LES ACCEPTE PAS.
//----------------------------------------------

//INITIALISATIONS
//
COURBE1=MACD
COURBE2=MMACD
MAXI=0

//SE PLACER P4 PERIODES AVANT FINHISTO
//POUR EFFECTUER LA RECHERCHE
//
SI RANGHISTO=FINHISTO-P4
ALORS

//CHERCHER UN 1ER SOMMET (SI1) ET SA DATE (DATE_SI1) SUR LA MACD
//
I=0
SI1=MAXI
TANTQUE I<=P1 FAIRE
SI MACD(I+1)>0
ALORS
SI MACD(I+2)<MACD(I+1) ET MACD(I+1)>MACD(I)
ALORS
SI MACD(I+1)>=SI1 ET MACD(I+1)>MMACD(I+1)
ALORS
SI1=MACD(I+1)
DATE_SI1=FINHISTO-P4-(I+1)
D1=I+1
FINSI
FINSI
FINSI
I=I+1
FINTANTQUE

SI D1=0
ALORS
AFFICHER "=========PAS DE 1ER SOMMET RECENT SUR LA MACD========="
AFFICHER "===============MODIFIEZ P1 ET/OU P4 ================="
STOP
FINSI

//CHERCHER LE 1ER SOMMET (SC1) ET SA DATE (DATE_SC1)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 1ER SOMMET SUR LA MACD
//
SC1=HAUT(FINHISTO-P4-DATE_SI1)
DATE_SC1=DATE_SI1
K=FINHISTO-P4-DATE_SI1+1
TANTQUE K<=FINHISTO-P4-DATE_SI1+P3 FAIRE
SI HAUT(K)>=SC1
ALORS
SC1=HAUT(K)
DATE_SC1=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

//CHERCHER UN 2EME SOMMET PLUS ANCIEN (SI2)
//ET SA DATE (DATE_SI2) SUR LA MACD
//
J=D1+1
SI2=SI1
TANTQUE J<=P2+D1 FAIRE
SI MACD(J+2)<MACD(J+1) ET MACD(J+1)>MACD(J)
ALORS
SI MACD(J+1)>=SI2 ET MACD(J+1)>MMACD(J+1)
ALORS
SI2=MACD(J+1)
DATE_SI2=FINHISTO-P4-(J+1)
D2=1

POUR FINHISTO-P4+1-DATE_SI2 COURS //Vérifier position MACD/MMACD
SI MACD<MMACD
ALORS
R=1 //La MACD croise son signal entre SI1 et SI2
BREAK
FINSI
SI RANGPOUR>DATE_SI1-DATE_SI2 ALORS BREAK
FINPOUR

FINSI
FINSI

SI D2=1 ET R=1 //On a un sommet SI2 possible
ALORS

//VERIFIER QUE LA DROITE DE DIVERGENCE (SI1-SI2)
//RESTE AU DESSUS DE LA MACD
//
SI P5=1
ALORS
PENTE_I=(SI1-SI2)/(DATE_SI1-DATE_SI2)
POUR (FINHISTO-P4-DATE_SI2+1) COURS
POINT_I(0)= PENTE_I*(RANGPOUR-1)+SI2
SI POINT_I<MACD
ALORS
N=1
BREAK
FINSI
SI RANGPOUR>(DATE_SI1-DATE_SI2) ALORS BREAK
FINPOUR
FINSI

SI N=0 //Droite SI1--SI2 correcte
ALORS
//CHERCHER LE 2EME SOMMET (SC2) ET SA DATE (DATE_SC2)
//SUR LES COURS AVEC UNE TOLERANCE DE P3 PERIODES
//AVANT LE 2EME SOMMET SUR LA MACD
//
SC2=HAUT(FINHISTO-P4-DATE_SI2)
DATE_SC2=DATE_SI2
K=FINHISTO-P4-DATE_SI2+1
TANTQUE K<=FINHISTO-P4-DATE_SI2+P3 FAIRE
SI HAUT(K)>=SC2
ALORS
SC2=HAUT(K)
DATE_SC2=FINHISTO-K-P4
FINSI
K=K+1
FINTANTQUE

SI SC2<=SC1 //SC2 sommet possible
ALORS
//VERIFIER QUE LA DROITE DE DIVERGENCE (SC1-SC2)
//RESTE EN DESSOUS DES COURS
//
SI P5=1
ALORS
PENTE_C=(SC1-SC2)/(DATE_SC1-DATE_SC2)
POUR (FINHISTO-P4-DATE_SC2+1) COURS
POINT_C(0) =PENTE_C*(RANGPOUR-1)+SC2
SI POINT_C<HAUT
ALORS
M=1
BREAK
FINSI
SI RANGPOUR>(DATE_SC1-DATE_SC2) ALORS BREAK
FINPOUR
FINSI

SI M=0 //Droite SC1--SC2 correcte
ALORS
J=P2+D1+1
SINON
D2=0
R=0
FINSI
SINON
D2=0
R=0
FINSI
SINON
D2=0
R=0
FINSI
FINSI
N=0
M=0
J=J+1
FINTANTQUE

SI D1<>0 ET D2=0 OU SC2=0
ALORS
AFFICHER "============PAS DE DIVERGENCE POTENTIELLE============="
AFFICHER "======AVEC LES VALEURS ACTUELLES DES PARAMETRES======="
AFFICHER "==MAIS IL Y A UN 1ER SOMMET SUR LA MACD ET LES COURS=="
AFFICHER "==============MODIFIEZ EVENTUELLEMENT P2=============="
STOP
FINSI

//DETERMINER LES POINTS DES SEGMENTS DE LA DIVERGENCE POTENTIELLE
//
SI DATE_SC1-DATE_SC2<2 //La valeur 2 peut-être modifiée
ALORS
AFFICHER "=============DIVERGENCE POTENTIELLE============"
AFFICHER "==========TROP PETITE POUR ETRE TRACEE========="
AFFICHER "===========MODIFIEZ EVENTUELLEMENT P4=========="
SINON
SI SC2<=SC1
ALORS
PENTE_I=(SI1-SI2)/(DATE_SI1-DATE_SI2)
POUR (FINHISTO-P4-DATE_SI2+1) COURS
SEG_N_I(0)=PENTE_I*(RANGPOUR-1)+SI2
SI RANGPOUR>(DATE_SI1-DATE_SI2) ALORS BREAK
FINPOUR

PENTE_C=(SC1-SC2)/(DATE_SC1-DATE_SC2)
POUR (FINHISTO-P4-DATE_SC2+1) COURS
SEG_N_C(0)=PENTE_C*(RANGPOUR-1)+SC2
SI RANGPOUR>(DATE_SC1-DATE_SC2) ALORS BREAK
FINPOUR
FINSI
FINSI

FINSI

-----------------------------

Règle dérivée :
-----------------------------
//DIV_NEG_COURS
//
//TRACER LE SEGMENT DE LA DIVERGENCE NEGATIVE
//SUR LES COURS
//

SEG_N_COURS=SEG_N_C

-----------------------------

Propriétés :





Règle statistique :
-----------------------------
//VAL_CONF_DIV_NEG
//
//STATISTIQUE DE VALIDATION/CONFIRMATION
//DES DIVERGENCES NEGATIVES POTENTIELLES
//DETECTEES PAR LE PROGRAMME : DIV_NEG_MACD
//V2.0 du 06/09/2004
//

//--------------------------------------------------------------
//PARAMETRES A DEFINIR CI-DESSOUS
//
//EI : SEUIL RELATIF MINI DES ECARTS ENTRE SOMMETS SUR LA MACD
//EC : SEUIL RELATIF MINI DES ECARTS ENTRE SOMMETS SUR LES COURS
//EM : SEUIL RELATIF MINI DES ECARTS ENTRE MACD ET MMACD
//
//CHOIX=1 : SELECTIONNE LES DIVERGENCES NEGATIVES POTENTIELLES
// CE SONT CELLES QUI SONT DETECTEES PAR "DIV_NEG_MACD".
//
//CHOIX=2 : SELECTIONNE LES DIVERGENCES POSITIVES VALIDEES
// CE SONT LES DIVERGENCES NEGATIVES POTENTIELLES
// QUI RESPECTENT LES ECARTS IMPOSES : EI, EC, EM.
//
//CHOIX=3 : SELECTIONNE LES DIVERGENCES NEGATIVES CONFIRMEES
// CE SONT LES DIVERGENCES NEGATIVES POTENTIELLES
// VALIDEES DONT LA MACD VIENT DE CROISER SON SIGNAL
// A LA BAISSE.
//--------------------------------------------------------------

EI=0.01
EC=0.01
EM=0.01
CHOIX = 3

POUR 100 COURS //LE NB DE BOUCLES DOIT ETRE>=P1+P2+P4

//RECUPERER LE SOMMET LE PLUS RECENT SUR LA MACD
//RECUPERER LA MACD ET SON SIGNAL EN CE SOMMET
//
SI DIV_NEG_MACD.SEG_N_I(1)<>0 ET DIV_NEG_MACD.SEG_N_I=0
ALORS
S1_INDIC=DIV_NEG_MACD.SEG_N_I(1)
MACD_S1=DIV_NEG_MACD.COURBE1(1)
MMACD_S1=DIV_NEG_MACD.COURBE2(1)
FINSI

//RECUPERER LE SOMMET LE PLUS RECENT SUR LES COURS
//
SI DIV_NEG_MACD.SEG_N_C(1)<>0 ET DIV_NEG_MACD.SEG_N_C=0
ALORS
S1_COURS=DIV_NEG_MACD.SEG_N_C(1)
FINSI

//RECUPERER LE SOMMET LE PLUS ANCIEN SUR LA MACD
//
SI DIV_NEG_MACD.SEG_N_I(1)=0 ET DIV_NEG_MACD.SEG_N_I<>0
ALORS
S2_INDIC=DIV_NEG_MACD.SEG_N_I
FINSI

//RECUPERER LE SOMMET LE PLUS ANCIEN SUR LES COURS
//
SI DIV_NEG_MACD.SEG_N_C(1)=0 ET DIV_NEG_MACD.SEG_N_C<>0
ALORS
S2_COURS=DIV_NEG_MACD.SEG_N_C
FINSI


//CHERCHER LES DIVERGENCES NEGATIVES POTENTIELLES EVENTUELLES
//
SI S1_INDIC<>0 ET S1_COURS<>0 ET S2_INDIC<>0 ET S2_COURS<>0
ALORS

SI CHOIX = 1
ALORS
COLONNE1 = "DIV NEGATIVE POTENTIELLE SUR :"
VARSELECT = 1
BREAK
FINSI

//SELECTIONNER LES DIVERGENCES NEGATIVES VALIDEES
//
SI ((S2_INDIC-S1_INDIC)/S2_INDIC)>=EI ET ((S1_COURS-S2_COURS)/S1_COURS)>=EC
ALORS
SI ((MACD_S1-MMACD_S1)/MACD_S1)>=EM
ALORS
SI CHOIX = 2
ALORS
COLONNE1 = "DIV NEGATIVE VALIDEE SUR :"
VARSELECT = 1
BREAK
FINSI

//SELECTIONNER LES DIVERGENCES NEGATIVES CONFIRMEES
//
SI CROISE(MACD,MMACD)<0
ALORS
SI CHOIX = 3
ALORS
COLONNE1 = "DIV NEGATIVE CONFIRMEE LE " & DATEHISTO$ & " SUR :"
VARSELECT = 1
FINSI
FINSI
FINSI
FINSI
FINSI
FINPOUR

SI VARSELECT=1
ALORS
SELECTION
FINSI

-----------------------------

Propriétés :




Les versions présentées permettent dorénavant de sélectionner ou non les droites des divergences qui présentent des intersections avec la MACD et/ou les cours (voir paramètre P5).

En choisissant des valeurs nulles pour EI ou (exclusif) pour EC dans les règles statistiques, il est possible de sélectionner des divergences dont la droite est horizontale sur la MACD ou (exclusif) sur les cours.

Le nombre de boucles POUR effectuées dans les règles statistiques est fixé à 100 dans chaque programme. Cette valeur doit être adaptée (>) à celles des paramètres P1, P2, P4 des règles indicateurs.

Merci pour vos remarques.

édité le : 09-09-2004 11:09:53 
  Retourner en haut de page

FOKI

(2011 msg)

FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ

#269428Posté le : le 09-09-2004 23:50:42 FOKI - FOKI -      
====================================================


Merci SMALLCAPS et aussi à JEFF, pour ce travail,

vous nous avez fait un beau joujou.

Dire qu'il reste encore le STOCH et le RSI !!

FOKI


Laisser au marché, nous donner la direction...
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#269489Posté le : le 10-09-2004 09:44:21    
====================================================

Bonjour FOKI,

Je dois dire que tu as aussi ta part dans la réussite du projet. Merci pour ta collaboration si active et tes nombreux messages privés d'alarme quand cela s'est avèré nécessaire.

Pour ce qui concerne les divergences cours/RSI et cours/STOCH cela ne devrait pas être très compliqué à mettre en place.
Je lance le débat sur une question que je me pose : nous limiterons-nous aux divergences qui ont lieu en période de surachat/survente? Et si oui, que retiendrons-nous comme valeurs pour ces niveaux? Je pense qu'ils dépendent des valeurs des paramètres de calcul des indicateurs...
  Retourner en haut de page

FOKI

(2011 msg)

FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ

#269523Posté le : le 10-09-2004 10:44:39 FOKI - FOKI -      
====================================================


Bonjour Smallcaps,

Je te donne mon Point de vue :

Sur le Stoch :
Je ne pense pas qu'il faille introduire les niveaux de SA ou SV (que personnellement je positionne à 80 et 20).
Dans un premier temps je partirai sur la base du dernier prog de la MACD + stat tel qu'ils sont actuellement. Puis, avec une rapide étude des divergences de stoch détectées, on devrait rapidement qualifier l'introduction de cette notion de SA et SV dans le système.
Si cela pose problème d'introduire après coup cette notion dans le prog ... c'est à toi de voir sur ce point, mais je suis d'avis de partir large pour optimiser ... ensuite ... mais après une petite étude.

J'ai bien conscience que ce mode de développement te donne beaucoup de travail ...

Sur le RSI :
Je n'utilise pas cet indicateur !!

FOKI



Laisser au marché, nous donner la direction...
  Retourner en haut de page

pwaget

(534 msg)

pwaget' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ

#269533Posté le : le 10-09-2004 11:06:07 pwaget - pwaget -      
====================================================

Une petite pause dans la recherche de divergences...

Pour Smallcaps, ce serait très sympa si tu pouvais m'aider à convertir ce code en GraphAt, avec un grand merci bien évidemment ...

Il s'agit de l'indicateur Aroon

Description
L'indicateur d'Aroon a été développé par Tushar Chande. Aroon est un nom qui en Sanskrit veut dire "premières lueurs de l’aurore" ou le passage de la nuit au jour.
Ces changements de nature de l’action des prix sont anticipés en mesurant le nombre d’unités de temps qui se sont écoulées depuis le plus récent plus-haut à x unités de temps ou plus-bas à x unités de temps. Par conséquent , l’indicateur d’Aroon est constitué de deux courbes ; Aroon Up mesurant le nombre d’unités de temps écoulées depuis le plus-haut à x unités de temps le plus récent et Aroon Down mesurant le nombre d’unités de temps écoulées depuis le plus-bas à x unités de temps le plus récent.

Interprétation
1) L'indicateur balaye un range allant de 0 à 100. Si nous prenons l'hypothèse d'un intervalle de temps choisi par défaut de 14 jours, quand une valeur marque un nouveau plus haut sur 14 jours, l'Aroon Up sera égal à 100 ; quand la valeur marque un plus bas de 14 jours, l'Aroon Down sera égal à 100. Quand une valeur n'a pas fait de nouveau plus haut en 14 jours, son Aroon Up sera égal à 0 ; quand une valeur n'a pas fait un nouveau plus bas en 14 jours, son Aroon Down sera égal à 0. L'indicateur aide donc à déterminer le type d'évolution des cours et définir s'il faut utiliser des indicateurs de suivi de tendance ou des indicateurs de surachat/survente.

2)
Une forte tendance haussière est indiquée quand la ligne de Aaron Up reste constamment entre 70 et 100 tandis que la ligne de Aaron Down reste constamment entre 0 et 30. De même, une forte tendance baissière est indiquée quand la ligne de Aaron Down reste constamment entre 70 et 100 tandis que la ligne de Aaron up reste constamment entre 0 et 30.

Formule :
AroonUp = 100 * (Period - PeriodHigh) / Period
PeriodHigh = Number of bars since highest high of the Period
AroonDown = 100 * (Period - PeriodLow) / Period
PeriodLow = Number of bars since lowest low of the Period

Ou encore :

Period = 30;
LLVBarsSince = LLVBars(L, Period) + 1;
HHVBarsSince = HHVBars(H, Period) + 1;

Aroon_Down = 100 * (Period - LLVBarsSince) / (Period - 1);
Aroon_Up = 100 * (Period - HHVBarsSince) / (Period - 1);



  Retourner en haut de page

RickenBroc

(88 msg)

Plusieurs semaines De 1 à 3 ans Non renseigné Actions françaises

#269731Posté le : le 10-09-2004 17:46:28 RickenBroc - RickenBroc -   Voir le page de RickenBroc      
====================================================

Bonjour,

Un exemple de programmation pourrait être:
(ATTENTION: CODE ERRONNÉ)
// P1= periode
si bas=min(bas, P1) alors
PBAS = ranghisto
finsi

si haut=max(haut, P1) alors
PHAUT = ranghisto
finsi

AROON_DN = 100 * (P1 - minval(Ranghistoregle - PBAS, P1)) / P1
AROON_UP = 100 * (P1 - minval(Ranghistoregle - PHAUT, P1)) / P1

avec la fenêtre de propriétés:


et le résultat sur le même titre, même période



La différence entre la courbe de pwaget et la mienne s'explique par un ajout de règles à celles décrites dans le texte.
En effet, en nov-dec , il n'y a pas de plus bas à 30j, donc la courbe rouge ne peut pas avoir une autre valeur que 0. Manifestement, ce n'est pas le cas, donc d'autres règles doivent exister.

Cordialement,
RickenBroc
édité le : 10-09-2004 22:37:46et puis il y eu le Big Bang...
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#269753Posté le : le 10-09-2004 19:03:59    
====================================================

Bonsoir Pwaget,

Merci pour cette pause obligée...
Voici une solution qui marche je pense.
Je n'ai pas encore eu le temps d'analyser la solution proposée par RickenBroc.

Programme :
------------------------------------------

//INDICATEUR DE AROON
//V2.0 (correction 02/11/04)
//

//RAZ à chaque période
//
NB_UP=0
NB_DOWN=0
PLUS_HAUT=0
PLUS_BAS=1000000

//Recherche des nb de jours écoulés depuis
//le plus haut et le plus bas les plus récents
//
POUR P1+1 COURS
SI HAUT>PLUS_HAUT
ALORS
PLUS_HAUT=HAUT
NB_UP=P1-RANGPOUR+1
FINSI
SI BAS<PLUS_BAS
ALORS
PLUS_BAS=BAS
NB_DOWN=P1-RANGPOUR+1
FINSI
FINPOUR

//Calcul des courbes
//
AROON_UP=100*(P1-NB_UP)/P1
AROON_DOWN=100*(P1-NB_DOWN)/P1

//Limites intéressantes
//
L30=30
L70=70

------------------------------------------

Propriétés :




Un autre indicateur peut aussi être intéressant : je veux parler de l'oscillateur obtenu en faisant la différence : AROON-UP-AROON_DOWN à chaque période.
Je l'ai créé comme indicateur dérivé du précédent. Pas de problème avec son programme, ni avec ses Propriétés.

Pour "SR Teleperformance" que tu avais choisi comme exemple, et P1=30 périodes, cela donne pour la même fenêtre temporelle :



Bien amicalement.
édité le : 02-11-2004 15:41:13 
  Retourner en haut de page

smallcaps90

(1022 msg)

Plusieurs semaines Plus de 3 ans Uniquement technique Actions françaises

#269760Posté le : le 10-09-2004 19:23:09    
====================================================

Bonsoir FOKI,

Merci pour ta réponse.
Je ne pense pas qu'introduire dès le départ les niveaux de surachat et de survente pose beaucoup de problème.

On pourrait même envisager que le programme offre plusieurs variantes sans que cela complique vraiment les choses :
- imposer par exemple aux deux creux (ou aux deux sommets) de la droite de divergence sur l'indicateur d'être situés dans ces zones,
- ou encore tolérer que l'un des deux seulement s'y trouve,
- ou enfin admettre qu'aucun des deux n'y soit.
C'est uniquement une question de ">" ou de "<".

Bon week-end.
  Retourner en haut de page

RickenBroc

(88 msg)

Plusieurs semaines De 1 à 3 ans Non renseigné Actions françaises

#269824Posté le : le 10-09-2004 22:35:23 RickenBroc - RickenBroc -   Voir le page de RickenBroc      
====================================================

Je viens de regarder le programme de SmallCaps90.
Il est juste; le mien non. Ou plutôt, j'ai fait un non sens.
J'ai interpréré le dernier cours connu comme devant être le plus haut(/bas).
Alors qu'il faut comprendre le temps écoulé depuis le cours le plus haut(/bas) pendant la période observée.

Désolé.

Je laisse quand même mon code à des fins didactiques, je vais juste préciser qu'il est erronné.

Sinon quelqu'un peut me dire quels sont les changements de la V3.07a par rapport à la V3.07 (à part un exemple zigzag qui a généré un doublon avec mon indicateur du même nom...)
Le fichier upgrade.txt ne dit rien là-dessus.

Cordialement,
RickenBroc
et puis il y eu le Big Bang...
  Retourner en haut de page

philippulus

(1441 msg)

philippulus' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ

#269934Posté le : le 11-09-2004 13:29:23 philippulus - philippulus -      
====================================================

  Retourner en haut de page


40
Sujet : Graphe AT PRo : programmation
Premiere Page   Page précédente   Page : sur 171   Page suivante   Derniere Page
40Sat, 25 Apr 2009 20:42:02