Bill Williams y sus estrategias... - página 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);
  }
El indicador muestra las líneas de los fractales formados por el enredo del caimán
 
dimontus wrote:
¿Oasis puede compartir el código de programación de Bill? :-)

Sí, por supuesto, pero todavía está en desarrollo (versión de trabajo con errores). Se supone que es una parte más en Delphi o C++ (un amigo mío quería ayudarme a escribirlo). La idea es comerciar con relojes sin parar. Aquí hay una breve descripción de la versión de trabajo. La estrategia no incluye: señales de "luz azul especial", comercio de línea de equilibrio, 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; // - не работает
Código completo en el archivo ID_1.mq4
Archivos adjuntos:
id_1.mq4  15 kb
 
Integer писал (а):

Oasis, puede que cambie de opinión

Genial =)
 
Integer писал (а):
 
El indicador muestra las líneas de los fractales formados por el enredo del caimán

Bueno, no es Bill Williams.
Tal vez sea algo que no he leído.
Pero creo que el verdadero fractal es
Método 1: un fractal mayor o menor que cualquiera de los valores del caimán
Vía 2: mayor o menor que la línea roja
 
Gracias a todos :-)
 
Oasis писал (а):

Método 2: más o menos que la línea roja

Si hay una línea, todos los fractales son mayores o menores que ella.
 
Integer wrote:

Si hay una línea, todos los fractales son mayores o menores que ella.

No =) Fractales al alza (máximos) mayores que el rojo -- > entonces si hay una ruptura al alza, la señal es válida
los fractales que bajan (mínimos) son menores que el rojo -- > si habrá una ruptura, la señal es válida

Bueno esta forma es muy rápida, para ser honesto no la he usado todavía =)

Por cierto, ahora si miras el par EURUSD en H1, el último fractal hacia abajo, si usas este método, será válido.

 
Integer:
Me hago eco de la opinión anterior.

Puedes ponerme contra la pared y dispararme, pero mi opinión es que Bill Williams es un soñador y nada más.
El pobre Billy lo intenta, se inventa libros, inventa pavos, recorre diferentes países para los tontos que son nuevos en el comercio. Y tú no lo aprecias. Bueno, por supuesto, si todo está diseñado para los tontos, mentirá un poco. Piénsalo, ¿cuándo puede dedicarse al comercio, si tiene que escribir un libro para la editorial y actuar como empresario en el extranjero y publicitar un programa? Todo es culpa del empresario. Y el propio Billy es una marca comercial andante.
 
Oasis:
...
Bueno esta forma es muy rápida, para ser honesto no la he usado todavía =)

Por cierto, ahora si miras el par EURUSD en H1, el último fractal hacia abajo, si usas este método será válido.

Pero no hay entrelazamiento de líneas, por lo que no habrá cambio de tendencia :-)
 
/*
   <> красной
*/
#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);
}