Annonce
Réduire
Aucune annonce.
Ads
Réduire
[Graphe AT PRo : programmation]
Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • 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 <img src='http://www.pro-at.com/style/images/icones/icon_smile_big.gif' border='0' alt='' title='' align='middle' />.

    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 :
    <center><img src='http://images.pro-at.com/200601/b/picvolumejour.png' alt='' /></center>

    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)
    <center><img src='http://images.pro-at.com/200601/b/picvolume.png' alt='' /></center>

    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 :

    <font color="blue">//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</font id="blue">

    Fenêtre de propriété :
    <center><img src='http://images.pro-at.com/200601/b/propri%e9t%e9.png' alt='' /></center>

    Résultat appliqué sur CAC 40 :

    <i>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.</i>

    Commentaire


    • 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.
      <pre>//========
      //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
      </pre>
      Propriétés :
      <center><img src='http://images.pro-at.com/200601/b/prop_zigzag.gif' alt='' /></center>
      Exemple de tracé entre hauts et bas (P1=4) sur l'action suisse "Novartis N", avec un retracement P2=5% :
      <center><img src='http://images.pro-at.com/200601/b/zigzag3.gif' alt='' /></center>

      Programme de tracé des 3 dernières fourches :
      <pre>//==============
      // 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
      </pre>
      Propriétés :
      <center><img src='http://images.pro-at.com/200601/b/prop_pitchforks.gif' alt='' /></center>
      Exemple avec P1, P2, P3 = 1, 1, 1 :
      <center><img src='http://images.pro-at.com/200601/b/3pitchforks.gif' alt='' /></center>
      On aurait pu envisager plus simple, mais çà marche...

      Cordialement.

      Commentaire


      • <b>Petites modifications apportées au programme de tracé des 3 dernières fourchettes d'Andrew.</b>

        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 :
        <center><img src='http://images.pro-at.com/200601/b/structure1.gif' alt='' /></center>
        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 :
        <pre>//==============
        // 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
        </pre>
        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 :
        <center><img src='http://images.pro-at.com/200601/b/r_derni%e8re.gif' alt='' /></center>
        <center><img src='http://images.pro-at.com/200601/b/r_avant_derni%e8re.gif' alt='' /></center>
        <center><img src='http://images.pro-at.com/200601/b/r_antepenultieme.gif' alt='' /></center>
        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.

        Commentaire


        • 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

          Commentaire


          • 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.

            Commentaire


            • 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

              Commentaire


              • Bonsoir,

                Merci Smallcaps, je vais me remettre à l'ouvrage car je dois faire une erreur quelque part.

                Et merci pour le MESA

                Cordialement

                Commentaire


                • 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,

                  Commentaire


                  • Bonjour Borgia,

                    Tu peux voir les réponses à tes questions à :
                    <a href='/ref.php?uri=http%3A%2F%2Fwww.abcbourse.com%2Fboutique%2Fproduct.aspx%3Fid%3D027' target="_blank">http://www.abcbourse.com/boutique/product.aspx?id=027</a>

                    Cordialement.

                    Commentaire


                    • salut Smallcaps90,

                      merci pour le lien,

                      <img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' />

                      Commentaire


                      • <blockquote id="quote"><font size="1" id="quote">citation :<hr height="1" noshade id="quote"><i>Citation de smallcaps90</i>
                        <br />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.
                        <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
                        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 (<a href='/ref.php?uri=http%3A%2F%2Fwww.mesasoftware.com%2FSeminars%2FTSWorld05.ppt' target="_blank">http://www.mesasoftware.com/Seminars/TSWorld05.ppt</a>).

                        Amicalement

                        Jean-Charles

                        Commentaire


                        • Bonjour jcp31,

                          Merci pour l'info mais il y a déjà un certain temps que MESA a été programmé avec GrapheAT Pro.
                          Tu trouveras nos codes pages 30, 31 et 32 de la file.

                          En fait Longway souhaitait que j'automatise la méthode de prise de position en mode "cycle" présentée page 32 et je lui disais hier que j'avais çà sous le coude.

                          Cordialement.

                          Commentaire


                          • <blockquote id="quote"><font size="1" id="quote">citation :<hr height="1" noshade id="quote"><i>Citation de smallcaps90</i>
                            <br />Bonjour jcp31,

                            Merci pour l'info mais il y a déjà un certain temps que MESA a été programmé avec GrapheAT Pro.
                            Tu trouveras nos codes pages 30, 31 et 32 de la file.

                            En fait Longway souhaitait que j'automatise la méthode de prise de position en mode "cycle" présentée page 32 et je lui disais hier que j'avais çà sous le coude.

                            Cordialement.
                            <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

                            argh ... voila ce que c'est de ne pas avoir appris par coeur les 72 pages de cette file de discussion: on tombe à côté <img src='http://www.pro-at.com/style/images/icones/icon_smile_big.gif' border='0' alt='' title='' align='middle' />.

                            Amicalement

                            Jean-Charles.

                            Commentaire


                            • bonjour
                              fidele lecteur "anonyme", je tiens a remercier chaleureusement tous les acteurs actifs de cette file qui rendent des services enormes a pleins d'handicapes de l'informatique comme moi !
                              et encore je ne suis meme pas fichu de recopier les programmes qui sont edites !!
                              mon probleme concerne les fourchettes d'Andrews : j'ai recopie le programme de l'indicateur puis surtout la regle statistique recente mais quand je la lance et que je demande de la controler, le log me repond " indicateur ZZ_PITCHFORK inconnue "
                              pourtant il est bel et bien rentre dans les indicateurs !
                              ou peut etre l'erreur ?
                              merci d'avance

                              Commentaire


                              • Bonjour nazedoc,

                                C'est tout à fait normal que tu aies ce pb.
                                En effet, le programme de tracé des fourchettes a évolué récemment (tracé des 3 dernières fourchettes à la demande) mais pas la stat correspondante.
                                Celle-ci, demandée par FOKI, détectait la proximité des valeurs du groupe scanné par rapport à la dernière fourchette qui était la seule tracée dans la première version du programme indicateur. Tu devrais donc vérifier que la stat reste valable avec le programme "ZZ_PITCHFORK" de la page 70, à condition que tu emploies ce même nom pour désigner l'indicateur bien sûr...

                                Le nom de l'indicateur "PITCHFORKS" présenté page 72 ayant changé, la récupération des variables utiles à la stat ne se fait plus correctement. Et de plus on dispose maintenant de 3 fouchettes au maximum.

                                Si tu es intéressé par une nouvelle stat qui vérifie la proximité des cours à l'une (ou plusieurs) des 3 dernières fourchettes, je pourrai la reprogrammer.

                                Cordialement.

                                Commentaire

                                Chargement...
                                X