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

  • Merci pour la bienvenue,

    je vais suivre ton conseil pour acceder plus facilement a votre travail...

    en attendant ;on cahier des charges est le suivant :
    sur une liste de valeurs, etablir la top list des 10 (20) valeurs presentant la pente la plus forte sur la MM100 (la pente etant consideree comm MM100 du jour - MM100 jour precedent)

    Merci d'avance

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

    Peut-être devrais-tu demander à nos amis JLR et LONGWAY qu'ils te fassent parvenir leurs synthèses, cela te facilitera la tâche...
    JLR a réalisé des docs Word des posts de la file et LONGWAY a conçu un tableau Excel qui permet d'accéder à n'importe quel post à partir du sujet qui le concerne.

    Au sujet de ton problème de sélection à partir de la MM100, comme te le disait ALEXANDRE, c'est tout à fait possible à faire avec GrapheAT Pro...donne-nous ton cahier des charges précis et nous t'aiderons à programmer la statistique correspondante, si tu le souhaites.

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

    Commentaire


    • Bonjour jmc,

      Voici une solution possible à ton problème de statistique.

      <b>Programme :</b>
      ==========================================
      //Statistique de recherche des N plus grandes valeurs
      //de la pente de la MM100
      //le 07/03/06
      //

      POUR 2 COURS
      MM100(0)=MOYENNE(CLOTURE,100)
      COLONNE1=(MM100-MM100(1))/(MM100+MM100(1))
      FINPOUR
      ==========================================

      Comme tu peux le constater, j'ai introduit une boucle POUR sur 2 périodes pour calculer les 2 valeurs MM100 et MM100(1) dont on a besoin pour déterminer la pente de la MM100 de chaque action du groupe scanné à la période actuelle. Ensuite la COLONNE1calcule la pente souhaitée en divisant la différence entre les 2 valeurs de la MM100 par leur somme. Ceci est indispensable si on veut pouvoir effectuer des comparaisons.

      <b>Propriétés :</b>
      <center><img src='http://images.pro-at.com/200603/b/proprietes_stat1.gif' alt='' /></center>

      Pour obtenir au final un affichage des résultats limité au nombre N d'actions que tu souhaites, il suffit d'indiquer cette valeur dans la case "Maximum de lignes" avant de lancer la stat (N=20 ici).

      Pour le CAC40 en date d'hier mardi 07/03/2006 cela donne :

      Groupe : cac40 Date : 07/03/2006
      Plus grandes valeurs de la pente de la MM100


      0,00286 Arcelor
      0,00188 Suez
      0,00152 Cap Gemini
      0,00122 Veolia Environnement
      0,00118 Schneider
      0,00116 AXA
      0,00114 Credit agricole
      0,00111 Lafarge
      0,00102 Publicis Group
      0,00100 Societe Generale
      0,00094 L'Oreal
      0,00092 Accor
      0,00078 TF1
      0,00075 Saint Gobain
      0,00073 LVMH Moet Hennessy
      0,00068 Bnp Paribas
      0,00061 Lagardere
      0,00058 Vinci
      0,00057 Pinault Printemps Redoute
      0,00055 Bouygues

      Cordialement.

      Commentaire


      • Bon alors merci 1000 fois smallcaps, c'est vraiment rapide et simple!

        je suppose que c'est la MM100 simple, comment ferait-on pour avoir la MM100 exponentielle ?

        et comment pour les valeurs négatives les lus fortes en valeur absolue ? (désolé ça ressemble à une question de novice sous GrapAT mais ... c'est ce que je suis)

        Commentaire


        • Bonsoir jmc,

          Il suffit de modifier l'instruction de calcul de la moyenne en écrivant :
          MM100=EXPOSUIV(MM100,CLOTURE,100).
          Tu trouveras cette syntaxe décrite dans l'aide de GrapheAT Pro.

          Pour résoudre ton nouveau problème on peut envisager la solution suivante.
          On crée 2 règles statistiques, la première pour les valeurs positives de la pente de la moyenne et la deuxième pour les valeurs négatives.
          On pourrait regrouper ces deux règles en une seule bien sûr, mais les problèmes d'affichage final ne seraient pas simplifiés pour autant. Mieux vaut donc écrire 2 règles. D'autant plus qu'on disposera ainsi simultanément des résultats des deux règles.

          <b>Programme de la règle PentePlus_M100 :</b>
          ========================================
          //Statistique de recherche des N valeurs positives
          //de la pente de la MM100
          //le 10/03/06
          //

          POUR 500 COURS
          MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
          FINPOUR

          POUR 2 COURS
          PENTE=(MM100-MM100(1))/(MM100+MM100(1))
          COLONNE1=PENTE*(PENTE>0)
          FINPOUR
          ========================================
          La condition logique (PENTE>0) introduite dans l'instruction "COLONNE1=", permet d'afficher uniquement les valeurs positives des pentes.
          Si des valeurs négatives apparaissaient compte-tenu du nombre d'actions sélectionnées par la valeur introduite dans la case "Maximum de lignes", ces valeurs seraient remplacées par des 0.

          <b>Propriétés de la règle PentePlus_M100 :</b>
          <center><img src='http://images.pro-at.com/200603/b/proprietes_stat_plus1.gif' alt='' /></center>
          On trie les résultats suivant l'ordre décroissant de la colonne1.

          Pour le CAC40 en date d'hier :

          <font size="1">Groupe : cac40 Date : 09/03/2006
          Valeurs positives de la pente de la MM100


          0,00276 Arcelor
          0,00212 Suez
          0,00189 Cap Gemini
          0,00134 Veolia Environnement
          0,00129 Credit agricole
          0,00120 L'Oreal
          0,00112 Schneider
          0,00109 Danone
          0,00086 Publicis Group
          0,00085 Lafarge
          0,00078 Carrefour
          0,00075 Societe Generale
          0,00073 AXA
          0,00072 LVMH Moet Hennessy
          0,00071 Renault</font id="size1">

          <b>Programme de la règle PenteMoins_M100 :</b>
          ========================================
          //Statistique de recherche des N valeurs négatives
          //de la pente de la MM100
          //le 10/03/06
          //

          POUR 500 COURS
          MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
          FINPOUR

          POUR 2 COURS
          PENTE=(MM100-MM100(1))/(MM100+MM100(1))
          COLONNE1=PENTE*(PENTE<0)
          FINPOUR
          ========================================
          Ici également la condition logique (PENTE<0) qui se trouve dans l'instruction "COLONNE1=" permet de n'afficher que les valzurs négatives de la pente. Si des valeurs positives apparaissent, elles seont représentées par des 0 dans le tableau d'affichage des résultats.

          <b>Propriétés de la règle PenteMoins_M100 :</b>
          <center><img src='http://images.pro-at.com/200603/b/proprietes_stat_moins.gif' alt='' /></center>
          On trie les résultats suivant l'ordre croissant de la colonne1.

          Pour le même CAC40 en date d'hier :

          <font size="1">Groupe : cac40 Date : 09/03/2006
          Valeurs négatives de la pente de la MM100

          -0,00109 Thomson
          -0,00079 France Telecom
          -0,00044 STMicroelectronics
          -0,00042 Peugeot
          -0,00037 Casino Guichard
          -0,00027 Total
          -0,00011 Pernod Ricard
          -0,00010 Lagardere
          -0,00002 Thales
          0,00000 Accor
          0,00000 AGF
          0,00000 Air Liquide
          0,00000 Alcatel
          0,00000 Arcelor
          0,00000 AXA</font id="size1">

          Les 5 dernières lignes du tableau correspondent à des valeurs positives de la pente. Il les remplace bien par des valeurs 0 et les affiche dans l'ordre alphabétique...

          Cordialement.

          Commentaire


          • OK super ça me va bien !

            Questions techniques :

            la section suivante est indispensable pour initialiser la MMexp ?
            POUR 500 COURS
            MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
            FINPOUR
            La fonction EXPOSUIV ne fait que le calcul sur la valeur précédente, c'est cela ?

            et dans la section :
            POUR 2 COURS
            PENTE=(MM100-MM100(1))/(MM100+MM100(1))
            COLONNE1=PENTE*(PENTE>0)
            FINPOUR
            pourquoi calcules-tu Colonne1 dans la boucle ? Pourquoi pas après la boucle ?

            Commentaire


            • Re jmc,

              La fonction EXPOSUIV permet de programmer rapidement le calcul des valeurs de la moyenne exponentielle, au lieu d'écrire l'expression complète :

              M100(0) = 2/(P1+1)*CLOTURE(0) + (1-2/(P1+1)*M100(1)
              Avec P1=100 périodes ici

              Oui il faut calculer les valeurs de la moyenne exponentielle avant de les utiliser dans le calcul de la pente en fin d'historique. J'ai choisi 500 périodes pour avoir des valeurs correctes. On peut en prendre moins.

              En fait on peut très bien modifier les programmes et supprimer les deuxièmes boucles POUR qui ne servent plus à rien :

              POUR 500 COURS
              MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
              FINPOUR

              PENTE=(MM100-MM100(1))/(MM100+MM100(1))
              COLONNE1=PENTE*(PENTE>0)

              et

              POUR 500 COURS
              MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
              FINPOUR

              PENTE=(MM100-MM100(1))/(MM100+MM100(1))
              COLONNE1=PENTE*(PENTE<0)

              Cordialement.

              Commentaire


              • bonsoir,
                je souhaite une Stat pour identifier les valeurs dont le DI+ est inférieur à 10 pendant 3 jours consécutifs

                ensuite, si Longway me lit, j'ai eu un soucis avec son dernier envoi, s'il pouvait me le réadresser
                Merci

                Commentaire


                • Bonjour sphinx,

                  C'est très simple à résoudre en utilisant la fonction DIPLUS de GrapheAT Pro.

                  Programme :

                  //=========
                  //DIPLUS-10
                  //=========
                  //Valeurs dont le DIPLUS<10 pendant 3 jours consécutifs
                  //le 11/03/2006
                  //

                  N=250
                  POUR N COURS
                  SI DIPLUS(2)<10 ET DIPLUS(1)<10 ET DIPLUS<10
                  ALORS
                  COLONNE1=DateHisto$
                  SELECTION
                  FINSI
                  FINPOUR

                  J'ai placé le test des 3 DIPLUS dans une boucle afin de te permettre de vérifier l'impact de la condition d'infériorité à 10 de ces 3 valeurs consécutives sur l'évolution postérieure des cours. Elle s'avère souvent intéressante. La date indiquée correspond à la première occurence rencontrée de satisfaction de la condition.
                  Si tu veux contrôler la condition à la période actuelle uniquement, fais N=1 en tête de programme.

                  Propriétés :
                  <center><img src='http://images.pro-at.com/200603/b/prop_diplus.gif' alt='' /></center>

                  Pour le CAC40 et avec N=250, on trouve :

                  <font size="2">Groupe : cac40 Date : 10/03/2006
                  DIPLUS<10 pendant 3 jours consécutifs

                  24/01/2006 Casino Guichard
                  23/08/2005 Dexia
                  05/01/2006 Essilor International
                  24/10/2005 Lafarge
                  29/04/2005 Pinault Printemps Redoute
                  19/04/2005 Schneider
                  21/02/2006 Thomson</font id="size2">

                  Pour N=1 aucune valeur n'est trouvée.

                  Cordialement.

                  Commentaire


                  • hello Smallcaps, merci. Peut on rajouter une condition supplémentaire: à savoir que le DIMOINS est décroissant sur ces 3 jours (exemple: DIMOINS le 4mars = 60, DIMOINS le 5 mars = 50, DIMOINS le 6mars = 40, alors la valeur est sélectionnée).

                    pour info, j'avais fait ça, ça marchait sauf le coup des 3 JOURS jours consécutifs. Grace à toi, j'ai compris l'astuce.

                    // Statistique de recherche des valeurs dont le DI+ est inférieur à 10 pendant
                    // 3 jours de suite



                    VAR_SELECT=0
                    LIMITE=10

                    POUR 3 COURS
                    SI DIPLUS<LIMITE
                    ALORS
                    var_SELECT=1
                    FINSI
                    FINPOUR


                    SI VAR_SELECT=1 ALORS
                    COLONNE1= "SURVENTE IMPORTANTE " & DATEHISTO$
                    SELECTION
                    FINSI

                    Commentaire


                    • j'ai trouvé
                      Merci Smallcaps

                      // Statistique de recherche des valeurs dont le DI+ est inférieur à 10 pendant
                      // 3 jours de suite



                      VAR_SELECT=0
                      LIMITE=10

                      POUR 3 COURS
                      SI DIPLUS(2)<LIMITE ET DIPLUS(1)<LIMITE ET DIPLUS<LIMITE
                      ET DIMOINS(2)>DIMOINS
                      ALORS
                      var_SELECT=1
                      FINSI
                      FINPOUR


                      SI VAR_SELECT=1 ALORS
                      COLONNE1= "SURVENTE IMPORTANTE " & DATEHISTO$
                      SELECTION
                      FINSI

                      Commentaire


                      • Re sphinx,

                        Attention avec cette solution il t'indiquera toujours la date correspondante à la dernière période de ton historique puisque tu ne bloques pas la boucle POUR avec SELECTION lorsque la condition est satisfaite. La boucle va donc au bout du nombre de cours indiqués avant de passer la main au test de la variable VAR_SELECT qui la suit et, à ce moment là, tu es à la période actuelle.

                        Tu voulais aussi vérifier que les 3 DIMOINS étaient décroissants...

                        Une solution :

                        //==========
                        //DIPLUS-LIM
                        //==========
                        //
                        //Valeurs dont le DIPLUS<LIM et le DIMOINS décroissant
                        //pendant 3 périodes consécutives
                        //le 11/03/2006
                        //

                        N=50
                        LIM=10

                        POUR N COURS
                        SI DIPLUS(2)<LIM ET DIPLUS(1)<LIM ET DIPLUS<LIM
                        ET DIMOINS(2)>DIMOINS(1) ET DIMOINS(1)>DIMOINS
                        ALORS
                        COLONNE1="SURVENTE IMPORTANTE LE " & DateHisto$
                        SELECTION
                        FINSI
                        FINPOUR

                        Avec N=50, il trouve :

                        Groupe : cac40 Date : 10/03/2006
                        Valeurs dont le DIPLUS<LIM et le DIMOINS décroissant
                        pendant 3 périodes consécutives

                        SURVENTE IMPORTANTE LE 02/02/2006 Casino Guichard
                        SURVENTE IMPORTANTE LE 06/01/2006 Essilor International

                        Cordialement.

                        Commentaire


                        • merci Smallcaps, ta façon de programmer cette stat est plus claire que la mienne.
                          Amicalement
                          Sphinx
                          PS : passe un bon WE

                          Commentaire


                          • Salut Smallcaps, à défaut d'avoir déjà lu les 75 pages (je compte m'y mettre !), j'ai lu l'échange entre sphinx et toi : très instructif !

                            Comment pourrais-je faire avec mon signal MM100 croissante pour :
                            -retrouver les dates de signal dans le passé
                            -et également avoir un signal de sortie (du genre stop suiveur à 10% du maxi atteint par l'action entretemps) ?

                            Bonne journée !

                            Commentaire


                            • Bonjour jmc,

                              Pourrais-tu préciser ton cahier des charges?
                              Au sujet de ton premier pb tu souhaites dis-tu : "retrouver les dates de signal dans le passé au sujet de la MM100 croissante".
                              Dans le programme statistique précédent tu obtenais, au jour de la fin de l'historique, un classement des N (N=10 à 20) valeurs dont la pente de la MM100 est la plus grande (et/ou la plus petite).
                              Comme cette pente varie continuellement, pour retrouver des évènements passés, il faut préciser à quels évènements tu souhaites t'intéresser, par exemple : instants des changements de concavité de la moyenne, instants où sa pente est maxi (pas forcément les plus utiles à trouver vu leur grand nombre d'occurence)... ou d'autres encore...A toi de choisir.
                              Tu pourras peut-être trouver quelques idées en consultant mon post du 31/05/2005 à 11:48:22, page 56 du forum. J'y présentais une solution indicateur et statistique associée pour détecter les changements de pente d'une moyenne donnée...

                              Cordialement.

                              Commentaire


                              • Bonsoir,

                                au sujet du stop suiveur j'ai trouvé sur un post de 2005 une solution basée sur l'ATR, ça m'ira pour l'instant.

                                Sur mon premier point du message précédent, je pense que je n'ai pas été assez clair (j'ai lu la page indiquée mais cela ne correspond pas exactement je crois).

                                Ce que je voudrais, c'est sur un groupe donné (CAC, SRD etc.) sur une période donnée (2005) obtenir tous les signaux de chaque jour correspondnat aux 10 (ou 20) pentes MM100 les plus élevées :
                                2/1/2005 : CGE, LOR, SAN, EX
                                3/1/2005 : LOR, CS, SAN
                                4/1/2005 : etc

                                à moi après de les récupérer dans Excel pour en faire du backtesting ...

                                J'espère être plus clair, sinon n'hésite pas à me le dire


                                Commentaire

                                Chargement...
                                X