Annonce
Réduire
Aucune annonce.
Ads
Réduire
Aide codage
Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Aide codage

    Bonjour ,
    Je sollicite une âme généreuse qui posséderait le code pour Multichart du MACD ZL de Johnlee ,et serait disposé à le communiquer .
    Par avance un grand merci ,
    bien cordialement .

  • #2
    bjr

    j espere que qqu un va pouvoir t aider......perso je ne connais pas le ZL.....tu ne peux ps le coder seul ???? vois aussi avec @thierrytrade....

    bon courage
    IMF

    Commentaire


    • #3
      Voilà qui devrait correspondre à ce que tu cherches

      Envoyé par Maggoo Voir le message
      Bonjour,

      pour la petite histoire , la MACD ZeroLag s'écrit en EasyLanguage (TradeStation & MultiCharts :

      // début du code
      inputs: MMEcourte(9), MMElongue(19), Signal(6);

      value1 = XAverage(Close,MMEcourte) + XAverage(Close,MMEcourte)-XAverage(XAverage(Close,MMEcourte),MMEcourte);
      value2 = XAverage(Close,MMElongue) + XAverage(Close,MMElongue)-XAverage(XAverage(Close,MMElongue),MMElongue);
      value3 = value1-value2;
      value4= XAverage(value3,Signal)+XAverage(value3,Signal)-XAverage(xaverage(value3,Signal),Signal);

      Plot1( 0,"Ligne0" ,darkgray) ;
      Plot2(value3,"ZeroLag",Yellow,default,1);
      Plot3(value4,"ZeroLagAvg",darkbrown);
      //fin du code

      ça me paraît plus clair , désolé pour le HS

      Commentaire


      • #4
        Un trés grand merci à Bambi (et magoo bien sûr ) pour ce code .
        C'est vraiment trés sympa de partager .
        Chipeur , j'avais bien sur essayé de programmer tout seul (à partir du code PRT) .Bien que trés peu disposé à la programmation (que j'apprends peu à peu ), en fait j'étais tout prêt du résultat ,à une toute petite erreur prés.......!
        Merci encore à tous .

        Commentaire


        • #5
          De rien pater
          Je te laisse le vérifier car je n'utilise pas Multicharts

          Commentaire


          • #6
            Bonjour

            Retrouvé dans les limbes d'UB ce code que je possède aussi , et édité ci dessus MACD ZéroLag.
            Par contre je souhaiterai le borner entre 0/100.
            Pas très au top dans la prog non plus j'ai essayée de le reprendre .
            Surement des erreurs ,un petit coup de pouce ne serait pas de refus .
            Mes modifs:
            1/ WAverage afin d'avoir plus de lissage q'une XAverage
            2/Bornage de la variable 4 avec un RSI pour obtenir la variable 5
            3/ Pas réussie a borner la variable 3 par conséquent j'ai collée une MM à la variable 4 devenue (5)

            Code:
             ///debut du code
            inputs:
             
             MMEcourte(9),
             MMElongue(19),
             Signal(6),
             Length(6);
              
              Variables:
              
              var1(0),
              var2(0),
              var3(0),
              var4 (0),
              var5(0),
              var6(0);
              
            
            var1 = WAverage(Close,MMEcourte) + WAverage(Close,MMEcourte)-WAverage(WAverage(Close,MMEcourte),MMEcourte);
            var2 = WAverage(Close,MMElongue) + WAverage(Close,MMElongue)-WAverage(WAverage(Close,MMElongue),MMElongue);
            var3 = (var1-var2);
            var4= WAverage(var3,Signal)+WAverage(var3,Signal)-WAverage(Waverage(var3,Signal),Signal);
            var5= RSI(var3,Signal)+WAverage(var3,Signal)-WAverage(Waverage(var3,Signal),Signal);
            var6= WAverage(var5,length);
            
            
            Plot1 (var5,"MACDZeroLag");
            Plot2 (var6,"MMMACD");
            Plot3(20, "Ligne 20");
            Plot4(80, "ligne 80");
            
                   
            
            
            //fin du code
            Accepte ce qui est, laisse aller ce qui était et aie confiance en ce qui sera. (Bouddha)

            Commentaire


            • #7
              Coucou Claire,

              Euh pkoi tu voudrais borner ce pauv' MACd, je trouve que sa force (et lourdeur...), c'est justement son ampleur et les divergences que l'on a dessus, que tu n'auras plus, en partie, après bornage ?

              Biz

              Zilliq
              Coding is not a crime

              My Bouzin :
              ZTO et ZeTrend = Indicateur de Tendance
              ZDO = Indicateur de divergence
              ZRO = Zones de retracement
              ZBAND= StopLoss
              Etc...

              Commentaire


              • #8
                Salut Zilliq

                Déjà est ce que mon code est correct ??Ou c'est encore un truc à la mord moi le nœud ..
                Un graph à la volée ,les div sont présentes ,et ce n'est pas le plus important à mes yeux ...
                Après pourquoi le borner ,ça relève du T O C ,j'aime bien les choses cadrées bien établies et bien rangées.
                Les pivots ,les MM,le carré de Neuf de Fred ....enfin un territoire bien délimité surtout ..
                C'est grave docteur ?? Secret médical oblige



                Accepte ce qui est, laisse aller ce qui était et aie confiance en ce qui sera. (Bouddha)

                Commentaire


                • #9
                  salut Claire

                  je sais pas si c'est exactement ce que tu veux faire, mais si tu veux borner ton macd en y appliquant un rsi dessus, regarde ça :

                  Code:
                  // debut du code
                  
                  inputs:
                  
                  	MMEcourte(9),
                  	MMElongue(19),
                  	Signal(6),
                  	mmzerolag(10),
                  	mmzerolagmm(10);
                  
                  variables:
                  
                  	var1(0),
                   	var2(0),
                   	var3(0),
                   	var4(0);
                   	
                  //compute macdzerolag :
                  
                  value1 = XAverage(Close,MMEcourte) + XAverage(Close,MMEcourte)-XAverage(XAverage(Close,MMEcourte),MMEcourte);
                  value2 = XAverage(Close,MMElongue) + XAverage(Close,MMElongue)-XAverage(XAverage(Close,MMElongue),MMElongue);
                  
                  var1 = value1-value2;
                  var2 = XAverage(var1,Signal)+XAverage(var1,Signal)-XAverage(xaverage(var1,Signal),Signal);
                  
                  
                  //compute rsi de macdzerolag 
                  
                  var3 = RSI(var1,mmzerolag);
                  var4 = RSI(var2,mmzerolagmm);
                  
                  
                  Plot1( 20,"Ligne0" ,darkgray) ;
                  Plot2( 80,"Ligne0" ,darkgray) ;
                  Plot3(var3,"ZeroLag",Yellow,default,1);
                  Plot4(var4,"ZeroLagAvg",red);
                  
                  //fin du code
                  Cliquez sur l'image pour la voir en taille réelle 

