Sujet : Graphe AT PRo : programmation | |
#449138Posté le : le 07-01-2006 12:31:01
====================================================
Bonjour FOKI,
Je trouve une ressemblance entre ton idée et les Boîtes de Darvas. Dans ce dernier cas comme je le précisais page 70, le tracé de ces boîtes repose sur 3 règles :
R1 : le TOP potentiel de la boîte courante est trouvé s'il reste le plus haut pendant les 3 périodes qui le suivent au moins, c'est une résistance locale ;
R2 : le BOTTOM de la même boîte est trouvé ensuite s'il reste le plus bas pendant les 3 périodes qui le suivent au moins, c'est un support local ;
R3 : la recherche du BOTTOM doit commencer à la même période que celle où l'on a trouvé un TOP potentiel. Cette recherche peut très bien remettre en cause le choix du TOP potentiel s'il s'avère qu'un nouveau haut est trouvé pendant cette recherche, auquel cas il devient ce nouveau haut devient un nouveau TOP potentiel remplaçant le TOP précédemment trouvé.
Les boîtes ainsi définies introduisent une série de supports/résistances que l'on peut aussi utiliser pour placer des ordres ASD, voire des stops.
D'accord avec toi pour modifier la stat.
En séparant les 4 types de proximités, le programme devient :
//========
//PROX_SRH
//========
//Statistique de détermination de la proximité des cours
//par rapport aux support et résistance horizontales
//détectées par l'indic SRH
//le 07/01/2006
//
//Choisir le type de statistique retenu
//
//CHOIX=1 détecte les possibilités de break out
//CHOIX=2 détecte les possibilités de break down
//CHOIX=3 détecte les possibilités de pull back/bull trap
//CHOIX=4 détecte les possibilités de pull back/bear trap
CHOIX = 4
//Choisir le % de proximité retenu
//
PROX = 2
//Calculs des distances en % du haut de la période courante à la résistance
//et du bas de la période courante au support
//
//
A = 100*(HAUT-SRH.R)/HAUT
B = 100*(BAS-SRH.S)/BAS
//Détecter les possibilités de break out
//
SI CHOIX=1 ET A<0 ET B>0 ET ABSOLU(A)<=PROX
ALORS
COLONNE1 = "Break out possible à " & ctxt$(ABSOLU(A),2) & "%" & " de la résistance " & ctxt$(SRH.R,2)
SELECTION
FINSI
//Détecter les possibilités de break down
//
SI CHOIX=2 ET A<0 ET B>0 ET B<=PROX
ALORS
COLONNE1 = "Break down possible à " & ctxt$(B,2) & "%" & " du support " & ctxt$(SRH.S,2)
SELECTION
FINSI
//Détecter les possibilités de pull back/bull trap
//
SI CHOIX=3 ET A>0 et A<=PROX
ALORS
COLONNE1 = "Haut au dessus de la résistance " & ctxt$(SRH.R,2) & " à " & ctxt$(A,2) & "%"
SELECTION
FINSI
//Détecter les possibilités de pull back/bear trap
//
SI CHOIX=4 ET B<0 et ABSOLU(B)<=PROX
ALORS
COLONNE1 = "Bas sous le support " & ctxt$(SRH.S,2) & " à " & ctxt$(ABSOLU(B),2) & "%"
SELECTION
FINSI
Il suffit de donner, en tête de programme, les valeurs que l'on souhaite aux 2 paramètres CHOIX et PROX.
la fenêtre Propriétés de la règle est inchangée.
Cordialement.
|  |
FOKI  (2011 msg)
FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#449346Posté le : le 08-01-2006 10:23:59 FOKI - FOKI -
====================================================
Bonjour Smallcaps
Diantre, tu as raison ... malgré que j"avais bien vu ce prog ... il ne m'avait pas pas "tilté" ... du moins je le pensais ...
FOKI
Laisser au marché, nous donner la direction...
RZ  (67 msg)
RZ' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#450278Posté le : le 10-01-2006 16:05:26 RZ - RZ -
====================================================
Magnifique cette file
je viens juste de la découvrir sous le conseil de smallcaps, je n'utilise pas du tout graphat, mais vous présentez des indics très interessants.
Je m'en vais m'imprimer ces jolies 72 pages, ca me fera de la lecture pour ce week-end,
Merci et bonne continuation,
RZ
michka  (26 msg)
michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#452367Posté le : le 15-01-2006 17:15:59 michka - michka -
====================================================
Bonjour Smallcaps,
Je viens de voir ton nouveau programme zz_pitchfork avec le tracé du zigzag et des fourchettes d’Andrew’s.
Sans vouloir abuser de ta générosité, serait-il possible de modifier celui-ci pour pouvoir afficher les 3 dernières fourchettes ?
J’ai essayé de faire quelques tentatives en modifiant ton programme, mais mon niveau de programmation n’est pas assez bon pour arriver à un résultat.
Je t’en remercie d’avance.
Michka
FOKI  (2011 msg)
FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#456059Posté le : le 23-01-2006 21:14:46 FOKI - FOKI -
====================================================
Bonsoir
je vous fais part d'un nouveau prog stat permettant de mettre en valeur les pics sur volume associés avec des pics ou creux sur les cours. Ce programme de statistique à été possible grâce à l'aide de Smallcaps  .
L'objectif est de mettre en lumière ces pics de volumes car une forte augmentation des volumes indique en général qu'il y a eu un combat ... entre Bear/ Bull.
Si ce pic de volume est associé a un creux ou un pic sur les cours, on peut en tirer la conclusion de la présence d'un changement de tendance comme indiqué sur le graph Soitec ci dessous en Daily :
La présence de ces pics sur volumes (sans présence de pic ou creux sur les cours) indiquent très souvent le passage d'une résistance (support) horizontale (voir grap SOITEC en Weekly)
Pour information nous avons la possibilité de changer les paramètres (N,P,R)dans le programme de statistique pour qu'il s'adapte à chacun.
En résumé cette stat affiche sur N (Nbre de périodes recherchée) les pics de volumes dépassant R ( chiffre multiplicateur), de la moyenne volumes (P)
Voici le programme de statistique :
//Statistique de recherche des associations des pics
//sur les volumes avec des plus haut et des plus bas sur les cours
//le 14/01/2006
//V 1.0
//
//Choisir le nb de périodes de recul pour le scan
N=50
//Choisir le nombre de périodes de recul pour le calcul
//de la moyenne des volumes
P=20
//Choisir la valeur du ratio volume/moyenne des volumes
//pour valider le pic sur les volumes
R=2
//Scan des N cours de chaque valeur du groupe sélectionné
POUR N COURS
B(0)=BAS
H(0)=HAUT
V(0)=VOLUME
MV(0)=MOYENNE(VOLUME,P)
//Condition logique pour avoir un pic sur les cours
//et simultanément un pic sur les volumes
//
PIC(1) = (H(2)<H(1)) ET (H(1)>H) ET
(V(2)<V(1)) ET (V(1)>V) ET
(V(1)>R*MV(1))
SI PIC(1)=1 ALORS
COLONNE1 = "Pic sur volumes et plus haut sur cours le : " & datehisto$(1)
SELECT=1
FINSI
//Condition logique pour avoir un creux sur les cours
//et simultanément un pic sur les volumes
//
CREUX(1) = (B(2)>B(1)) ET (B(1)<B) ET
(V(2)<V(1)) ET (V(1)>V) ET
(V(1)>R*MV(1))
SI CREUX(1)=1 ALORS
COLONNE1 = "Pic sur volumes et plus bas sur cours le : " & datehisto$(1)
SELECT=1
FINSI
FINPOUR
SI SELECT=1 ALORS SELECTION
Fenêtre de propriété :
Résultat appliqué sur CAC 40 :
Groupe : cac40 Date : 20/01/2006
Recherche des associations de Pics et de Creux simultanés sur les Cours et les Volumes
Pic sur volumes et plus bas sur cours le : 11/01/2006 Peugeot
Pic sur volumes et plus bas sur cours le : 13/01/2006 L'Oreal
Pic sur volumes et plus bas sur cours le : 17/11/2005 Credit agricole
Pic sur volumes et plus bas sur cours le : 17/11/2005 Renault
Pic sur volumes et plus bas sur cours le : 17/11/2005 Sodexho Alliance
Pic sur volumes et plus bas sur cours le : 18/01/2006 Carrefour
Pic sur volumes et plus bas sur cours le : 18/01/2006 Danone
Pic sur volumes et plus bas sur cours le : 18/01/2006 Dexia
Pic sur volumes et plus bas sur cours le : 18/01/2006 LVMH Moet Hennessy
Pic sur volumes et plus bas sur cours le : 18/01/2006 Sanofi Synthelabo
Pic sur volumes et plus bas sur cours le : 18/01/2006 Schneider
Pic sur volumes et plus bas sur cours le : 18/01/2006 STMicroelectronics
Pic sur volumes et plus bas sur cours le : 18/01/2006 Vivendi universal
Pic sur volumes et plus bas sur cours le : 20/12/2005 AXA
Pic sur volumes et plus haut sur cours le : 05/12/2005 EADS
Pic sur volumes et plus haut sur cours le : 06/01/2006 Bouygues
Pic sur volumes et plus haut sur cours le : 09/01/2006 Pinault Printemps Redoute
Pic sur volumes et plus haut sur cours le : 09/12/2005 Vinci
Pic sur volumes et plus haut sur cours le : 12/01/2006 AGF
Pic sur volumes et plus haut sur cours le : 12/12/2005 Lagardere
Pic sur volumes et plus haut sur cours le : 15/11/2005 Alcatel
Pic sur volumes et plus haut sur cours le : 16/01/2006 TF1
Pic sur volumes et plus haut sur cours le : 16/12/2005 BNP
Pic sur volumes et plus haut sur cours le : 16/12/2005 Societe Generale
Pic sur volumes et plus haut sur cours le : 16/12/2005 Suez Lyonnaise des Eaux
Pic sur volumes et plus haut sur cours le : 21/11/2005 Thales
Pic sur volumes et plus haut sur cours le : 30/11/2005 Vivendi environne.
édité le : 23-01-2006 21:16:12Laisser au marché, nous donner la direction...
|  |
#456221Posté le : le 24-01-2006 11:49:49
====================================================
Bonjour Michka,
En réponse à ta demande de tracé des 3 dernières fourches d'Andrew, je te propose la solution suivante qui s'appuie toujours sur un zigzag.
J'ai repris le programme qui trace ce zigzag en supprimant la partie qui concernait le tracé de la dernière fourche. En effet avec le nombre limité à 12 courbes du logiciel, j'ai du traiter les 3 fourches dans une règle dérivée du zigzag.
Il reste à programmer les points de retour éventuels sur les médianes conformément à la demande qu'avait exprimée Asynergy page 53. Je le ferai ultérieurement dans une règle dérivée également.
Pour ce qui concerne le tracé des fourches, on a la possibilité par les valeurs que l'on donne aux paramètres P1, P2 et P3 de choisir les fourches que l'on souhaite voir sur le graphe : il suffit de donner la valeur 1 à P1 pour voir la dernière fourche, une valeur différente de 1 si on ne souhaite pas la voir. Idem avec P2 et P3 pour voir ou non l'avant-dernière fourche et l'antépénultième. Toutes les combinaisons sont possibles.
Je rappelle le programme de tracé du zigzag modifié tel qu'indiqué ci-dessus.
//========
//ZIG_ZAG
//========
//V 4.0
//24/01/2006
//
//=========================
//PARAMETRES ET VARIABLES :
//=========================
//P1 = 0 zigzag sur les ouvertures
//P1 = 1 zigzag sur les bas
//P1 = 2 zigzag sur les hauts
//P1 = 3 zigzag sur les clôtures
//P1 = 4 zigzag sur les hauts/bas
//P2 est la valeur du retracement du zigzag en %
//DONNEE_PIC = contient les valeurs des cours suivant la valeur choisie pour P1
//DONNEE_CREUX idem
//TENDANCE = 1 si zag (historisée)
//TENDANCE = -1 si zig
//MAXI = valeur d'un sommet(non historisée)
//DATEMAXI = date (RANGHISTO) du pic (non historisée)
//MINI = valeur d'un creux (non historisée)
//DATEMINI = date (RANGHISTO) d'un creux (non historisée)
//DELTA = % entre la CLOTURE courante et le MAXI (ou le MINI) actuel (non historisée)
//PENTE_ZAG = pente de chaque segment montant du zigzag (non historisée)
//PENTE_ZIG = pente de chaque segment descendant du zigzag (non historisée)
//ZIG = droite descendante du zigzag, tracée en format SEGMENTS (historisée)
//ZAG = droite montante du zigzag, tracée en format SEGMENTS (historisée)
//MAXI_PRECEDENT = avant-dernier MAXI trouvé (non historisée)
//DATEMAXI_PRECEDENT = sa date (non historisée)
//MINI_PRECEDENT = avant-dernier MINI trouvé (non historisée)
//DATEMINI_PRECEDENT = sa date (non historisée)
//DER_ZZ, flag =1 si on termine le zigzag sur un zag, =0 sur un zig (non historisée)
//===========================
//1- SELECTIONNER LES DONNEES
//===========================
DONNEE_PIC(0)=OUVERTURE*(P1=0) +
BAS*(P1=1) +
HAUT*(P1=2 OU P1=4) +
CLOTURE*(P1=3)
DONNEE_CREUX(0)=OUVERTURE*(P1=0) +
BAS*(P1=1 OU P1=4) +
HAUT*(P1=2) +
CLOTURE*(P1=3)
//=======================================
//2- TRAITER LE PREMIER COURS/INITIALISER
//=======================================
SI RANGHISTO=1 ALORS
TENDANCE(0)=0
MAXI=DONNEE_PIC
MINI=DONNEE_CREUX
DATEMAXI=RANGHISTO
DATEMINI=RANGHISTO
FINSI
//=======================================
//3- ASSURER LA CONTINUITE DE LA TENDANCE
//=======================================
TENDANCE=TENDANCE(1)
//==================================
//4- DETERMINER LA TENDANCE INITIALE
//==================================
SI TENDANCE=0 ALORS
SI DONNEE_PIC>MINI*(1+P2%) ALORS
MAXI=DONNEE_PIC
DATEMAXI=RANGHISTO
TENDANCE=1
FINSI
SI DONNEE_CREUX<MAXI*(1-P2%) ALORS
MINI=DONNEE_CREUX
DATEMINI=RANGHISTO
TENDANCE=-1
FINSI
FINSI
//=======================================================
//5- EXAMINER LA TENDANCE HAUSSIERE
// PASSER EN TENDANCE BAISSIERE SI CONDITION SATISFAITE
// ALORS TRACER LE ZAG
//=======================================================
SI TENDANCE=1 ALORS
SI DONNEE_PIC>=MAXI ALORS
MAXI=DONNEE_PIC
DATEMAXI=RANGHISTO
SINON
SI DONNEE_CREUX<MAXI*(1-P2%) ALORS
TENDANCE=-1
//Tracer le segment montant
PENTE_ZAG=(MAXI-MINI)/(DATEMAXI-DATEMINI)
POUR (RANGHISTO-DATEMINI+1) COURS
ZAG(0)=PENTE_ZAG*(RANGPOUR-1)+MINI
SI RANGPOUR>(DATEMAXI-DATEMINI) ALORS BREAK
FINPOUR
DER_ZZ = 1
//Mettre à jour
MINI_PRECEDENT=MINI
DATEMINI_PRECEDENT=DATEMINI
MINI=DONNEE_CREUX
DATEMINI=RANGHISTO
FINSI
FINSI
FINSI
//=======================================================
//6- EXAMINER LA TENDANCE BAISSIERE
// PASSER EN TENDANCE HAUSSIERE SI CONDITION SATISFAITE
// ALORS TRACER LE ZIG
//=======================================================
SI TENDANCE=-1
ALORS
SI DONNEE_CREUX<=MINI ALORS
MINI=DONNEE_CREUX
DATEMINI=RANGHISTO
SINON
SI DONNEE_PIC>MINI*(1+P2%) ALORS
TENDANCE=1
//Tracer le segment descendant
PENTE_ZIG=(MINI-MAXI)/(DATEMINI-DATEMAXI)
POUR (RANGHISTO-DATEMAXI+1) COURS
ZIG(0)=PENTE_ZIG*(RANGPOUR-1)+MAXI
SI RANGPOUR>(DATEMINI-DATEMAXI) ALORS BREAK
FINPOUR
DER_ZZ = 0
//Mettre à jour
MAXI_PRECEDENT=MAXI
DATEMAXI_PRECEDENT=DATEMAXI
MAXI=DONNEE_PIC
DATEMAXI=RANGHISTO
FINSI
FINSI
FINSI
//Tracer le dernier zig ou le dernier zag éventuel
SI RANGHISTO=FINHISTO ALORS
SI TENDANCE=1 ET DER_ZZ=0 ALORS
DER_ZZ = 1
PENTE_ZAG=(MAXI-MINI)/(DATEMAXI-DATEMINI)
POUR (RANGHISTO-DATEMINI+1) COURS
ZAG(0)=PENTE_ZAG*(RANGPOUR-1)+MINI
SI RANGPOUR>(DATEMAXI-DATEMINI) ALORS BREAK
FINPOUR
FINSI
SI TENDANCE=-1 ET DER_ZZ=1 ALORS
DER_ZZ = 0
PENTE_ZIG=(MINI-MAXI)/(DATEMINI-DATEMAXI)
POUR (RANGHISTO-DATEMAXI+1) COURS
ZIG(0)=PENTE_ZIG*(RANGPOUR-1)+MAXI
SI RANGPOUR>(DATEMINI-DATEMAXI) ALORS BREAK
FINPOUR
FINSI
FINSI
Propriétés :
Exemple de tracé entre hauts et bas (P1=4) sur l'action suisse "Novartis N", avec un retracement P2=5% :
Programme de tracé des 3 dernières fourches :
//==============
// PITCHFORKS
//==============
//V 1.0
//le 24/01/2006
//
// Règle dérivée de ZIG_ZAG
// Trace 1, 2 ou 3 fourches d'Andrew
// qui s'appuient sur un zig-zag
//
// Utilise 3 paramètres P1, P2 et P3 :
// Si P1=1 on trace la dernière fourche
// Si P2=1 on trace l'avant-dernière
// Si P3=1 on trace l'antépénultième
// Toutes les combinaisons sont possibles
//
SI RANGHISTO=FINHISTO ALORS
// Indicer les sommets utiles
N=1
I=0
TANTQUE I<=400 FAIRE
N_ZAG(I)=N*(ZAG(I)=HAUT(I) ET ZAG(I+1)<>0)
N_ZIG(I)=N*(ZIG(I)=BAS(I) ET ZIG(I+1)<>0)
SI (ZAG(I)=HAUT(I) OU ZIG(I)=BAS(I)) ALORS N=N+1 FINSI
I=I+1
SI N=6 ALORS BREAK
FINTANTQUE
// Récupérer les amplitudes et les dates des sommets utiles
I=0
TANTQUE I<=400 FAIRE
SI N_ZIG(I)=1 ALORS
PT1=BAS(I)
R1=FINHISTO-I
FINSI
SI N_ZAG(I)=1 ALORS
PT1=HAUT(I)
R1=FINHISTO-I
FINSI
SI N_ZIG(I)=2 ALORS
PT2=BAS(I)
R2=FINHISTO-I
FINSI
SI N_ZAG(I)=2 ALORS
PT2=HAUT(I)
R2=FINHISTO-I
FINSI
SI N_ZIG(I)=3 ALORS
PT3=BAS(I)
R3=FINHISTO-I
FINSI
SI N_ZAG(I)=3 ALORS
PT3=HAUT(I)
R3=FINHISTO-I
FINSI
SI N_ZIG(I)=4 ALORS
PT4=BAS(I)
R4=FINHISTO-I
FINSI
SI N_ZAG(I)=4 ALORS
PT4=HAUT(I)
R4=FINHISTO-I
FINSI
SI N_ZIG(I)=5 ALORS
PT5=BAS(I)
R5=FINHISTO-I
FINSI
SI N_ZAG(I)=5 ALORS
PT5=HAUT(I)
R5=FINHISTO-I
FINSI
I=I+1
FINTANTQUE
// Calculer les P1 points moyens
PM1=(PT1+PT2)/2
RM1=(R1+R2)/2
PM2=(PT2+PT3)/2
RM2=(R2+R3)/2
PM3=(PT3+PT4)/2
RM3=(R3+R4)/2
// Tracer les fourches souhaitées
//Dernière fourche
SI P1=1 ALORS
PENTE_MED1=(PM1-PT3)/(RM1-R3)
i=0
TANTQUE i<=FINHISTO-R3 FAIRE
Y_MED1(I)=PENTE_MED1*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
i=0
TANTQUE i<=FINHISTO-R1 FAIRE
Y_SUP1(I)=PENTE_MED1*(FINHISTO-R1-I)+PT1
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R2 FAIRE
Y_INF1(I)=PENTE_MED1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
i=0
TANTQUE i<=FINHISTO-R2 FAIRE
Y_SUP1(I)=PENTE_MED1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R1 FAIRE
Y_INF1(I)=PENTE_MED1*(FINHISTO-R1-I)+PT1
I=I+1
FINTANTQUE
FINSI
// Tracer le dernier segment Z1 du ZZ de PT1 à PT2
PENTE_Z1=(PT1-PT2)/(R1-R2)
I=FINHISTO-R1
TANTQUE I<=FINHISTO-R2 FAIRE
Z1(I)=PENTE_Z1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
// Avant-dernière fourche
SI P2=1 ALORS
PENTE_MED2=(PM2-PT4)/(RM2-R4)
i=0
TANTQUE i<=FINHISTO-R4 FAIRE
Y_MED2(I)=PENTE_MED2*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
i=0
TANTQUE i<=FINHISTO-R2 FAIRE
Y_SUP2(I)=PENTE_MED2*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R3 FAIRE
Y_INF2(I)=PENTE_MED2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
i=0
TANTQUE i<=FINHISTO-R3 FAIRE
Y_SUP2(I)=PENTE_MED2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R2 FAIRE
Y_INF2(I)=PENTE_MED2*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
// Tracer l'avant-dernier segment Z2 du ZZ de PT2 à PT3
PENTE_Z2=(PT2-PT3)/(R2-R3)
I=FINHISTO-R2
TANTQUE I<=FINHISTO-R3 FAIRE
Z2(I)=PENTE_Z2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
// Ante-penultieme fourche
SI P3=1 ALORS
PENTE_MED3=(PM3-PT5)/(RM3-R5)
i=0
TANTQUE i<=FINHISTO-R5 FAIRE
Y_MED3(I)=PENTE_MED3*(FINHISTO-R5-I)+PT5
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
i=0
TANTQUE i<=FINHISTO-R3 FAIRE
Y_SUP3(I)=PENTE_MED3*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R4 FAIRE
Y_INF3(I)=PENTE_MED3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
i=0
TANTQUE i<=FINHISTO-R4 FAIRE
Y_SUP3(I)=PENTE_MED3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
i=0
TANTQUE i<=FINHISTO-R3 FAIRE
Y_INF3(I)=PENTE_MED3*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
// Tracer l'ante-penultieme segment Z3 du ZZ de PT3 à PT4
PENTE_Z3=(PT3-PT4)/(R3-R4)
I=FINHISTO-R3
TANTQUE I<=FINHISTO-R4 FAIRE
Z3(I)=PENTE_Z3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
FINSI
FINSI
Propriétés :
Exemple avec P1, P2, P3 = 1, 1, 1 :
On aurait pu envisager plus simple, mais çà marche...
Cordialement.
|  |
#456342Posté le : le 24-01-2006 15:15:56
====================================================
Petites modifications apportées au programme de tracé des 3 dernières fourchettes d'Andrew.
Tout d'abord, il doit être installé comme règle dérivée de la règle ZIG_ZAG conformément à la structure suivante pour que le passage des variables utiles s'effectue correctement :
Ensuite, le principe retenu pour matérialiser les limites de retour éventuelles des cours sur les lignes médianes consiste à limiter le tracé de celles-ci de leurs points de départ à ces points limites. Ainsi la visualisation de ces limites s'effectue de façon pratique puisqu'elle ne nécessite pas de nouveau tracé pour les positionner (point ou flèche par exemple) puisque la limite maxi de 12 courbes est déjà atteint pour tracer toutes les lignes des fourchettes.
Si vous souhaitez visualiser ces limites, veuillez réinstaller la nouvelle version 2.0 du programme "PITCHFORKS" qui remplace la version 1.0 présentée dans mon post précédent :
//==============
// PITCHFORKS
//==============
//V 2.0
//le 24/01/2006
//
// Règle dérivée de ZIG_ZAG
// Trace 1, 2 ou 3 fourches d'Andrew
// qui s'appuient sur un zig-zag
//
// Utilise 3 paramètres P1, P2 et P3 :
// Si P1=1 on trace la dernière fourche
// Si P2=1 on trace l'avant-dernière
// Si P3=1 on trace l'antépénultième
// Toutes les combinaisons sont possibles
//
// Les tracés des lignes médianes sont limités
// aux points de retours potentiels des cours
// s'ils apparaissent avant la FINHISTO
//
SI RANGHISTO=FINHISTO ALORS
// Indicer les sommets utiles
N=1
I=0
TANTQUE I<=400 FAIRE
N_ZAG(I)=N*(ZAG(I)=HAUT(I) ET ZAG(I+1)<>0)
N_ZIG(I)=N*(ZIG(I)=BAS(I) ET ZIG(I+1)<>0)
SI (ZAG(I)=HAUT(I) OU ZIG(I)=BAS(I)) ALORS N=N+1 FINSI
I=I+1
SI N=6 ALORS BREAK
FINTANTQUE
// Récupérer les amplitudes et les dates des sommets utiles
I=0
TANTQUE I<=400 FAIRE
SI N_ZIG(I)=1 ALORS
PT1=BAS(I)
R1=FINHISTO-I
FINSI
SI N_ZAG(I)=1 ALORS
PT1=HAUT(I)
R1=FINHISTO-I
FINSI
SI N_ZIG(I)=2 ALORS
PT2=BAS(I)
R2=FINHISTO-I
FINSI
SI N_ZAG(I)=2 ALORS
PT2=HAUT(I)
R2=FINHISTO-I
FINSI
SI N_ZIG(I)=3 ALORS
PT3=BAS(I)
R3=FINHISTO-I
FINSI
SI N_ZAG(I)=3 ALORS
PT3=HAUT(I)
R3=FINHISTO-I
FINSI
SI N_ZIG(I)=4 ALORS
PT4=BAS(I)
R4=FINHISTO-I
FINSI
SI N_ZAG(I)=4 ALORS
PT4=HAUT(I)
R4=FINHISTO-I
FINSI
SI N_ZIG(I)=5 ALORS
PT5=BAS(I)
R5=FINHISTO-I
FINSI
SI N_ZAG(I)=5 ALORS
PT5=HAUT(I)
R5=FINHISTO-I
FINSI
I=I+1
FINTANTQUE
// Calculer les P1 points moyens
PM1=(PT1+PT2)/2
RM1=(R1+R2)/2
PM2=(PT2+PT3)/2
RM2=(R2+R3)/2
PM3=(PT3+PT4)/2
RM3=(R3+R4)/2
// Tracer les fourches souhaitées
//Dernière fourche
SI P1=1 ALORS
PENTE_MED1=(PM1-PT3)/(RM1-R3)
L11=R1-R2
L12=R2-R3
LIM1=R1+MAXVAL(L11,L12)
I=0
TANTQUE I<=FINHISTO-R3 FAIRE
SI I>=FINHISTO-LIM1
ALORS
Y_MED1(I)=PENTE_MED1*(FINHISTO-R3-I)+PT3
FINSI
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
I=0
TANTQUE I<=FINHISTO-R1 FAIRE
Y_SUP1(I)=PENTE_MED1*(FINHISTO-R1-I)+PT1
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R2 FAIRE
Y_INF1(I)=PENTE_MED1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
I=0
TANTQUE I<=FINHISTO-R2 FAIRE
Y_SUP1(I)=PENTE_MED1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R1 FAIRE
Y_INF1(I)=PENTE_MED1*(FINHISTO-R1-I)+PT1
I=I+1
FINTANTQUE
FINSI
// Tracer le dernier segment Z1 du ZZ de PT1 à PT2
PENTE_Z1=(PT1-PT2)/(R1-R2)
I=FINHISTO-R1
TANTQUE I<=FINHISTO-R2 FAIRE
Z1(I)=PENTE_Z1*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
// Avant-dernière fourche
SI P2=1 ALORS
PENTE_MED2=(PM2-PT4)/(RM2-R4)
L21=R2-R3
L22=R3-R4
LIM2=R2+MAXVAL(L21,L22)
I=0
TANTQUE I<=FINHISTO-R4 FAIRE
SI I>=FINHISTO-LIM2
ALORS
Y_MED2(I)=PENTE_MED2*(FINHISTO-R4-I)+PT4
FINSI
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
I=0
TANTQUE I<=FINHISTO-R2 FAIRE
Y_SUP2(I)=PENTE_MED2*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R3 FAIRE
Y_INF2(I)=PENTE_MED2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
I=0
TANTQUE I<=FINHISTO-R3 FAIRE
Y_SUP2(I)=PENTE_MED2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R2 FAIRE
Y_INF2(I)=PENTE_MED2*(FINHISTO-R2-I)+PT2
I=I+1
FINTANTQUE
FINSI
// Tracer l'avant-dernier segment Z2 du ZZ de PT2 à PT3
PENTE_Z2=(PT2-PT3)/(R2-R3)
I=FINHISTO-R2
TANTQUE I<=FINHISTO-R3 FAIRE
Z2(I)=PENTE_Z2*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
// Ante-penultieme fourche
SI P3=1 ALORS
PENTE_MED3=(PM3-PT5)/(RM3-R5)
L31=R3-R4
L32=R4-R5
LIM3=R3+MAXVAL(L31,L32)
I=0
TANTQUE I<=FINHISTO-R5 FAIRE
SI I>=FINHISTO-LIM3
ALORS
Y_MED3(I)=PENTE_MED3*(FINHISTO-R5-I)+PT5
FINSI
I=I+1
FINTANTQUE
SI DER_ZZ=1 ALORS
I=0
TANTQUE I<=FINHISTO-R3 FAIRE
Y_SUP3(I)=PENTE_MED3*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R4 FAIRE
Y_INF3(I)=PENTE_MED3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
FINSI
SI DER_ZZ=0 ALORS
I=0
TANTQUE I<=FINHISTO-R4 FAIRE
Y_SUP3(I)=PENTE_MED3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
I=0
TANTQUE I<=FINHISTO-R3 FAIRE
Y_INF3(I)=PENTE_MED3*(FINHISTO-R3-I)+PT3
I=I+1
FINTANTQUE
FINSI
// Tracer l'ante-penultieme segment Z3 du ZZ de PT3 à PT4
PENTE_Z3=(PT3-PT4)/(R3-R4)
I=FINHISTO-R3
TANTQUE I<=FINHISTO-R4 FAIRE
Z3(I)=PENTE_Z3*(FINHISTO-R4-I)+PT4
I=I+1
FINTANTQUE
FINSI
FINSI
La fenêtre Propriétés de la règle n'est pas modifiée.
Exemples des 3 dernières fourchettes tracées séparément sur Renault :
Dans ce dernier cas, on voit bien que le retour des cours avant la limite confirme le changement de tendance amorcé quelques périodes auparavant.
Cordialement.
édité le : 24-01-2006 15:18:55
|  |
#456349Posté le : le 24-01-2006 15:31:30 LONGWAY - LONGWAY -
====================================================
Bonjour,
Comment ou peut-on combiner dans une même statistique:
- semaine: une tendance haussière ou baissière
- jour: une stat daily type Williams croisant la survente
Sinon y a t il une solution en croisant deux statistiques?
Cordialement
#456397Posté le : le 24-01-2006 16:04:42
====================================================
Bonjour LONGWAY,
Oui c'est possible. Lorsque tu ouvres la fenêtre "Règle..." des stats, tu vois apparaître 3 onglets : Jour, Semaine et Mois.
Tu peux donc entrer ta règle "Tendance" sous l'onglet Jour et ta règle de "X du R% de Williams avec tes conditions de surachat/survente" sous l'onglet Semaine.
A l'exécution de la stat, GrapheAT Pro te donnera les valeurs du groupe scanné qui satisfont les 2 règles.
A propos de l'automatisation de la prise de position en mode cycle avec la méthode MESA de Ehlers que tu avais souhaitée, pas facile facile! J'ai toujours çà sous le coude...
Cordialement.
michka  (26 msg)
michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#456527Posté le : le 24-01-2006 20:25:28 michka - michka -
====================================================
Bonsoir à Tous,
Merci Smallcaps pour le programme du Zig Zag et de Pitchforks avec le tracé des 3 dernières fourches. J'installe et regarde les évantuelles stats que l'on peut faire.
Encore Merci
Michka
#456580Posté le : le 24-01-2006 23:14:14 LONGWAY - LONGWAY -
====================================================
Bonsoir,
Merci Smallcaps, je vais me remettre à l'ouvrage car je dois faire une erreur quelque part.
Et merci pour le MESA
Cordialement
#456633Posté le : le 25-01-2006 08:25:52 borgia - borgia -
====================================================
Bonjour à vous,
j'ai parcouru rapidement les post, et effectivement ce prog semble avoir de grande possibilité,
donc,
j'ai téléchargé la version d'evaluation,
j'ai qq questions,
Où télécharge t'on les cours intradays ? (abc bourse ? ailleurs ? des pb ? ..ect..)
Combien ça coute - à l'année - ?
merci,
radiosenlutte.free.fr
Appel / pétition des radios en lutte : "Les radios libres au crible du numérique"
#456645Posté le : le 25-01-2006 09:12:30
====================================================
#456656Posté le : le 25-01-2006 09:33:43 borgia - borgia -
====================================================
salut Smallcaps90,
merci pour le lien,
radiosenlutte.free.fr
Appel / pétition des radios en lutte : "Les radios libres au crible du numérique"
jcp31  (205 msg)
jcp31' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ
#456662Posté le : le 25-01-2006 09:44:14 jcp31 - jcp31 -
====================================================
citation : Citation de smallcaps90
Bonjour LONGWAY,
Oui c'est possible. Lorsque tu ouvres la fenêtre "Règle..." des stats, tu vois apparaître 3 onglets : Jour, Semaine et Mois.
Tu peux donc entrer ta règle "Tendance" sous l'onglet Jour et ta règle de "X du R% de Williams avec tes conditions de surachat/survente" sous l'onglet Semaine.
A l'exécution de la stat, GrapheAT Pro te donnera les valeurs du groupe scanné qui satisfont les 2 règles.
A propos de l'automatisation de la prise de position en mode cycle avec la méthode MESA de Ehlers que tu avais souhaitée, pas facile facile! J'ai toujours çà sous le coude...
Cordialement.
Bonjour Smallcaps90,
il te manque quoi pour MESA ? Les algorithmes ? Si c'est le cas, tu trouveras tout ce qui te manque sur www.mesasoftware.com et en particulier une présentation powwerpoint qui date de 2005 ( http://www.mesasoftware.com/Seminars/TSWorld05.ppt).
Amicalement
Jean-Charles
72Sujet : Graphe AT PRo : programmation | | 72Sat, 25 Apr 2009 20:42:07 |