Bill Williams et ses stratégies... - page 2

 
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Aqua
extern int Jaw_Period=13,Jaw_Shift=8,Teeth_Period=8,Teeth_Shift=5,Lips_Period=5,Lips_Shift=3;
double Buf1[];
double Buf2[];
int init(){
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,159);
   SetIndexBuffer(0,Buf1);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,159);
   SetIndexBuffer(1,Buf2);
   return(0);
}
int deinit(){
   return(0);
}
int start(){
   int i,limit;
    int counted_bars=IndicatorCounted(); 
    limit=Bars-counted_bars;
      for(i=limit-1;i>=0;i--){
          if(Buf1[i+1]!=0)Buf1[i]=Buf1[i+1];
          if(Buf2[i+1]!=0)Buf2[i]=Buf2[i+1];
 
         double s=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORJAW,i);
         double m=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORTEETH,i);         
         double f=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORLIPS,i);
         
         if((f>m && m>s) || (f<m && m<s)){
         
         }
         else{
            double uf=iFractals(NULL,0,MODE_UPPER,i);
            double lf=iFractals(NULL,0,MODE_LOWER,i);
            if(uf!=0)Buf1[i]=High[i];
            if(lf!=0)Buf2[i]=Low[i];
         }
      }
   return(0);
  }
L'indicateur montre les lignes des fractales formées par l'enchevêtrement des alligators.
 
dimontus wrote:
Oasis pouvez-vous partager le code de programmation de Bill ? :-)

Oui, bien sûr, mais c'est toujours en cours de développement (version de travail avec des erreurs). C'est censé être une partie supplémentaire en Delphi ou C++ (un de mes amis voulait m'aider à l'écrire). L'idée est de faire du commerce sur des montres non-stop. Voici une courte description de la version de travail. La stratégie ne comprend pas : les signaux "lumière bleue spéciale", le trading de ligne d'équilibre, SAO.

extern double          Lots = 1;
extern double       MaxLots = 10;
extern double       UnitLot = 1000;
extern bool        Reinvest = false;
extern int         StopLoss = 0;
extern int       TakeProfit = 0;
extern int      TotalOrders = 1;
// --- --- --- 
extern bool         ACCross = false; // - не проверено           
extern bool             AC2 = false; // - не проверено
extern bool             AC3 = false; // - проверено
extern bool         AOCross = false; // - проверено
extern bool        AOSaucer = false; // - проверено
extern bool         AO2Peak = false; // - ошибка
extern bool  FractalsSignal = false; // - проверено 
extern bool       CloseZone = false; // - не проверено (небольшая ошибка)
extern bool    CloseFractal = false; // - проверено (!!! поддержка одного ордера )
extern bool  CloseAlligator = false; // - проверено
extern bool     TradingZone = false; // - не работает
Code complet dans le fichier ID_1.mq4
Dossiers :
id_1.mq4  15 kb
 
Integer писал (а):

Oasis, je pourrais bien changer d'avis

Super =)
 
Integer писал (а):
 
L'indicateur montre les lignes des fractales formées par l'enchevêtrement des alligators.

Eh bien, ce n'est pas Bill Williams.
Peut-être que c'est quelque chose que je n'ai pas lu.
Mais je pense que la vraie fractale est
Méthode 1 : une fractale supérieure ou inférieure à l'une des valeurs de l'alligator.
Voie 2 : supérieure ou inférieure à la ligne rouge
 
Merci à tous :-)
 
Oasis писал (а):

Méthode 2 : plus ou moins que la ligne rouge

S'il y a une ligne, toutes les fractales sont soit plus grandes, soit plus petites qu'elle.
 
Integer wrote:

S'il y a une ligne, toutes les fractales sont soit plus grandes, soit plus petites qu'elle.

Non =) Fractales ascendantes (sommets) supérieures au rouge -- > alors, s'il y a une rupture à la hausse, le signal est valide.
les fractales descendantes (creux) sont inférieures au rouge -- > s'il y aura un break-down, le signal est valide

Cette méthode est très rapide, mais pour être honnête, je ne l'ai pas encore utilisée.)

D'ailleurs, maintenant si vous regardez la paire EURUSD sur H1, la dernière fractale vers le bas, si vous utilisez cette méthode, sera valide.

 
Integer:
Je vais me faire l'écho de l'opinion précédente.

Vous pouvez me mettre au pied du mur et me tirer dessus, mais mon opinion est que Bill Williams est un rêveur et rien de plus.
Le pauvre Billy essaie, il invente des livres, il invente des dindes, il fait le tour de différents pays pour des pigeons qui ne connaissent pas le commerce. Et vous ne l'appréciez pas. Bien sûr, si tout est conçu pour des idiots, il mentira un peu. Pensez-y, quand il peut faire du commerce, s'il doit écrire un livre pour l'éditeur et agir comme un entrepreneur à l'étranger et faire la publicité d'un programme ? C'est la faute de l'impresario. Et Billy lui-même est une marque de commerce ambulante.
 
Oasis:
...
Cette méthode est très rapide, mais pour être honnête, je ne l'ai pas encore utilisée.)

A propos, maintenant si vous regardez la paire EURUSD sur H1, la dernière fractale vers le bas, si vous utilisez cette méthode sera valide.

Mais il n'y a pas d'entrelacement des lignes, donc il n'y aura pas de changement de tendance :-)
 
/*
   <> красной
*/
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Aqua
extern int Jaw_Period=13,Jaw_Shift=8,Teeth_Period=8,Teeth_Shift=5,Lips_Period=5,Lips_Shift=3;
double Buf1[];
double Buf2[];
int init(){
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,158);
   SetIndexBuffer(0,Buf1);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,158);
   SetIndexBuffer(1,Buf2);
   return(0);
}
int start(){
   int i,limit;
    int counted_bars=IndicatorCounted(); 
    limit=Bars-counted_bars;
      for(i=limit-1;i>=0;i--){
      if(Buf1[i+1]!=0)Buf1[i]=Buf1[i+1];
      if(Buf2[i+1]!=0)Buf2[i]=Buf2[i+1];
         double s=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORJAW,i);
         double m=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORTEETH,i);         
         double f=iAlligator(NULL,0,Jaw_Period,Jaw_Shift,Teeth_Period,Teeth_Shift,Lips_Period,Lips_Shift,2,4,MODE_GATORLIPS,i);
            double uf=iFractals(NULL,0,MODE_UPPER,i);
            double lf=iFractals(NULL,0,MODE_LOWER,i);
            if(uf!=0 && uf>m)Buf1[i]=High[i];
            if(lf!=0 && lf<m)Buf2[i]=Low[i];
      }
   return(0);
}