Jeff_X ![]() (18 msg) Jeff_X' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
Bonjour FOKI,
Concernant le Signal du Macd, tu dis : ... la puissance de la divergence est principalement exprimé par l'angle d'attaque du Macd quand il croise sa ligne moyenne plus que par l'angle de la divergence. Je suis en accord. D'ailleurs, il y a notamment John Murphy (l'Investisseur Visuel, ed. Valor) qui traite de l'angle d'attaque. Quoique ce n'est pas dans un contexte de divergence. Néanmoins, tu as raison, c'est un facteur important en terme de force de retournement. Or, si l'on veut introduire ce critère dans le contexte de divergence, nous devons tenir compte de 2 moments: soit chaque creux (ou top). Ceci éliminerait possiblement plusieurs cas de divergence, ce que nous ne voulons pas. Alors, je me demandais si ce ne serait pas plus sage de ne considérer qu'un seul creux (top) pour répondre à ce critère. Mais de quel creux (top) s'agirait-il? Le moins récent ou le plus récent? À moins que SmallCap ne procède qu'au calcul de ces angles sans les intégrer comme condition (i.e. SI ... Alors ...). Nous aurions simplement le calcul des angles en colonne dans les résultats Statistique. Ça aiderait pour la prise de décision. L'idéal serait que ces 2 critères (écarts- cours et MACD, angles d'attaque du MACD- 2 creux ou tops) soient retenus dans la formule Statistique. Mais cela demande un gros effort en terme de programmation! Quoiqu'avec SmallCap, tout est possible !! Enfin, tu dis: ...Le plus sympa serait d'avoir d'avoir la possibilité de rentrer soi-même sa valeur 3%, 5%... À mon avis, ce n'est pas nécessaire parce que tout ce qui est disons supérieur à 5% d'écart devient très intéressant. Donc je considèrerais plutôt =>5% Merci pour tes commentaires. Jeff. PS: Dans mon exemple sur la cie Bombardier (BBDB.TO), la divergence positive a fait son travail (point de vue purement technique). En effet, après la confirmation de cette divergence positive, le titre a bondit de 15% en qques jours!! Présentement en sérieux repli.
smallcaps90 ![]() (1022 msg)
Bonsoir Jeff X et Foki,
Merci pour vos réflexions auxquelles j'adhère presque totalement. Le but de ce travail est effectivement de gagner du temps pour pouvoir explorer rapidement une base substantielle de valeurs afin de réexaminer de façon purement visuelle pour les valider ou non celles qui seraient en situation de divergence potentielle et de prendre les décisions qui s'imposent. Il n'est pas question de construire une "usine à gaz"... Si j’examine l’état actuel de nos réflexions sur les critères que devra, ou ne devra pas, inclure la règle statistique à concevoir pour valider une divergence positive préalablement détectée par les programmes DIV_POS_MACD et DIV_POS_COURS, je trouve ceci : 1- Ecarts entre creux sur les cours et sur l’indicateur : La valeur de 10% me paraissait effectivement sévère, 5% devrait suffire même si parfois il est possible de trouver des divergences valables avec des écarts inférieurs à 5%. On envisagera d’introduire deux valeurs d’écarts mini différentes pour les cours et l'indicateur comme le propose Foki, sans pour autant que cela complique le programme. 2- Ecarts entre l’indicateur et son signal aux moments des creux : Il n’y aura a priori aucun problème pour intégrer ce critère. Encore faudra-t-il le quantifier (voir la remarque faite à ce sujet dans mon post précédent). 3- Paramètres de la MACD : On laissera à l’utilisateur le choix de ses paramètres de calcul. On ne les intègrera donc dans les programmes de détection des divergences puisqu’il suffit de les définir par le menu : « Options/Indicateurs », ligne MACD de GrapheAT Pro. 4- Durée de la divergence : On abandonne ce critère. 5- Moment de la validation d’une divergence potentielle : On choisira le moment correspondant au croisement de la MACD et de son signal qui suit le creux le plus récent. En conclusion, il ne reste que le critère 2 à préciser. Au plaisir de lire vos avis sur la question. --------------------------------------- Mille excuses Jeff X je n'avais pas lu ta réponse à Foki alors que je postais la mienne.
édité le : 26-08-2004 19:39:12
smallcaps90 ![]() (1022 msg)
Brièvement, pour ce qui concerne l'idée qu'avance Foki d'intégrer dans nos contraintes l'angle que fait la MACD avec son signal au moment du croisement qui suit le 2ème creux de la divergence positive potentielle, je préfèrerais que l'on parle plutôt de pente que d'angle.
En effet le problème a été maintes fois abordé ici : il est impossible de définir un angle dans un repère qui n'est pas orthonormé. Un simple zoom effectué sur le graphe dont les axes ne comportent pas les mêmes unités modifiera cet angle. La pente par contre peut être définie par un nombre sans dimension, donc facilement comparable avec une limite à définir...
philippulus ![]() (1441 msg) philippulus' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
HEEEEEEELP !
Je cherche la programmation de l'écart-type, mais je n'ai aucune idée si elle a déjà été publiée dans cette file. On en est à 35 pages. Alors comment on fait pour savoir ce qui a déjà été écrit. Y a-t-il une bonne âme qui tiendrait à jour la liste des indicateurs publiés dans cette looooooooooogue file ? MERCI
Nicolas
Jeff_X ![]() (18 msg) Jeff_X' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
SmallCap, tu a dis:
...Ecarts entre l’indicateur et son signal aux moments des creux : Il n’y aura a priori aucun problème pour intégrer ce critère. Encore faudra-t-il le quantifier ... Voiçi une façon de quantifier, sans utiliser nécessairement l'histogramme MACD: ![]() Étant donné que tout ça demeure empirique, on pourrait tenir compte du % d'écart entre les 2 courbes (i.e. selon l'exemple du graphe, 0,03 / 0,08 = 37%). Soit que tu l'intègre comme critère paramétrable dans le programme Statistique, sinon, tu pourrais simplement le mettre en colonne afin d'analyser ce % de façon visuelle. Alors bonne chance!! Jeff. PS: Philipulus, sous GrapheATPro, il y a la fonction ECARTTYPE(valeur, n). Est-ce ce que tu veux ??
smallcaps90 ![]() (1022 msg)
Rebonsoir Jeff X,
Oui évidemment, il n'y aucune difficulté pour mesurer ces écarts puisqu'on dispose des valeurs de la MACD et de son signal...Même si leur croisement n'a pas lieu exactement lors d'une période de cotation, on peut aller jusqu'à envisager une interpolation pour avoir la valeur recherchée si nécessaire. En fait je me suis mal exprimé en te disant : "...quantifier les écarts...", je te demande de m'en excuser. Je voulais dire : comment faire pour apprécier un écart considéré comme suffisant pour valider la divergence? Dire que l'écart doit être suffisamment grand pour ce faire relève de la logique floue et ne permet pas en l'état des choses de programmer cette contrainte dans le module "statistiques"... A moins de se tourner délibérément vers la logique floue. Mais c'est une autre façon d'envisager la solution au problème qui nous préoccupe... La question est donc : à partir de quelle valeur numérique, ou de quel autre moyen d'appréciation, comparaison par exemple, considères-tu que l'écart est suffisament grand pour valider la divergence?
smallcaps90 ![]() (1022 msg)
Bonsoir à tous,
J'ai modifié légèrement les programmes de recherche des divergences potentielles en introduisant un nouveau paramètre P4 qui définit le nombre de périodes à compter de FINHISTO donnant la date à partir de laquelle la recherche commence. Ceci permet de rechercher une divergence autre que la plus récente et peut présenter un intérêt si on souhaite vérifier la validité ou non d'une divergence passée ou même de réaliser des backtests. Pour rechercher les divergences les plus récentes, il suffit de donner à P4 la valeur 0. Les paramètres P1, P2 et P3 gardent la même signification que dans la version précédente. Le nouveau principe est conforme au schéma ci-dessous : ![]() A titre d'illustration, voir ci-dessous un exemple de divergence positive ancienne sur la valeur "ABN Amro" (NL0000301109), située en août/septembre 2003 et trouvée avec les paramètres : P1=20, P2=70, P3=3 et P4=220. Les résultats sont éloquents puisqu'au croisement MACD/Signal qui suit la divergence, au 03/10/2003, le cours clôturait à 16.58 €. Il atteignait 19.74 €, plus haut de 2003 et 2004, le 22/01/2004. Soit un gain de près de 20%. Les écarts entre les creux sur la MACD et sur les cours s'élevant respectivement à 1% et 3.4% seulement. Evidemment il est impossible d'en tirer une règle générale... ![]() De même, un exemple de divergence négative ancienne trouvée sur "Beneteau" (FR0000035164) : ![]() Voici les programmes DIV_POS_MACD et DIV_NEG_MACD. Ne pas oublier d'ajouter un nouveau paramètre P4 dans les fenêtres "Propriétés". DIV_POS_COURS et DIV_NEG_COURS sont inchangés. Pour les divergences positives : --------------------------------------------- //DIV_POS_MACD V2.0 //RECHERCHER LA DIVERGENCE POSITIVE LA PLUS RECENTE //ENTRE LES COURS ET LA MACD //DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4 // COURBE1=MACD COURBE2=MMACD D1=0 D2=0 MINI=1000 SI RANGHISTO=FINHISTO - P4 ALORS // //CHERCHER 2 PLUS BAS <0 //DANS LES LIMITES IMPOSEES //SUR LA MACD // //Chercher le 1er plus bas // I=0 TANTQUE (I<=P1) FAIRE SI MACD(I)<=MINI ALORS MINI=MACD(I) D_MINI=FINHISTO-I-P4 D1=I FINSI I=I+1 FINTANTQUE SI D1=0 ALORS Afficher "Pas de 1er mini sur la MACD" Afficher "Modifier P1" STOP SINON SI MACD(D1)>=0 ALORS Afficher "Le 1er + bas doit être <0 !" STOP SINON CI1=MINI DATE_CI1=D_MINI //Afficher "1er CREUX sur MACD = " & CTXT$(CI1,4) //Afficher "DATE = " & CTXT$(DATE_CI1,0) //Afficher " " //Chercher le 2ème + bas // J=D1+1 CI2=CI1 TANTQUE (J<=P2) FAIRE SI MACD(J)<=CI2 ALORS CI2=MACD(J) DATE_CI2=FINHISTO-J-P4 D2=J FINSI J=J+1 FINTANTQUE SI D2=0 ALORS AFFICHER "Pas de 2ème + bas sur la MACD" STOP FINSI //Afficher "2ème CREUX sur MACD = " & CTXT$(CI2,4) //Afficher "DATE = " & CTXT$(DATE_CI2,0) //Afficher " " // //CHERCHER LES PLUS BAS CORRESPONDANTS SUR LES COURS //AVEC P3 JOURS DE TOLERANCE DE PART ET D'AUTRE //DES PLUS BAS SUR LE MACD // //Chercher le 1er creux // CC1=BAS(FINHISTO-DATE_CI1-P4-1) K=FINHISTO-P4-DATE_CI1-P3 SI K<0 ALORS K=0 FINSI 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 //Afficher "1er CREUX sur les COURS = " & CTXT$(CC1,4) //Afficher "DATE = " & CTXT$(DATE_CC1,0) //Afficher " " //Chercher le 2ème creux // CC2=BAS(FINHISTO-P4-DATE_CI2-1) K=FINHISTO-P4-DATE_CI2-P3 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 ALORS Afficher " Pas de + bas > au 1er sur les cours" Afficher " Modifier éventuellement P2" STOP SINON //Afficher "2ème CREUX sur les COURS = " & CTXT$(CC2,3) //Afficher "DATE = " & CTXT$(DATE_CC2,0) //Afficher // //TRACER LES SEGMENTS // //Tracer sur la MACD // SI (CI1<>0) ET (CI2<>0) 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 FINSI //Tracer sur les cours // SI CC1<>0 ET CC2<>0 ALORS 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 FINSI FINSI --------------------------------------------- Et pour les divergences négatives : --------------------------------------------- //DIV_NEG_MACD V2.0 //RECHERCHER LA DIVERGENCE NEGATIVE LA PLUS RECENTE //ENTRE LES COURS ET LA MACD //DANS LES LIMITES DEFINIES PAR P1, P2, P3 et P4 // COURBE1=MACD COURBE2=MMACD D1=0 D2=0 MAXI=0 SI RANGHISTO=FINHISTO - P4 ALORS // //CHERCHER 2 PLUS HAUTS >0 //DANS LES LIMITES IMPOSEES //SUR LA MACD // //Chercher le 1er plus haut I=0 TANTQUE (I<=P1) FAIRE SI MACD(I)>=MAXI ALORS MAXI=MACD(I) D_MAXI=FINHISTO-I-P4 D1=I FINSI I=I+1 FINTANTQUE SI D1=0 ALORS Afficher "Pas de 1er haut sur la MACD" Afficher "Modifier P1" STOP SINON SI MACD(D1)<=0 ALORS Afficher "Le 1er + haut doit être >0 !" STOP SINON SI1=MAXI DATE_SI1=D_MAXI //Afficher "1er SOMMET sur MACD = " & CTXT$(SI1,4) //Afficher "DATE = " & CTXT$(DATE_SI1,0) //Afficher " " //Chercher le 2ème + haut sur la MACD // J=D1+1 SI2=SI1 TANTQUE (J<=P2) FAIRE SI MACD(J)>=SI2 ALORS SI2=MACD(J) DATE_SI2=FINHISTO-J-P4 D2=J FINSI J=J+1 FINTANTQUE SI D2=0 ALORS AFFICHER "Pas de 2ème + haut sur la MACD" STOP FINSI //Afficher "2ème SOMMET sur MACD = " & CTXT$(SI2,4) //Afficher "DATE = " & CTXT$(DATE_SI2,0) //Afficher " " // //CHERCHER LES PLUS HAUTS CORRESPONDANTS SUR LES COURS //AVEC P3 JOURS DE TOLERANCE DE PART ET D'AUTRE //DES PLUS BAS SUR LA MACD // //Chercher le 1er plus haut // SC1=HAUT(FINHISTO-DATE_SI1-P4-1) K=FINHISTO-DATE_SI1-P3-P4 SI K<0 ALORS K=0 FINSI TANTQUE K<=FINHISTO-DATE_SI1+P3-P4 FAIRE SI HAUT(K)>=SC1 ALORS SC1=HAUT(K) DATE_SC1=FINHISTO-K-P4 FINSI K=K+1 FINTANTQUE //Afficher "1er SOMMET sur les COURS = " & CTXT$(SC1,4) //Afficher "DATE = " & CTXT$(DATE_SC1,0) //Afficher " " //Chercher le 2ème plus haut // SC2=HAUT(FINHISTO-DATE_SI2-P4-1) K=FINHISTO-P4-DATE_SI2-P3 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 ALORS Afficher " Pas de + haut < au 1er sur les cours" Afficher " Modifier éventuellement P2" STOP SINON //Afficher "1ème SOMMET sur les COURS = " & CTXT$(SC2,4) //Afficher "DATE = " & CTXT$(DATE_SC2,0) //Afficher " " // //Tracer les segments // //Tracer sur la MACD // SI (SI1<>0) ET (SI2<>0) 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 FINSI //Tracer sur les cours // SI SC1<>0 ET SC2<>0 ALORS 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 FINSI FINSI --------------------------------------------- Les lignes "Afficher" placées en commentaires permettent de visualiser les valeurs numériques des différents constituants des divergences trouvées, si vous le souhaitez. Pour ce faire ne pas oublier d'ouvrir la fenêtre "Fenêtre d'affichage" par le menu "Règles". Ces lignes peuvent être supprimées si vous ne souhaitez pas voir apparaître ces renseignements. Les autres lignes "Afficher" non placées en commentaires sont utiles pour savoir pour quelles raisons la recherche des divergences aurait échoué et ainsi nous encouragent à modifier les valeurs des paramètres P1, P2, P3. Merci pour vos commentaires.
smallcaps90 ![]() (1022 msg)
Bonsoir Philippulus,
Un ami du forum avait eu l'excellente idée courant mai dernier de réaliser une synthèse Word des posts de notre file. Il a réalisé un document de 151 pages en reprenant les posts jusqu'au message de Tony du 02/05/2004 inclus situé page 23. Malheureusement je n'ai pas gardé les références de cet ami, mais je dispose du fichier en question. Il l'avait proposé à ceux qui le souhaitaient. Si cela t'intéresse, je peux t'en faire parvenir une copie. Envoie-moi, dans ma bal ici même, l'adresse email à laquelle tu voudrais le recevoir.
xave06 ![]() (2329 msg) citation : Bonsoir smallcaps90, je vois que tu es toujours aussi actif dans la programmation,j'avoue mon admiration moi qui en suis resté aux boucles if...then du basic!! Si tu le permets je me joins à vous sur la discussion concernant les divergences macd qui m'intéressent au plus haut point. Pour ce qui est du point 1 je pense que le pourcentage n'a pas une grosse importance,l'important est que la divergence exprimée sur 2 tops ou 2 bottoms existe.Elder classe les divergences en 3 groupes et selon lui les divergences de classe A sont les plus significatives(2ème pic sur cours plus haut(plus bas) et 2éme pic sur indicateur plus bas(plus haut). Pour les points 2 et 5 je pense qu'il est possible d'utiliser le macd histo qui en plus de donner l'écart maxi entre le macd et son signal(correspondant à la barre la plus haute(basse) valide le croisement entre le macd et son signal par le passage du Zéro. Je suis de très près cette file car si tu arrives à programmer une règle statistique pour détecter les divergences je suis preneur(et je pense que je ne serais pas le seul). xavier P.S:je n'ai pas lâché mes recherches sur la volatilité mais je risque fort de faire appel à tes connaissances pour la programmation des stats car moi je n'y arrive pas
Jeff_X ![]() (18 msg) Jeff_X' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
Alors SmallCap,
Effectivement le terme "quantifier" veut bien dire mesurer (chiffrer ...). Donc si ce n'est qu'une question de "seuil empirique", on peut très bien en définir un: disons tout ce qui serait égal ou supérieur à 10% (cette fois-ci, 10% n'est pas exagéré!) représenterait une force d'impulsion de la MACD assez intéressante. Dans mon exemple ci-haut (graphe) j'obtenais 37%. Un seuil supérieur à 20 ou 30 % entraînerait un tri trop sévère, lequel éliminerait possiblement plusieurs autres divergences réelles. Tu vois, il nous faudrait s'en tenir au minimum quant au nombre de critères à considérer dans la Statistique permettant le tri. Ça devrait te faciliter les choses!!! Chanceux! ![]() Merci pour cet ajout au programme (le paramètre P4). On va regarder ça! Jeff. PS: Quelqu'un connaîtrait-il ici le système de trading de DeMark (Sequential DeMark's Trading System) ??
philippulus ![]() (1441 msg) philippulus' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
Smallcaps,
Je te prie de consulter mon dernier message dans cette file: frm/topic.asp?TOPIC_ID=13035... - Mon adresse de couriel est dans ta BAL. Je recherche aussi l'écart-type pour l'afficher comme indicateur sous les cours. Peut-être déjà dans cette file ? Merci infiniment,
Nicolas
jlr ![]() (372 msg)
heu, je crois que "l'ami du forum", c'est moi
![]() ![]() je suis en train de mettre à jour le fichier que j'ai du couper puisqu'il atteint 250 pages (pb d'impression). si vous êtes intéressé, donnez-moi votre adresse perso sur ma BAL pro-AT. jlr
smallcaps90 ![]() (1022 msg)
Bonjour jlr,
Effectivement, c'était bien toi excuse-moi pour cet oubli! Merci pour le travail de remise en forme que tu avais fait et dont nous avons la bonne surprise d'apprendre que tu l'as complèté. Je suis très intéressé par un exemplaire, bien entendu.
philippulus ![]() (1441 msg) philippulus' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
citation :Bonjour l'ami du forum. Message dans ta BAL. Et pour l'écart type SVP ?
Nicolas
smallcaps90 ![]() (1022 msg)
Bonjour Xavier,
Heureux de te retrouver sur les divergences et bienvenue dans le cercle qui y réfléchit. Comme tu as pu le constater, le cahier des charges de l'application (de la règle statistique plutôt) "Validation des divergences" progresse. Merci pour tes remarques utiles. Pour ce qui concerne le point 1 : "écarts entre creux/sommets sur les cours et l'indicateur", je suis globalement en accord avec toi pour ce qui concerne les valeurs des % d'écarts tolérables. C'est uniquement un problème d'intensité du filtrage. Nous nous dirigeons vraisemblablement vers un choix des % laissés à l'initiative de l'utilisateur, écarts qui pourront être différents sur les cours et sur l'indicateur. Pour initialiser l'affaire, nous avons décidé de nous limiter au cas 1 des divergences (ou A de Elder), mais à vrai dire les deux autres cas sont intégrables sans problème : il suffit de remplacer quelques ">" et ">" par des "<=" et des ">=". Pour ce qui concerne les points 2 et 5, j'avais aussi préconisé l'emploi du MACD Histo. Au niveau de la programmation de la règle statistique cela ne change à vrai dire pas grand chose. L'intérêt du MACD Histo est surtout visuel. Je ne désespère pas pouvoir programmer quelque chose qui puisse valider, ou invalider, une divergence détectée avec les programmes mis en ligne : le plus gros du travail étant déjà fait par ces programmes. Il suffit juste de trouver le temps pour le faire... PS : Comme toi je ne lâche pas la volatilité non plus...
36
|