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

  • Bonjour,

    Super, çà s'anime!...

    Merci Augusseau pour ton programme de définition des "DevStops" selon C .Kase.

    Merci aussi Lego pour ta statistique.
    Je te propose une solution qui fonctionne avec une seule boucle POUR.
    -----------------------------------------------------------------
    <pre>// RSI < 50 ET CROISEMENT AVEC SA MM et CLOTURE AU DESSOUS DE LA BANDE BOLL
    //(achat à vérifier avec d'autres paramètres bien sur)

    NB_PERIODES=15

    //A remettre impérativement à 0 avant l'examen d'une autre action
    VAR_RSI=0
    VAR_BOLL=0

    POUR NB_PERIODES COURS

    // Cloture au dessous de LBOLL
    SI CLOTURE<LBOLL ALORS VAR_BOLL= 1

    // RSI<50 et croisement à la hausse de MRSI par RSI
    SI RSI<50
    ALORS
    VAR_RSI = 1
    SI CROISE(RSI,MRSI)>0
    ALORS
    VAR_RSI = VAR_RSI + 1
    FINSI
    FINSI

    SI VAR_RSI = 2 ET VAR_BOLL = 1
    ALORS
    COLONNE1 = "RSI - LBOLL " & DATEHISTO$
    SELECTION //A pour effet de sortir de la boucle POUR quand on passe ici
    FINSI

    FINPOUR</pre>
    -----------------------------------------------------------------
    Deux choses à bien comprendre.
    Première chose :
    - le passage sur l'instruction SELECTION arrête l'examen des périodes restantes pour l'action qui est actuellement examinée (le programme sort de la boucle POUR).
    Comme tu peux le constater, j'ai réintégré cette instruction dans la boucle POUR, donc plus besoin de la variable VAR_SELECT.
    De cette manière, si ton critère de sélection (VAR_RSI = 2 ET VAR_BOLL = 1) est satisfait, la stat nous indique en COLONNE1 du rapport de statistique : le message "RSI_LBOLL", suivi de la date pour laquelle le critère est satisfait et, du fait, de la présence de l'instruction SELECTION, le nom de l'action concernée.

    Deuxième chose :
    - il faut remettre impérativement à 0 : VAR_RSI et VAR_BOLL chaque fois que l'on sort de la boucle POUR, que ton critère de sélection soit satisfait pour l'action en cours ou non. Cette RAZ est réalisée ici en tête de programme, avant de traiter une nouvelle action.
    Si tu ne réalise pas cette RAZ, les 2 variables VAR_RSI et VAR_BOLL conservent les valeurs qu'elles ont acquises lors de la première boucle POUR, et c'est la panique pour la suite...

    La fenêtre Propriétés est inchangée.

    J'ai appliqué ta stat sur le CAC40 en date de vendredi dernier le 09/09/2005 avec un RSI règlé sur 14 et 3 pour le MRSI3.
    Voici les résultats :

    <font size="1">Système de Robert Edwards et John Magee
    programmé par Lego

    RSI - LBOLL 05/09/2005 AGF
    RSI - LBOLL 31/08/2005 Air Liquide
    RSI - LBOLL 31/08/2005 Alcatel
    RSI - LBOLL 30/08/2005 Arcelor
    RSI - LBOLL 31/08/2005 AXA
    RSI - LBOLL 31/08/2005 Bnp Paribas
    RSI - LBOLL 31/08/2005 Cap Gemini
    RSI - LBOLL 31/08/2005 Carrefour
    RSI - LBOLL 31/08/2005 Casino Guichard
    RSI - LBOLL 29/08/2005 Credit agricole
    RSI - LBOLL 29/08/2005 Dexia
    RSI - LBOLL 29/08/2005 France Telecom
    RSI - LBOLL 29/08/2005 Lafarge
    RSI - LBOLL 31/08/2005 Lagardere
    RSI - LBOLL 31/08/2005 Michelin
    RSI - LBOLL 01/09/2005 Peugeot
    RSI - LBOLL 06/09/2005 Publicis Group
    RSI - LBOLL 31/08/2005 Renault
    RSI - LBOLL 05/09/2005 Sanofi-Aventis
    RSI - LBOLL 24/08/2005 Schneider
    RSI - LBOLL 29/08/2005 Societe Generale
    RSI - LBOLL 05/09/2005 STMicroelectronics
    RSI - LBOLL 05/09/2005 TF1
    RSI - LBOLL 29/08/2005 Vivendi universal</font id="size1">

    Bonne fin de week end.

    Commentaire


    • Bonsoir et Merci Smallcaps,

      A vrai dire je croyais que mon programme marchait, eh ben non! heureusement que tu l'as corrigé et expliqué , merci beaucoup, maintenant il faut que je comprends comment ça marche, là il me faut un peu du temps.

      Prudence, prudence, toujours pour des achats ou des ventes (tendance largement entamée, et puis c'est le marché qui a tj raison etc...)

      A bientot pour d'autres programmes.

      Commentaire


      • Suite au corriger de Smallcap, je vous propose un petit plus , bien sur après c'est à chacun d'ajouter ou d'enlever les indicateurs qui veulent.

        Merci encore des précieux conseils de Smallcaps et de tous les autres qui nous permet de comprendre comment fonctionne Graphe At. Sans vous je crois que je suis encore dans les limbes. Ca veut pas dire que j'aie tous compris (j'espère comprendre un peu plus graphe at d'ici quelques mois).

        // les zones de test en dehors de la boucle sont testés avec la date d’exécution du règle de la statistique
        // les zones à l’intérieur de la boucle sont testées avec j(0) , j(-1), j(2),…j(15)
        // RSI < 50 ET CROISEMENT AVEC SA MM et CLOTURE AU DESSOUS DE LA BANDE BOLL

        //A remettre impérativement à 0 avant l'examen d'une autre action
        VAR_RSI=0
        VAR_BOLL=0
        VAR_SELECT=0
        VAR_DI=0

        SI DIPLUS > DIMOINS ALORS // DI+ doit etre > DI – le jour du passage
        SI DIPLUS(0) > DIPLUS(1) ALORS // DI+(J) doit être plus grand que DI+(J-1)
        VAR_DI=1
        FINSI
        FINSI

        // Le cours de l’action doit être < la moyenne bollinger pour que nb_périodes=15
        SI CLOTURE < MBOLL ALORS
        NB_PERIODES=15
        SINON
        NB_PERIODES=0
        FINSI


        POUR NB_PERIODES COURS

        // Cloture au dessous de LBOLL
        SI CLOTURE<LBOLL ALORS VAR_BOLL= 1 FINSI

        // RSI<50 et croisement à la hausse de MRSI par RSI
        SI RSI<50
        ALORS
        VAR_RSI = 1
        SI CROISE(RSI,MRSI)>0
        ALORS
        VAR_RSI = VAR_RSI + 1
        FINSI
        FINSI


        SI VAR_RSI = 2 ET VAR_BOLL = 1 ET VAR_DI = 1
        ALORS
        COLONNE1 = "DI- RSI – LBOLL " & DATEHISTO$
        SELECTION //A pour effet de sortir de la boucle POUR quand on passe ici
        FINSI

        FINPOUR


        Essai avec la date du 07/09/2005

        Groupe : cac40 Date : 07/09/2005
        RSI - BOLL - DIPLUS - DIMOINS

        DI - RSI - LBOLL 01/09/2005 Carrefour
        DI - RSI - LBOLL 01/09/2005 Peugeot

        Cordialement

        Commentaire


        • Bonjour à tous,

          Ayant quelques soucis de programmation, je me tourne vers les champions de la file pour voir si il est possible de résoudre nom problème.
          J’essais de récupérer les valeurs des +haut ou +bas dans un tableau ( valb(rang), valh(rang), …,) pour pouvoir les traiter dans la suite du programme (boucle finale) . Lorsque je reprend les valeurs pour les tracer, elles sont toutes à zéro.
          Une partie du programme

          <font size="2">// Suivi des +bas
          si ranghisto=finhisto-dec_fh
          alors
          pour nb_je cours
          // Préparation des données
          si vp1=0
          alors
          var_b=bas var_b1=bas(1) var_b2=bas(-1)
          sinon
          var_b=cloture var_b1=cloture(1) var_b2=cloture(-1)
          finsi
          si vp2=0
          alors
          var_h=haut var_h1=haut(1) var_h2=haut(-1)
          sinon
          var_h=cloture var_h1=cloture(1) var_h2=cloture(-1)
          finsi
          // Recherche des +bas
          si var_b<var_b1 et var_b<var_b2
          alors
          valb(rang)=var_b1 valh(rang)=var_h1 valr(rang)=ranghisto valt(rang)=0
          vbas=10 bas_rang=rang
          rang=rang+1
          finsi
          // Recherche des +haut
          si var_h>var_h1 et var_h>var_h2
          alors
          valh(rang)=var_h1 valb(rang)=var_b1 valr(rang)=ranghisto valt(rang)=1
          vhaut=10 haut_rang=rang
          rang=rang+1
          finsi
          finpour
          finsi

          // Tracer
          n=0
          tantque n<=rang faire
          ind=finhisto-valr(n)
          var1(ind)=valr(n) // var1 est une courbe de l’indicateur
          n=n+1
          fintantque
          var2=valb(1) ) // var2 est une courbe de l’indicateur</font id="size2">

          Merci de me dire si il y a une erreur ou éventuellement une solution pour réutiliser un tableau de valeur.

          Cordialement



          Commentaire


          • Bonsoir Michka,

            Il est tout à fait possible de considérer une variable historisée comme un tableau à une dimension. J'utilise souvent cette solution. On peut aussi généraliser à plusieurs dimensions.
            La principale difficulté que j'ai rencontrée consistait en la gestion des indices qui permettaient d'accéder aux valeurs stockées dans les tableaux suivant que j'employais une boucle POUR ou une boucle TANTQUE. Cela nécessitait de faire quelques calculs.

            Pour le pb plus particulier que tu poses, difficile de te répondre vu que tu ne postes qu'une partie du programme, sans cahier des charges...
            Je suppose, entre autres, que l'indice que tu nommes "rang" est initialisé dans la partie "invisible" du programme...
            Amha, tes "tableaux" valb et valh ont bien les valeurs que tu y stockes, mais tu ne sais plus où elles sont...

            Cordialement.

            Commentaire


            • Re Michka,

              J'ai oublié qq chose d'important dans mon post précédent.
              A la mise au point de ton programme, pour pouvoir retrouver là où sont placées les valeurs que tu stockes dans tes tableaux, crées donc des courbes correspondantes aux variables dans lesquelles tu les places. Evidemment tu règleras l'affichage de ces "courbes" sur "Aucun" puisqu'elles ne correspondent pas à de vraies courbes que tu souhaites tracer (à moins que tu veuilles le faire...).
              Ainsi après avoir lancé la règle indic., en cliquant sur l'onglet Jour en haut dans la fenêtre graphique, tu verras apparaître les listes qui correspondent à ces variables. Et tu pourras vérifier si leurs valeurs sont situées aux emplacements corrects....

              Commentaire


              • Bonjour;

                J'ai acheté GraphAtPro en 2004 et suite à une reinstallation j'ai plus le même code utilisateur par conséquent ma clé d'enregistrement n'est plus valide.

                j'ai contacté mlog mais pas eu encore de réponse.

                Est ce quelqu'un a déjà eu ce probléme?

                Ce n'est pas trés pratique ce systéme si à chaque fois mlog doit fournir une nouvelle clé.

                J'espére que cela ne va pas poser probléme? L'éditeur de Grapheat est-il tjrs en activité?

                Commentaire


                • Bonsoir Chzame,

                  Il me semble que sur la page 49, c'est toi qui a expliqué comment reinstallé Graphe at sans à redemander à Mlog la clé.
                  J'ai perdu la clé une fois, Mlog m'a renvoyé une autre clé, mais il faut attendre un peu.

                  SInon il y a la solution Norton Ghost pour sauvegarder ton disque pour la prochaine fois(disque mort - virus...)

                  Cordialement

                  Commentaire


                  • lol, je vois que tu suis bien


                    Oui, c'etait moi, mais j ai copié le dossier graphatpro sur cd, j ai formate, remis mon dossier et le log a change de code, ou alors j ai pas garde la bonne cle mais ca m etonnerait.

                    En tout cas, j espere que mlog va me croire car là je peux pas utiliser le log.

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

                    En tout cas, je sais pas comment fais mlog pour gerer les cas comme celui ci mais j 'espere qu'il a une solution car moi je formate de temps en temps et si je dois demander une cle a chaque fois!!
                    <img src='http://www.pro-at.com/style/images/icones/icon_smile_question.gif' border='0' alt='' title='' align='middle' />

                    Oui, la methode precedente fonctionne mais je sais pas ce qu il s est passe là!

                    soit c est la mise à jour qui a change mon code et lors de la reinstalle j ai vu le pb enfin je sais pas

                    qu en pensez vous?

                    (J'utilise trés peu les images disques, je n'ai pas trop confiance, je ne connais pas trop aussi<img src='http://www.pro-at.com/style/images/icones/icon_smile_clown.gif' border='0' alt='' title='' align='middle' />)

                    Commentaire


                    • Bonjour Smallcaps et merci de me répondre si vite. Je met le programme au complet avec les courbes pour voir les valeurs (faisant beaucoup d’erreur de programmation, j’utilise ce moyen pour faire les vérifications). Je visualise des choses mais ne comprend pas le résultat.

                      <font size="2">// Init des variables
                      si ranghisto=1
                      alors
                      valb(0)=0 valh(0)=0 valr(0)=0 valt(0)=0 rang=0
                      dec_fh=0 // décalage avant finhisto
                      nb_je=100 // nombre de jour etude du suivi des +haut et +bas par raport à finhisto
                      vp1=0 // paramètre pour +bas, vp1=0 -> bas, vp1=1 -> cloture
                      vp2=0 // paramètre pour +haut, vp2=0 -> haut, vp2=1 -> cloture
                      finsi

                      // Suivi des +bas
                      si ranghisto=finhisto-dec_fh
                      alors
                      pour nb_je cours
                      // Préparation des données
                      si vp1=0
                      alors
                      var_b=bas var_b1=bas(1) var_b2=bas(-1)
                      sinon
                      var_b=cloture var_b1=cloture(1) var_b2=cloture(-1)
                      finsi
                      si vp2=0
                      alors
                      var_h=haut var_h1=haut(1) var_h2=haut(-1)
                      sinon
                      var_h=cloture var_h1=cloture(1) var_h2=cloture(-1)
                      finsi
                      // Recherche des +bas
                      si var_b<var_b1 et var_b<var_b2
                      alors
                      valb(rang)=var_b valh(rang)=var_h valr(rang)=ranghisto valt(rang)=1
                      vbas=valb(rang) bas_r=rang vhaut=valh(rang) var1=valr(rang)/100 haut_r=valt(rang) //courbes
                      rang=rang+1
                      finsi
                      // Recherche des +haut
                      si var_h>var_h1 et var_h>var_h2
                      alors
                      valh(rang)=var_h valb(rang)=var_b valr(rang)=ranghisto valt(rang)=2
                      vbas=valb(rang) bas_r=rang vhaut=valh(rang) var1=valr(rang)/100 haut_r=valt(rang) //courbes
                      rang=rang+1
                      finsi
                      finpour
                      finsi

                      // Tracer du sup_res
                      n=0
                      tantque n<=rang faire
                      ind=valr(n)
                      var2(n)=ind //courbe
                      n=n+1
                      fintantque</font id="size2">
                      Sur les courbes, j’ai bien les valeurs car je suis dans la première boucle. Par contre dans la deuxième boucle (tantque) la courbe var2 me donne que la 1er ou 2ème valeur et placée à un endroit que je ne comprend pas.

                      Voici le cahier des charges du programme pour le tracer de la tendance selon F Baron. Une tendance haussière est une succession de +haut (+haut de n> +haut de n-1) avec des consolidations +bas (+bas de n> +bas de n-1). Inversement pour la tendance baissière.
                      Dans le première partie je récupère les +haut et +bas (actuellement tout est récupéré, il faudra par la suite éliminer les intermédiaires). D’où l’utilité du tableau pour faire les tests de la tendance dans la deuxième partie du programme. J’espère aussi utiliser le même tableau pour dessiner les supports/résistances. Je ne sais si j’ai été assez clair.

                      Merci de te penché sur mon problème.

                      Cordialement




                      Commentaire


                      • j'ai été confronté au problème suite au passage à XP. La clé avait changé. C'était il y a un mois et Mlog m'a réadressé une clé. Je suppose que le générateur de clé de grapheAT utilise la configuration de la machine. Certes, je fais des sauvegardes mais si le disque casse, je risque d'avoir le même soucis. Tant que Mlog répond, pa s de soucis. Mais si pas de réponse, alors quoi faire?

                        Commentaire


                        • .

                          Commentaire


                          • Bon voilà, je viens de recevoir une nouvelle clé par mlog.

                            Tout est rentré dans l'ordre,<img src='http://www.pro-at.com/style/images/icones/icon_smile_big.gif' border='0' alt='' title='' align='middle' />

                            Pour Répondre à sphinx, je pense que de mettre le repertoire d'installation sur un dd différent que celui du systéme evite tout désagrément lors d'un formatage.

                            Par contre, il ne faut pas changer de support au logiciel.

                            Donc si le DD est défectueux même si tu arrive à récupérer des données, le code aura changé car le logiciel aura changé de support.

                            Cordialement.

                            (Je rends la parole à la programmation désolé pour cette interméde et encore bravo à smallcaps90, RickenBroc et les autres.)


                            Cordialement

                            Commentaire


                            • Bonjour Michka,

                              Difficile d'exprimer ce que l'on veut faire en général, on est bien plus à l'aise en expliquant comment on veut le faire...
                              Tu souhaiterais visiblement repèrer les + hauts et + bas des cours et leur positions temporelles en vue de tracer ultérieurement des lignes de tendance haussières et baissières.

                              A la lecture de ton programme je remarque un certain nombre de choses.

                              1- Suivant les valeurs de vp1 et vp2, tu sélectionnes : BAS et HAUT si vp1 et vp2=0, BAS et CLOTURE si vp1=0 et vp2=1, HAUT et CLOTURE si vp1=1 et vp2=0, CLOTURE et CLOTURE si vp1=vp2=1. Ok...
                              Est-ce vraiment utile de recopier ces cours dans des variables intermédiaires en vue de tests ultérieurs? On pourrait effectuer ces tests sur les cours directement...

                              2- Tu mets donc en place une boucle POUR dans laquelle tu réalises en premier lieu ces recopies.
                              Lorsque la boucle atteint le dernier jour de l'historique (lorsque dec_fh=0, ce qui sera la cas le plus courant...), les valeurs de bas(-1), haut(-1) et cloture(-1) sont encore inconnues.
                              En fait GrapheAT Pro leur donne les valeurs qu'il trouve le premier jour de l'historique. Avec mon historique il affecte 56.05 à ce + bas et 56.90 au + haut ...dur pour la suite (!)...
                              Regarde le graphe suivant de Novartis N sur lequel j'ai tracé tes variables VAR_B2 en rouge épais, VAR_B en rouge fin, VAR_B1 en rouge pointillé, VAR_H2 en bleu épais, VAR_H en bleu fin et VAR_H1 en bleu pointillé :
                              <center><img src='http://images.pro-at.com/200509/b/novartis_faux.gif' alt='' /></center>
                              Pour éviter ce cas de figure, on pourrait effectuer directement la comparaison :
                              SI BAS(2)>BAS(1) ET BAS(1)<BAS(0) ALORS ....
                              et c'est alors BAS(1) qui sera le mini local si la condition est satisfaite et non plus BAS.
                              <center><img src='http://images.pro-at.com/200509/b/mini_local.gif' alt='' /></center>
                              Idem pour les hauts et les clôtures.

                              Mais quid du cas dans lequel BAS(2)=BAS(1) alors que BAS(3)>BAS(2) et BAS(1)<BAS(0)?
                              BAS(1) pourrait toujours être considéré comme un mini local.
                              Ce cas existe sur Novartis N ci-dessus...J'en tiendrai compte dans le programme proposé plus bas.
                              <center><img src='http://images.pro-at.com/200509/b/mini_local_2.gif' alt='' /></center>
                              On pourait tenir compte d'autres cas de figures, mais ne compliquons pas...

                              3- Pour gèrer la suite, le principal souci que tu rencontres, comme je te l'avais signalé dans mon précédent post, est que tu utilises dans la boucle POUR l'indice "rang" que tu incrémentes si tu as trouvé un + bas (ou un + haut) sur les cours.
                              L'indice "rang" fait double emploi avec l'indice naturel de la boucle POUR (RANGPOUR dont on dispose dans GrapheAT Pro) et les valeurs trouvées se placent dans les tableaux suivant la valeur de cet indice, mais aussi en fonction de l'état d'avancement de la boucle POUR.
                              Si rang=1 par exemple, elles se placeront le jour qui précède celui que traite actuellement la boucle POUR...
                              Voici ce qu'on obtient pour la même action Novartis N avec nb_je=30 (juste pour limiter la taille des tableaux à afficher) :
                              <center><img src='http://images.pro-at.com/200509/b/tableau.gif' alt='' /></center>
                              Si on s'intéresse au + bas local =59.25 de l'action trouvé le 29/08/05, on constate qu'il est d'abord stocké en date du 24/08/2005. Cela est normal puisque l'indice rang est égal à 3 au moment où la boucle POUR pointe sur les cours du 29/08/05.
                              Ensuite cette valeur est redéplacée au 29/08/05 par ton algorithme. Le 29 est la bonne date (voir les flèches inclinées bleues épaisses dans le tableau ci-dessus).
                              J'ai indiqué les autres valeurs de l'indice rang sous le tableau. On voit bien que rang est incrémenté avec une période qui ne dépend que de la position des + bas locaux...

                              Ne vaudrait-il mieux pas repèrer directement ces + bas en recopiant leur valeur dans un tableau ad-hoc aux dates où ils se produisent par exemple? Les valeurs autres que celles de ces minima locaux seraient mises à 0.

                              On pourrait opérer de la façon suivante :

                              ------------------
                              <pre>
                              //Proto pour Michka
                              //Détection des plus hauts et des plus bas sur
                              //les bas, les hauts ou les clôtures au choix
                              //V.1.0 le 14/09/05
                              //

                              // Init des variables
                              SI RANGHISTO=1
                              ALORS
                              DEC_FH=0 //décalage avant finhisto
                              NB_JE=50 //nombre de jour etude du suivi des +haut et +bas par rapport à finhisto
                              VP1=0 //paramètre pour +bas, vp1=0 -> bas, vp1=1 -> cloture
                              VP2=0 //paramètre pour +haut, vp2=0 -> haut, vp2=1 -> cloture
                              FINSI

                              //recherhce des mini et maxi locaux
                              SI RANGHISTO=FINHISTO-DEC_FH
                              ALORS

                              POUR NB_JE COURS

                              COND_BAS = (VP1=0) ET ((BAS(2)>BAS(1) ET BAS(1)<BAS) OU
                              (BAS(3)>BAS(2) ET BAS(2)=BAS(1) ET BAS(1)<BAS))

                              COND_HAUT = (VP2=0) ET ((HAUT(2)<HAUT(1) ET HAUT(1)>HAUT) OU
                              (HAUT(3)<HAUT(2) ET HAUT(2)=HAUT(1) ET HAUT(1)>HAUT))

                              COND_CLOTURE_B = (VP1=1) ET ((CLOTURE(2)>CLOTURE(1) ET CLOTURE(1)<CLOTURE) OU
                              (CLOTURE(3)>CLOTURE(2) ET CLOTURE(2)=CLOTURE(1) ET CLOTURE(1)<CLOTURE))

                              COND_CLOTURE_H = (VP2=1) ET ((CLOTURE(2)<CLOTURE(1) ET CLOTURE(1)>CLOTURE) OU
                              (CLOTURE(3)<CLOTURE(2) ET CLOTURE(2)=CLOTURE(1) ET CLOTURE(1)>CLOTURE))

                              MINI_LOCAL(1) = BAS(1)*COND_BAS + CLOTURE(1)*COND_CLOTURE_B
                              MAXI_LOCAL(1) = HAUT(1)*COND_HAUT + CLOTURE(1)*COND_CLOTURE_H

                              FINPOUR

                              FINSI</pre>
                              ------------------

                              Ne sois pas surpris par l'allure inhabituelle des instructions dans la boucle POUR : il s'agit de conditions écrites sous forme logique qui remplacent simplement des SI ALORS... SINON...mais de façon plus concise.
                              Par exemple l'instruction :

                              <font color="red">COND_BAS = (VP1=0) ET ((BAS(2)>BAS(1) ET BAS(1)<BAS) OU
                              (BAS(3)>BAS(2) ET BAS(2)=BAS(1) ET BAS(1)<BAS)) </font id="red">

                              crée une condition logique COND_BAS qui vaudra 1 si VP1=0 et si les conditions sur les BAS sont satisfaites. COND_BAS vaudra 0 sinon.

                              On reprend cette condition ensuite pour affecter le + bas trouvé : BAS(1) au MINI_LOCAL(1) sous la forme :
                              <font color="red">MINI_LOCAL(1) = BAS(1)*COND_BAS </font id="red">+ CLOTURE(1)*COND_CLOTURE_B

                              La 2ème partie du 2ème membre est relative aux + bas des clôtures si elles sont sélectionnées par VP1=1 (voir COND_CLOTURE_B plus haut dans le programme).

                              On opère de même avec les autres extrema compte tenu des valeurs affectées à VP1 et VP2.

                              Exemples avec Novartis N:
                              <center><img src='http://images.pro-at.com/200509/b/novartis_mini_maxi_locaux_00.gif' alt='' /></center>
                              Voici un extrait du tableau qu'affiche GrapheAT Pro pour le cas où VP1=0 et VP2=0 en date d'hier.
                              <center><img src='http://images.pro-at.com/200509/b/novartis_mini_maxi_locaux_extrait.gif' alt='' /></center>
                              <center><img src='http://images.pro-at.com/200509/b/novartis_mini_maxi_locaux_01.gif' alt='' /></center>
                              <center><img src='http://images.pro-at.com/200509/b/novartis_mini_maxi_locaux_10.gif' alt='' /></center>
                              <center><img src='http://images.pro-at.com/200509/b/novartis_mini_maxi_locaux_11.gif' alt='' /></center>

                              Propriétés :
                              <center><img src='http://images.pro-at.com/200509/b/propri%e9t%e9s_mini_maxi_locaux.gif' alt='' /></center>

                              4- Boucle TANTQUE.
                              Attention, au contraire de la boucle POUR, celle-ci ne modifie pas automatiquement l'emplacement qu'elle pointe. Il faut y gèrer explicitement un indice et y faire référence pour accéder à des périodes autres que celle sur laquelle on se trouve lors du lancement de la boucle et qui demeure constante. Ranghisto reste donc constant pendant toute la durée d'exécution de ce type de boucle.


                              Il te reste maintenant à développer une façon de procéder pour sélectionner parmi les mini/maxi_locaux trouvés ceux qui permettront de tracer les lignes de tendance souhaitées.
                              Je te souhaite bon courage...

                              Cordialement.

                              Commentaire


                              • Bonsoir Smallcaps,

                                Je viens de voir ta réponse et te remercie pour tout ce que tu as écris, Tu es vraiment super sympa.
                                Je regarde tout cela et essaie de finir mon programme.

                                Encore mille mercis

                                Cordialement


                                Commentaire

                                Chargement...
                                X