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

  • Bonsoir jmc,

    Merci pour tes explications. C'est ok, je vais regarder ce que l'on peut faire et je te tiens au courant...
    Bonne soirée.

    Commentaire


    • Bonsoir messieurs ,

      serait il possible d'avoir une regle de statistique afin de selectionner toutes les valeurs dont le cci est > a la ligne 0 en weekly ..........

      mon parametrage perso est il indispensable a la programmation de cette regle ?


      merci par avance

      Commentaire


      • Bonjour dip,

        Bien sûr c'est indispensable, comment programmer cette règle sinon?...

        Commentaire


        • Re Dip,

          La stat est dans ta bal...

          Commentaire


          • Bonjour jmc,

            Impossible d'afficher les résultats comme tu le souhaitais. En effet on ne peut pas comparer les valeurs des pentes à une date donnée sur l'ensemble des valeurs d'un groupe pour en extraire les N valeurs maxi alors qu'on fait progresser la date dans une boucle.
            Tout ce que j'ai pu obtenir est d'associer dates et pentes dans une grande chaîne de caractères (A$ dans le programme ci-dessous) en concaténant les différentes valeurs obtenues.
            Les dates (positives et négatives) sont notées sous la forme JJ/MM (16/03 pour celle d'aujourd'hui).
            Les pentes ont été multipliées par 1000 et le résultat affiché sur 3 décimales pour limiter le plus possible le nombre de caractères consommé, exemple : 1,234.
            Date et pente associées sont séparées par un espace et les associations par un "|". Ceci peut bien sûr être modifié à ta convenance.
            Il faudrait ensuite que tu récupères le texte affiché COLONNE1 de la page des résultats et que tu effectues le tri que tu souhaites dans Excel .
            Autre limitation constatée : tu ne pourras pas traiter la totalité d'une année car la fenêtre des résultats sature pour I=111 périodes examinées.

            Programme de la stat :
            //===========
            //TEST_PENTES
            //===========
            //
            //Associations périodes/pentes de la MM100
            //

            //Calcul de la MM100
            POUR 1000 COURS
            MM100(0)=EXPOSUIV(MM100,CLOTURE,100)
            FINPOUR

            //Association périodes/pentes
            I=5 //change ici le nb de périodes examinées
            TANTQUE I>=0 FAIRE
            PENTE(I)=(MM100(I)-MM100(I+1))/(MM100(I)+MM100(I+1))
            A$=A$ & STXT$(datehisto$(I),1,5) & " " & CTXT$(1000*PENTE(I),3) & "|"
            I=I-1
            FINTANTQUE

            COLONNE1=A$

            Propriétés :
            <center><img src='http://images.pro-at.com/200603/b/proprietes_stat2.gif' alt='' /></center>
            Avec I=5 voici ce que cela donne sur le CAC 40 en date d'hier :
            <font size="2">Groupe : cac40 Date : 15/03/2006
            Associations périodes/pentes de la MM100

            08/03 -0,010|09/03 0,090|10/03 0,182|13/03 0,116|14/03 -0,074|15/03 -0,123| Accor
            08/03 0,256|09/03 0,329|10/03 0,382|13/03 0,415|14/03 0,829|15/03 1,002| AGF
            08/03 0,166|09/03 0,163|10/03 0,275|13/03 0,270|14/03 0,350|15/03 0,361| Air Liquide
            08/03 0,506|09/03 0,586|10/03 0,636|13/03 0,704|14/03 0,787|15/03 0,833| Alcatel
            08/03 2,768|09/03 2,762|10/03 2,685|13/03 2,645|14/03 2,313|15/03 2,401| Arcelor
            08/03 0,726|09/03 0,729|10/03 0,809|13/03 0,800|14/03 0,779|15/03 0,788| AXA
            08/03 0,404|09/03 0,346|10/03 0,472|13/03 0,666|14/03 0,638|15/03 0,709| Bnp Paribas
            08/03 0,163|09/03 0,096|10/03 0,247|13/03 0,183|14/03 0,210|15/03 0,288| Bouygues
            08/03 1,443|09/03 1,887|10/03 1,982|13/03 2,072|14/03 1,846|15/03 1,803| Cap Gemini
            08/03 0,267|09/03 0,779|10/03 0,883|13/03 0,959|14/03 0,846|15/03 0,878| Carrefour
            08/03 -0,438|09/03 -0,366|10/03 -0,184|13/03 -0,134|14/03 -0,371|15/03 -0,346| Casino Guichard
            08/03 1,268|09/03 1,287|10/03 1,372|13/03 1,398|14/03 1,275|15/03 1,356| Credit agricole
            08/03 0,835|09/03 1,093|10/03 1,179|13/03 1,098|14/03 0,992|15/03 1,030| Danone
            08/03 0,264|09/03 0,425|10/03 0,576|13/03 0,745|14/03 0,674|15/03 0,725| Dexia
            08/03 0,074|09/03 0,156|10/03 0,310|13/03 0,364|14/03 0,197|15/03 0,333| EADS
            08/03 0,217|09/03 0,304|10/03 0,389|13/03 0,367|14/03 0,324|15/03 0,360| Essilor International
            08/03 -0,931|09/03 -0,787|10/03 -0,670|13/03 -0,618|14/03 -0,676|15/03 -0,737| France Telecom
            08/03 1,145|09/03 1,195|10/03 1,316|13/03 1,213|14/03 1,208|15/03 1,123| L'Oreal
            08/03 0,638|09/03 0,845|10/03 0,907|13/03 0,973|14/03 0,951|15/03 0,931| Lafarge
            08/03 0,345|09/03 -0,104|10/03 0,014|13/03 0,006|14/03 -0,095|15/03 0,062| Lagardere
            08/03 0,613|09/03 0,721|10/03 0,859|13/03 0,941|14/03 0,900|15/03 0,854| LVMH Moet Hennessy
            08/03 0,073|09/03 0,103|10/03 0,236|13/03 0,100|14/03 0,169|15/03 0,306| Michelin
            08/03 -0,189|09/03 -0,111|10/03 0,157|13/03 0,188|14/03 0,368|15/03 0,442| Pernod Ricard
            08/03 -0,476|09/03 -0,419|10/03 -0,331|13/03 -0,311|14/03 0,039|15/03 0,253| Peugeot
            08/03 0,272|09/03 0,134|10/03 0,248|13/03 0,195|14/03 0,414|15/03 0,607| Pinault Printemps Redoute
            08/03 0,779|09/03 0,861|10/03 0,869|13/03 0,828|14/03 0,780|15/03 0,823| Publicis Group
            08/03 0,602|09/03 0,714|10/03 0,764|13/03 0,768|14/03 0,869|15/03 0,804| Renault
            08/03 0,490|09/03 0,575|10/03 0,686|13/03 0,748|14/03 0,770|15/03 0,810| Saint Gobain
            08/03 0,019|09/03 0,080|10/03 0,146|13/03 0,382|14/03 0,327|15/03 0,265| Sanofi-Aventis
            08/03 0,831|09/03 1,115|10/03 1,065|13/03 1,111|14/03 1,049|15/03 0,920| Schneider
            08/03 0,635|09/03 0,752|10/03 1,246|13/03 1,440|14/03 1,398|15/03 1,615| Societe Generale
            08/03 -0,479|09/03 -0,444|10/03 -0,375|13/03 -0,468|14/03 -0,299|15/03 -0,179| STMicroelectronics
            08/03 2,258|09/03 2,122|10/03 2,188|13/03 2,076|14/03 2,669|15/03 2,245| Suez
            08/03 0,343|09/03 0,605|10/03 0,685|13/03 0,687|14/03 0,656|15/03 0,740| TF1
            08/03 0,059|09/03 -0,018|10/03 -0,002|13/03 -0,044|14/03 -0,134|15/03 -0,300| Thales
            08/03 -1,101|09/03 -1,088|10/03 -1,027|13/03 -0,924|14/03 -0,962|15/03 -0,969| Thomson
            08/03 -0,284|09/03 -0,274|10/03 -0,181|13/03 -0,095|14/03 -0,061|15/03 0,014| Total
            08/03 1,141|09/03 1,340|10/03 1,507|13/03 1,276|14/03 1,317|15/03 1,278| Veolia Environnement
            08/03 0,094|09/03 0,323|10/03 0,269|13/03 0,617|14/03 0,760|15/03 0,676| Vinci
            08/03 0,159|09/03 0,435|10/03 0,778|13/03 0,780|14/03 0,650|15/03 0,518| Vivendi universal</font id="size2">

            Cordialement.

            Commentaire


            • Waoooo !beau travail !!! <img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile.gif' border='0' alt='' title='' align='middle' /><img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' />
              Excellente l'idée de mettre les résultats dans une chaîne... je fourbis dèjà mes droite(), gauche() et autres STXT() ....

              (juste pour le fun, pourquoi pas se mettre à l'inversion de matrice avec cette astuce ! <img src='http://www.pro-at.com/style/images/icones/icon_smile_clown.gif' border='0' alt='' title='' align='middle' /> )

              Juste un petit point de débutant, je voudrais éviter la boucle de calcul de la MM100 dont je me sers de toute façon comme indicateur :
              -je sais qu'on peut appeler la variable COURBE1 de la règle MA_REGLE, mais je ne maîtrise pas bien la syntaxe ; ce serait :
              //Calcul de la MM100
              // ce module ne sert plus ?

              //Association périodes/pentes
              I=5 //change ici le nb de périodes examinées
              TANTQUE I>=0 FAIRE
              PENTE(I)=(MA_REGLE.COURBE1(I)-MA_REGLE.COURBE1(I+1))/(MA_REGLE.COURBE1(I)+MA_REGLE.COURBE1(I+1))
              A$=A$ & STXT$(datehisto$(I),1,5) & " " & CTXT$(1000*PENTE(I),3) & "|"
              I=I-1
              FINTANTQUE

              essayé mais sans succès pour l'instant
              -quand je fais cela, y-a-t-il un moyen d'alléger le calcul de la MM100 dans l'indicateur, en utilisant la valeur de la veille sans faire une boucle sur les 500 dernies cours pour chaque cours de chaque action ?
              (j'ai bien noté que ta façon de calculer la MM100 dans la stat évite ce problème, mais comment l'éviter quand on fait appel à l'indicateur calculé dans une règle à part)

              -en d'autre part, y-a-t-il besoin que je configure un graphe avec la MM100 sur chaque action pour que cette valeur soit disponible ?

              j'espère que mes questions sont claires ....

              Commentaire


              • Bonjour jmc,

                Oui bien sûr, GrapheAT Pro permet de récupérer dans une stat les valeurs de tout indicateur que tu aurais préalablement programmé. J'opère souvent de cette façon d'ailleurs.
                Voici comment faire.

                1- Tu crées un indicateur "PENTE_MM100" par exemple :
                Programme :
                //===========
                //PENTE_MM100
                //===========
                //
                //Pente de la MM100
                //

                M(0)=EXPOSUIV(M,CLOTURE,100)
                PENTE=100*(M-M(1))/(M+M(1))

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

                Tu peux bien sûr tracer cet indicateur sous les cours, mais ce n'est pas une obligation.

                2- Ensuite tu crées la stat. "TEST_PENTES" qui va récupérer les valeurs de la variable PENTE calculée dans l'indicateur précédent pour travailler.
                Programme :
                //===========
                //TEST_PENTES
                //===========
                //
                //Associations périodes/pentes de la MM100
                //


                I=5
                TANTQUE I>=0 FAIRE
                A$=A$ & STXT$(datehisto$(I),1,5) & " " &
                CTXT$(1000*PENTE_MM100.PENTE(I),3) & "|"
                I=I-1
                FINTANTQUE

                COLONNE1=A$

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

                Le programme ci dessus récupère les valeurs de la variable PENTE en utilisant la syntaxe : <b>NOM DE L'INDICATEUR.NOM DE LA VARIABLE </b>soit ici :<b>PENTE_MM100.PENTE</b>.
                Ainsi on a allégé l'écriture de la stat, mais en contrepartie on a créé une règle indicateur. Cela peut être intéressant si l'on souhaite visualiser le graphe de l'indicateur évidemment.

                La réponse à ta dernière question a déjà été abordée en fin de paragraphe 1 ci-dessus : il n'est pas nécessaire de lancer la règle indicateur dans la fenêtre principale de GrapheAT Pro (où l'on visualise les graphes) pour que la stat s'exécute.

                As-tu réussi à récupérer le contenu de la fenêtre de résultats de la stat. dans Excel?
                Bon courage.

                Commentaire


                • oui j'ai récupéré l'info sur excel et je m'en sors avec une série de fonctions texte ... un grand merci à toi

                  Commentaire


                  • Bonjour à tous,

                    Je vous lis de longue date, et j ‘essaye d’utiliser vos travaux. Mais je m’oriente plus vers la méthode d’analyse développée par WEINSTEIN.

                    Dans celle-ci, pour l’étude de la sortie de la phase 1, l’un des critère est le franchissement de la MM150 (30 semaines).

                    Actuellement dans les statistiques à notre disposition dans GRAPHE AT, nous avons la liste des valeurs dont le cours coupe la MM150.

                    Or j’aimerai suivre les valeurs avant leur franchissement de cette moyenne pour cela, si cela était possible, c’est d’obtenir la liste des établissements dont le cours est proche d’une moyenne plus réactive que la MM150.

                    Mon cahier des charges est le suivant :

                    - Définir une moyenne pondérée plus réactive que la MM150 qui pourrait s’appellerait MMPj, où P est paramétrable et dont la valeur pourrait être 120 ou 100.

                    - Obtenir la liste des valeurs dont le cours est compris dans un intervalle de –X% et +Y% de la MMPj pendant N jours consécutifs. X, Y, N sont des variables paramétrables. Y pouvant prendre la valeur 0 pour permettre de récupérer les valeurs n’ayant pas franchi la MM150. N aurait comme valeur 20j ou 15j.

                    - Tracer cette moyenne MMPj sur le graphe.

                    Je vous remercie pour votre aide

                    Commentaire


                    • Bonsoir sla,

                      Compte-tenu des contraintes de ton cahier des charges, on pourrait créer un indicateur qui affiche la moyenne pondérée (*) souhaitée sur les cours, ainsi qu'un canal formé par deux courbes situées respectivement à -X% et +Y% de cette moyenne.
                      Ensuite, une statistique va scanner un groupe en cherchant quelles sont les valeurs dont les clôtures restent à l'intérieur de ce canal pendant les N périodes imposées.

                      <b>Programme de l'indicateur :</b>
                      //=======
                      //MMP_SLA
                      //=======

                      //Trace la moyenne pondérée sur P1 périodes du cours de cloture
                      //Trace un canal à +P2% et -P3% de part et d'autre de la moyenne
                      //Repère le cours situé à P4 périodes de la FinHisto
                      //le 30/03/2006


                      MMP=PONDERE(CLOTURE,P1)

                      MMP_HAUTE = MMP+P2%*MMP
                      MMP_BASSE = MMP-P3%*MMP

                      REP_P4(P4) = -1*(RANGHISTO=FINHISTO)

                      J'ai ajouté la courbe REP_P4 qui visualise les N dernières périodes sur les cours à l'aide d'une flèche haute.
                      <b>Propriétés de l'indicateur :</b>
                      <center><img src='http://images.pro-at.com/200603/b/prop_indic.gif' alt='' /></center>
                      P1 est le recul de calcul de la moyenne.
                      P2% joue le rôle de Y%, P3% celui de X%.
                      P4 joue celui de N.

                      <b>Programme de la statistique :</b>
                      //============
                      //STAT_MMP_SLA
                      //============

                      //Détection des valeurs dont les cours de clôture sont compris,
                      //pendant P4 périodes, dans une bande de +P2% et -P3%
                      //d'une moyenne pondérée calculée sur P1 périodes .
                      //Utilise les résultats de la règle indicateur MMP_SLA.

                      //Donner à N la valeur de P4
                      //
                      N=15

                      //Scan
                      //
                      POUR N COURS
                      SI CLOTURE<MMP_SLA.MMP_HAUTE ET CLOTURE>MMP_SLA.MMP_BASSE
                      ALORS
                      I=I+1
                      FINSI

                      SI I=N
                      ALORS
                      SELECTION
                      FINSI
                      FINPOUR
                      <b>Propriétés de la statistique :</b>
                      <center><img src='http://images.pro-at.com/200603/b/prop_stat.gif' alt='' /></center>

                      Deux exemples.
                      Avec les paramètres P1=100, P2%=4%, P3=2% et N=15 pour le CAC40 hier soir, une seule valeur est trouvée :
                      <center><img src='http://images.pro-at.com/200603/b/total2_4.gif' alt='' /></center>
                      Sur le SRD maintenant, avec P1=100, P2%=4%, P3%=0 et N=15, la seule valeur qui sort du scan est Dassault Systèmes :
                      <center><img src='http://images.pro-at.com/200603/b/dassault_2_4.gif' alt='' /></center>

                      (*) Tu as raison d'utiliser une moyenne pondérée si tu veux une moyenne plus nerveuse que la moyenne arithmétique.
                      La moyenne pondérée est également celle qui a le lag le plus faible si on le compare à celui des moyennes arithmétiques et exponentielles.
                      Lag d'une moyenne arithmétique ou d'une moyenne exponentielle = (P1-1)/2
                      Lag d'une moyenne pondérée = (P1-1)/3.

                      Pour revenir à la méthode de Weinstein que tu souhaites utiliser, il serait intéressant (peut-être...) de distinguer en plus dans quelle phase se situe la valeur. Ce serait facile à réaliser en introduisant la notion de concavité de la moyenne...

                      Cordialement.

                      Commentaire


                      • bonsoir smallcaps90,

                        Je te remercie pour la rapidité de ta réponse, je viens de commencer à l'utiliser.

                        J'ai une remarque concernant l'utilisation de la MMP, j'ai l'impression que la MMP est différente entre une visualisation du graphe en jour ou en semaine.

                        Est-ce normal ou non ?

                        Je serais interessé par la possibilité de définir la phase dans laquelle on se trouve.

                        merci pour ton aide précieuse.

                        cordialement

                        Commentaire


                        • Bonjour sla,

                          Tu as raison : une moyenne à 30 semaines doit être évidemment paramètrée à P1=30 périodes sur un graphe hebdomadaire et à P1=150 (=30*5) périodes sur un graphe quotidien.
                          C'est à dire que si tu fais apparaître un dyptique comportant un graphe semaine et un graphe jour avec P1=150, Graphe AT Pro conservant la même valeur du paramètre pour les deux graphes, la moyenne du graphe semaine ne correspond pas à ce que tu souhaites.
                          Pour ce qui concerne la définition des phases, c'est moins évident que je ne l'ai laissé supposer...on va voir ce qu'il est possible de faire.
                          Cordialement.

                          Commentaire


                          • Bonsoir smallcaps

                            J'utilise quotidiennement ta requête en faisant varier de temps en temps la moyenne et cela me donne satisfaction.

                            Pour la courbure, cela aurait été bien pour éliminer un certain nombre de graphe, mais si c'est difficile laisse tomber.

                            Commentaire


                            • Bjr à tous.

                              Quelles sont les solutions possibles pour la mise à jour de la base de donnée ? Est ce fiable ? est ce compliqué ? Peut on avoir la totalité du marché action français ?


                              Est il possible d'ecrire un script qui detecte les franchissement de nos propres supports resistances ?

                              Merci pour vos reponses et bons trades.

                              Commentaire


                              • Bonjour à tous,
                                Vu le dynamisme de cette file je suis intéressée par GraphAT mais je voudrais savoir si l'on peut travailler avec les indices, les marchés de taux européens et US et les devises. Est-ce que quelqu'un l'utilise pour réaliser des backtests?
                                Merci de vos réponses

                                Commentaire

                                Chargement...
                                X