Nom : 		borne.png 
Affichages :	1 
Taille :		24,9 Ko 
ID : 			1576789


                  mais regarde bien ce que ça donne, car les croisements ne st pas les mêmes. C'est ça que tu veux? ou tu veux conserver tes croisements du macdzerolag?

                  Commentaire


                  • #10
                    Merci Ruliann

                    C'est pas histoire d'y appliquer un RSI dessus mais c'est le seul outil que je pratique pour borner .
                    Après il y avait déjà des formules données mais ça ne me parle pas trop ..



                    Les indicateurs.
                    Accepte ce qui est, laisse aller ce qui était et aie confiance en ce qui sera. (Bouddha)

                    Commentaire


                    • #11
                      Bonjour Claire ,
                      ça c'est qqchose que j'avais trouvé je ne sais plus où ...... peut-être etait-ce Chipeur qui l'avais posté .

                      BORNER le MACD dans Tradestation.

                      Pour ça nous allons avoir besoin d'aller dans POWEREDITOR.

                      Les choses vont se passer en 2 étapes.1 étape: création de "xavg" dont le "MACD borné" va avoir besoin.
                      Powereditor>new>FUNCTION>name: xavg
                      écrire ensuite (ou copier à partir de ce message):
                      inputs : Price(NumericSeries),Length(NumericSimple);
                      vars : Factor(0),xavg0(0);

                      if Length + 1 <> 0
                      then begin
                      if CurrentBar <= 1
                      then begin
                      XAvg0 = Price;
                      end
                      else
                      Factor = 2 / (Length + 1);
                      XAvg0= Factor * Price + (1 - Factor) * XAvg0;
                      end;

                      xavg=xavg0


                      2 étape: créer le MACD borné
                      le MACD va prendre un autre nom (pour q tradestation puisse reconnaître le "macd borné" de celui qui ne l'est pas). on va lui donner le nom de Macddn.

                      Powereditor>new>FUNCTION>name: Macddn

                      Inputsrice(numericseries),FastMA(numericsimple),SlowMA(numericsimple),MacdMA
                      (numericsimple);

                      Value1 = xavg(price,FastMA);
                      Value2=xavg(price,SlowMA);
                      if value2<>0 then value3=value1/value2;

                      Value4 = XAvg(value3,MacdMA);
                      if value4 <>0 then MacddN= Value3 / Value4 -1;

                      Dernière remarque (excessivement importante): n'allez pas créer ces deux
                      éléments dans INDICATOR. c'est dans FUNCTION qu'il faut le faire.

                      Commentaire


                      • #12
                        Bonsoir Pater

                        Et merci,c'est effectivement avec Chipeur que nous avons vu ça .J'avais mis le lien (Saphir) dans le précédent post .
                        N'oublions pas que ce sont deux Functions ,et je ne sais qu'en faire ......
                        J'ai bien essayée de l'intégrer sur un MACD de base ,sans résultat ,incompilable .
                        Je cale

                        inputs:
                        FastMA( 12 ),
                        SlowMA( 26 ),
                        MacdMA( 9 ) ;

                        variables:
                        var0( 0 ),
                        var1( 0 ),
                        var2( 0 ) ;

                        var0 = Macddn( Close, FastMA, SlowMA ) ;
                        var1 = XAverage( var0, MacdMA ) ;
                        var2 = var0 - var1 ;

                        Plot1( var0, "MACD" ) ;
                        Plot2( var1, "MACDAvg" ) ;
                        Plot3( var2, "MACDDiff" ) ;
                        Plot4( 0, "ZeroLine" ) ;

                        condition1 = var2 crosses over 0 ;
                        if condition1 then
                        Alert( "Bullish alert" )
                        else
                        begin
                        condition1 = var2 crosses under 0 ;
                        if condition1 then
                        Alert( "Bearish alert" ) ;
                        end;
                        Accepte ce qui est, laisse aller ce qui était et aie confiance en ce qui sera. (Bouddha)

                        Commentaire


                        • #13
                          Bonsoir Claire ,
                          regarde , j'ai essayé de faire ça (avec mes moyens ! )
                          (sur le graphe , Macd avec ses BB 20 et 130 lissage Wilder ,ET1.8 , et en-dessous Macd borné )
                          si ça peut t'aider ,tant mieux

                          inputs:
                          FastLength( 12 ),
                          SlowLength( 26 ),
                          MACDLength( 9 ) ,
                          MMLength(5),
                          UpColor(cyan),
                          DwnColor(yellow) ;

                          variables:
                          var0( 0 ),
                          var1( 0 ),
                          var2( 0 ) ,
                          var3(0),
                          var4(0),
                          var5(0);

                          var0 = XAverage (TPrice, FastLength);
                          var1 = XAverage (TPrice ,SlowLength);
                          var2 = var0/var1 ;
                          var3 = XAverage (var2 , Macdlength) ;
                          var4 = ((var2 / var3)-1)*100000 ;
                          var5 = WAverage (var4 , MMLength);




                          Plot1( var5, "MACD" ) ;
                          Plot2(-80,"SV" );
                          Plot3 (80 , "SA");

                          If var5>var5[1] then begin
                          plot1[1](var5[1],"MACD",upcolor);
                          plot1(var5,"MACD",upcolor);
                          end else begin
                          plot1[1](var5[1],"MACD",dwncolor);
                          plot1(var5,"MACD",dwncolor);
                          end;
                          Cliquez sur l'image pour la voir en taille réelle 

Nom : 		dax.png 
Affichages :	1 
Taille :		30,8 Ko 
ID : 			1576863

                          Commentaire


                          • #14
                            Merci Pater

                            A quelque pouillème près ,on arrive au même résultat dans les croisements.
                            Sauf que j'ai la fâcheuse tendance à Chipeuriser mes indics

                            Accepte ce qui est, laisse aller ce qui était et aie confiance en ce qui sera. (Bouddha)

                            Commentaire


                            • #15
                              Envoyé par La Verole Voir le message
                              Merci Pater

                              A quelque pouillème près ,on arrive au même résultat dans les croisements.
                              Sauf que j'ai la fâcheuse tendance à Chipeuriser mes indics
                              Normal, la chipeurisation et le vaccin contre la rage sont issus du même chercheur ... qui était lyonnais.

                              Commentaire

                              Chargement...
                              X