Annonce
Réduire
Aucune annonce.
Ads
Réduire
Formules EL cycles et repulse
Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Formules EL cycles et repulse

    Ayant fait l' emplette du bouquin de notre ami Eric ,,je dois dire que moi ,trader systématique convaincu ,,je l'ai trouvé extremement interessant;
    par contre pour les utilisateurs de TradeStation dont je fais partie ,pourrais on avoir les codes easy languge des indicateurs du bouquin c'est a dire notamment l' indicateur de cycle et le répulse?
    Ces indicateurs sont ils aussi pertinents pour le marché US?
    Pensez vous par ailleurs ,cher anaphrais, que ces indicateurs pourraient etre la base de systemes complets de trading sur indices ou actions US?

    Merci beaucoup pour les codes d indic et plusgénéralement pour tout votre apport à ce site...






  • #2

    Voici les indics en EL (programmés à partir du bouquin)

    Repulse :
    Value1 = (xaverage(3*close - 2*low - open,5) - xaverage(open + 2*high - 3*close,5))/close ;
    Plot1( Value1, "Repulse" ) ;

    Cycles :
    variables:
    oFastK( 0 ),
    oFastD( 0 ),
    oSlowK1( 0 ),
    oSlowK2( 0 ),
    oSlowK3( 0 ),
    oSlowK4( 0 ),
    oSlowD( 0 ) ;

    Value1 = Stochastic( high, low, close, 5, 3, 3, 1, oFastK, oFastD, oSlowK1, oSlowD ) ;
    Value2 = Stochastic( high, low, close, 14, 3, 3, 1, oFastK, oFastD, oSlowK2, oSlowD ) ;
    Value3 = Stochastic( high, low, close, 45, 14, 14, 1, oFastK, oFastD, oSlowK3, oSlowD ) ;
    Value4 = Stochastic( high, low, close, 75, 20, 20, 1, oFastK, oFastD, oSlowK4, oSlowD ) ;
    Value5 = (4.1*oSlowK1 + 2.5*oSlowK2 + oSlowK3 + 4*oSlowK4)/11.6;

    Plot1( Value5, "Cycle" ) ;
    Plot2( averageFC(Value5,9), "MMCycle" ) ;


    Je ne les utilise pas.

    Commentaire


    • #3
      bbclenet,

      Je ne pense pas que ces indicateurs soient faciles à utiliser en trading systémique.
      Ils ne suffiront en tout cas surement pas à monter un système gagnant.

      De plus, la majorité (hélas) des gens les utilisent comme des oscillateurs classiques ce qu'ils ne sont pas.
      A titre indicatif, l'insertion de règles utilisant le Repulse augmente la plupart du temps fortement la rentabilité des systèmes que je teste (sur MS). Mais la programmation m'a pris énormément de temps et de réflexion. Pourtant, la formule de l'indicateur est si simple...

      Commentaire


      • #4
        Merci Anaphraïs pour ce très bon livre.

        Ma petite contribution pour les utilisateurs TS8 :


        //----------------------------------------------------------------------------------------------------
        // Repulse
        //----------------------------------------------------------------------------------------------------
        vars:
        ZeroLine(0),
        Repulse(0),
        ForceHaussiere(0),
        ForceBaissiere(0);

        ForceHaussiere = XAverage( ((3*C) - (2*L)-O) / C * 100, 5);
        ForceBaissiere = XAverage( (O + (2*H)-(3*C)) / C * 100, 5);

        Repulse = ForceHaussiere-ForceBaissiere ;

        Plot1( Repulse, "Repulse" );
        Plot2( ZeroLine, "Zero Line");
        //----------------------------------------------------------------------------------------------------


        //----------------------------------------------------------------------------------------------------
        // Repulse(x)
        //----------------------------------------------------------------------------------------------------
        input:
        Length(5);
        vars:
        Repulse(0),
        ForceHaussiere(0),
        ForceBaissiere(0);

        ForceHaussiere = XAverage( ((3*C) - (2*lowest(L, Length))-O[Length]) / C * 100, 5*Length);
        ForceBaissiere = XAverage( (O[Length] + (2*highest(H, Length))-(3*C)) / C * 100, 5*Length);

        Repulse = ForceHaussiere-ForceBaissiere ;

        Plot1( Repulse, "Repulse(x)" );
        //----------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------
        // STPMT
        //----------------------------------------------------------------------------------------------------
        inputs:
        Length(9),
        OverSold( 20 ),
        OverBought( 80 ) ;

        variables:
        STPMT(0),
        MM_STPMT(0);

        STPMT = (4.1*SlowKCustomOrig(H, L, C, 5, 3) + 2.5*SlowKCustomOrig(H, L, C, 14, 3)
        + SlowKCustomOrig(h, L, C, 45, 14) + 4*SlowKCustomOrig(H, L, C, 75, 20))/11.6;
        MM_STPMT = Average(STPMT, Length);

        Plot1( STPMT, "STPMT" ) ;
        Plot2( MM_STPMT, "MM_STPMT" ) ;
        Plot3( OverBought, "OverBot" ) ;
        Plot4( OverSold, "OverSld" ) ;

        //----------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------
        // Cycle
        //----------------------------------------------------------------------------------------------------
        inputs:
        Length(9);

        vars:
        STPMT(0),
        Cycle(0);

        Value1 = SlowKCustomOrig(H, L, C, 5, 3);
        Value2 = SlowKCustomOrig(H, L, C, 14, 3);
        Value3 = SlowKCustomOrig(h, L, C, 45, 14);
        Value4 = SlowKCustomOrig(H, L, C, 75, 20);

        STPMT = ((4.1*Value1)+(2.5*Value2)+(Value3)+(4*Value4))/11.6;
        Cycle = STPMT - AverageFC( STPMT, Length );

        Cycle = STPMT - AverageFC( STPMT, Length );
        Plot1( Cycle, "Cycle" );
        //----------------------------------------------------------------------------------------------------

        Cliquez pour agrandir

        Commentaire


        • #5
          Retraité depuis peu, j'ai l'intention d'occuper, pour une bonne part, mes loisirs avec le trading, l'AT, les systèmes de trading ...
          Cela dit, je me donne encore quelques mois pour démarrer activement notamment, j'ai besoin de programmer mon déménagement vers la Touraine d'ici à la fin de l'année.

          Je suis en train de lire le livre d'Eric Lefort et bien que je ne l'ai pas encore terminé, je suis plutôt enclin à en faire dès aujourd'hui une critique très positive : clair, simple, utile et réaliste sont les mots qui me viennent à l'esprit en première impression.

          Bien sur, j'ai voulu "voir" ces indicateurs dont on parle dans ce livre et j'ai donc fait une première programmation pour Wealth-Lab du Repulse et du STPMT. J'aimerais que vous me confirmiez que je ne commets pas d'erreur notamment, pour le Repulse car ici et là, il me semble que tous ne transcrivent pas la même chose.

          Dans le livre, page 159 on lit, pour le Repulse (5) :

          [Moyenne mobie exp. 25 de (3 clôture - etc) ] / clôture *100

          moins

          [Moyenne mobie exp. 25 de (open 5 jours avant + etc) ] / clôture *100


          Ecrit comme cela, le dénominateur de l'expression (en rouge ici) semble exclu du lissage par la moyenne mobile. Certains, semblent se conformer à cela (voir le pgme EL ci-dessous), d'autres non (voir le pgme en TS8) et, alors, dans ce dernier cas, la division par "cloture" se fait avant le lissage par la moyenne.
          C'est ce que j'ai fait aussi pensant que dans le livre, il y avait sans doute une erreur de typo.


          Alors voilà ce que j'ai pour Wealth-Lab :

          programme Repulse :

          [img][url=http://www.hiboox.com/lang-fr/image.php?img=wff8fl...][img]


          Programme STPMT :

          [img][url=http://www.hiboox.com/lang-fr/image.php?img=yssevj...][img]

          Et cela donne ceci :

          [img][url=http://www.hiboox.com/lang-fr/image.php?img=d873fc...][img]

          cette image concerne SANOFI en "end of day" ; pour la date du 28/09/2007, je trouve :

          - repulse 1 = -25359
          - repulse 5 = -0.8727
          - repulse 15 = -2.3327
          - STPMT = 28.0109

          Si quelqu'un pouvait me confirmer ces valeurs et ainsi me dire que les formules que j'ai retenues sont correctes, je lui en serais reconnaissant ....

          Merci beaucoup,
          à+

          Commentaire


          • #6

            salut,

            Personne pour confirmer ou infirmer le choix que j'ai fait pour la formule du repulse ?

            à+

            Commentaire


            • #7
              Bonjour Ggo
              Très bon livre, effectivement
              Je ne connais pas WeathLab donc difficile de t'aider pour les formules.

              Par contre, voilà les valeurs pour la journée du 28 de SANOFI chez ProRealTime
              - repulse 1 = -1.6197
              - repulse 5 = -0.881
              - repulse 15 = -2.0953
              - STPMT = 28.996
              - Cycle = -9.2003

              N'hésite pas à t'ouvrir un compte end of day gratuit chez ProRealTime, tu pourras faire tes paramétrages sans attendre que quelqu'un te les donne.

              [edit]
              Il serait, intéressant que quelqu'un mette les valeurs chez un autre broker, par exemple WHS pour pouvoir étalonner.
              Car j'ignore si chez ProRealTime, c'est tout à fait correct.
              J'ai encore des valeurs différentes dans un autre logiciel.








              Commentaire


              • #8

                Merci pour cette réponse.

                Et bien, nous n'avons pas les mêmes résultats et je pense, pour ma part et après avoir regardé dans ce fil les programmes écrits en EasyLangage et en TS8 que cela tient à la place du dénominateur dans l'expression.
                Si on croît ce qui est publié dans le livre, l'expression s'écrit :

                [Moyenne mobile exp. 25 de (3 clôture - etc) ] / clôture *100
                moins
                [Moyenne mobile exp. 25 de (open 5 jours avant + etc) ] / clôture *100

                mais le fait de diviser une expression lissée par une moyenne mobile par la clôture du jour ne semble pas logique alors, j'ai personnellement fait la même chose que ce qui est réalisé dans le pgme EasyLangage, à savoir :

                Moyenne mobile exp. 25 de [(3 clôture - etc) /clôture *100]
                moins
                Moyenne mobile exp. 25 de [(open 5 jours avant + etc) / clôture *100]

                et cette fois, le dénominateur fait partie du lissage.

                Bon à suivre ...

                à+



                Commentaire


                • #9
                  Citation de : ggo
                  Personne pour confirmer ou infirmer le choix que j'ai fait pour la formule du repulse ?


                  Oui, tu fais la mm de [(3 clôture - etc) /clôture *100]
                  Anaphrais a donné la formule metastocj (je crois) quelque par sur pro-at et c'est clairement ce qu'il fait.
                  C'est au contraire très logique que la cloture entre dans le lissage, sinon, tu mélanges un truc bruité et un truc lissé.

                  Après, tu peux trouver des valeurs légèrement différente d'un logiciel à l'autre si la base des cours est différente.
                  Par exemple, si je compare les valeurs que j'obtiens avec mon logiciel et un autre ( précedemment citer ), il y a une faible différence provoquée par des petites erreurs sur la base (J'utilise celle d'abcbourse en ce qui me concerne)

                  A part cette faible erreur relative (en %), j'obtiens la même chose, si cela peut t'aider :

                  image : http://img408.imageshack.us/img408/7541/snap1nj4.p... ou format inconnu

                  Ceci dit, je pense que le plus important n'est pas la valeur exacte de l'indicateur, car si cela système change totalement pour une erreur de 1%, à mon avis il est bon à jeter.

                  Edit : oups, je m'a trompé, j'ai mis le cac, c'est pas grave, tu n'as qu'à comparer avec le cac

                  Commentaire


                  • #10
                    Voilà Sanofi également avec xTrade

                    Cliquez pour agrandir


                    Les valeurs pour le 28 septembre sont les suivantes:
                    - repulse 1 = -1.63
                    - repulse 5 = -0.85
                    - repulse 15 = -2.25
                    - STPMT = 29.32
                    - Cycle = -9.26

                    Commentaire


                    • #11
                      Tiens, pendant que j'y pense, si tu vois un problème d'affichage sur le répulse à un moment ou un autre, c'est normal, j'ai fait une anerie

                      Commentaire


                      • #12

                        Bonjour,

                        Et merci pour vos réponses ...

                        C'est au contraire très logique que la cloture entre dans le lissage, sinon, tu mélanges un truc bruité et un truc lissé


                        Je partage cet avis et dans mon calcul, la clôture fait bien partie de l'expression lissée. Malgré tout, ce n'est pas ce qui est indiqué dans l'ouvrage d'Eric Lefort ; sans doute, s'agit-il d'une erreur de typographie.
                        Cela étant dit, j'ai refait une photo "CAC 40" et j'observe, semble-t-il, un décalage avec ce que tu obtiens, XTrade, décalage un peu fort pour l'attribuer aux seules erreurs d'arrondis.
                        J'ai refait également une photo "SAN" pour la rapprocher de celle publiée par Bambi et cette fois, les valeurs sont assez proches.

                        [img][url=http://www.hiboox.com/lang-fr/image.php?img=936rcp...][img]

                        [img][url=http://www.hiboox.com/lang-fr/image.php?img=vd78s6...][img]

                        (!)

                        merci encore
                        à+
                        g

                        Commentaire


                        • #13
                          Je t'assure que même une différence de 0.1 cela peut provoquer des décalages qui semblent en apparence importants (en erreur relative, c'est en fait assez faible).

                          Je viens de comparer avec un logiciel déjà cité dont je ne dirais pas le nom et j'avais de légères différences de l'ordre de 0.01 sur la cloture de sanofi par exemple(!) qui provoquait un décalage sur le cycle.

                          Je t'envoie ce que j'obtiens (j'ai des différence sur le repulse avec mon "étalonnage", mais la forme est exactement la même)

                          Au fait, si tu veux faire apparaître tes images sur pro-at, soit tu utilises l'upload intégrer, soit tu remplaces les balises img de hiboox par image

                          Cliquez pour agrandir

                          Commentaire


                          • #14

                            Et bien merci pour toutes ces précisions,

                            à+
                            g

                            Commentaire


                            • #15
                              bonjour
                              en essayant de reduire d'un temps le lag du cycle, j'ai trouvé trés utile de completer l'indicateur de référence du Cycle d'Anaphrais, par un tracé précuseur (mais sans extrapolation)
                              La méthode je prends les trois premiers indicateur du cycle et je supprime le lissage pour les 2 premiers stockastiques appliqués au point pivot (typical price)
                              cette méthode permet également d'estimer le cycle pour les séries temporel plus courte alors que le cycle ne peux pas encore s'afficher(ex en weekly)

                              voici le resultat
                              Cliquez pour agrandir

                              le cycle court est le graphe oscillant bleu devant le vrai cycle couleur Fushia
                              Selon mon point de vue ce graphe permet de gagner 1 timing à l'inversion de tendance mais doit être associé visuellement au cycle standard

                              la formule sous prorealtime

                              REM Cycle court
                              p=TypicalPrice
                              REM cor est un coefficient multiplicateur determiné visuellement
                              cor =11.68

                              I=(4.1 * Stochastic[5,1](p) + 2.5 * Stochastic[14,1](p) + Stochastic[45,14](p) ) * Cor

                              cycleRN=(I - Average[9](I))

                              RETURN cycleRN AS "CycleSmall"

                              Merci de vos commentaires
                              Naturellement, J'espère qu'Anaphraïs tombera sur ce poste et qu'il aura la gentillesse d'apporter son point de vue

                              Commentaire

                              Chargement...
                              X