NO ENCUENTRO LA FORMA DE ENCONTRAR FRACTAL MAS BAJO Y SEGUNDO FRACTAL MAS BAJO....

 

Buenos dias. Estoy realizando un EXPERT ADVISOR en MQL4, y una de sus partes consta en buscar los cinco primeros fractales de abajo y los cinco primeros fractales de arriba.

Bien, una vez encontrados, necesito extraer el fractal más bajo de los cinco de abajo (por ejemplo hablando de los de abajo), y hasta aquí no hay problema. Lo que no consigo hacer es extraer EL SEGUNDO FRACTAL MÁS BAJO de los cinco de abajo, ya que la idea es crear una linea que una el fractal mas bajo con el segundo fractal más bajo dentro de los cinco primeros (a forma de linea de tendencia)...

¿Alguien podría ayudarme?... dejo el trozo del programa referido para una mejor comprension.

Un saludo.

int n, LowerFractal_1, LowerFractal_2, LowerFractal_3, LowerFractal_4, LowerFractal_5;  
  
  //Buscando Primer Fractal Abajo
   for(n=0; n<(Bars-1);n++)
     {
      if(iFractals(NULL,PERIOD_M5,MODE_LOWER,n)!=NULL)
         break;
      LowerFractal_1=n+1;
     }
     
  //Buscando Segundo Fractal Abajo
   for(n=LowerFractal_1+1; n<(Bars-1);n++)
     {
      if(iFractals(NULL,PERIOD_M5,MODE_LOWER,n)!=NULL)
         break;
      LowerFractal_2=n+1;
     }
     
  //Buscando Tercer Fractal Abajo
   for(n=LowerFractal_2+1; n<(Bars-1);n++)
     {
      if(iFractals(NULL,PERIOD_M5,MODE_LOWER,n)!=NULL)
         break;
      LowerFractal_3=n+1;
     }
     
  //Buscando Cuarto Fractal Abajo
   for(n=LowerFractal_3+1; n<(Bars-1);n++)
     {
      if(iFractals(NULL,PERIOD_M5,MODE_LOWER,n)!=NULL)
         break;
      LowerFractal_4=n+1;
     }
     
   //Buscando Quinto Fractal Abajo
   for(n=LowerFractal_4+1; n<(Bars-1);n++)
     {
      if(iFractals(NULL,PERIOD_M5,MODE_LOWER,n)!=NULL)
         break;
      LowerFractal_5=n+1;
     }
  
datetime TimeLowerFractal_1=Time[LowerFractal_1];
datetime TimeLowerFractal_2=Time[LowerFractal_2];
datetime TimeLowerFractal_3=Time[LowerFractal_3];
datetime TimeLowerFractal_4=Time[LowerFractal_4];
datetime TimeLowerFractal_5=Time[LowerFractal_5];


double   PriceLowerFractal_1=Low[LowerFractal_1];
double   PriceLowerFractal_2=Low[LowerFractal_2];
double   PriceLowerFractal_3=Low[LowerFractal_3];
double   PriceLowerFractal_4=Low[LowerFractal_4];
double   PriceLowerFractal_5=Low[LowerFractal_5];

 //Con lo siguiente encontramos el fractal más bajo de los cinco...
 for (int r=LowerFractal_1-1; r<LowerFractal_5+1; r++)
   {
   FractalMasBajo=iFractals(NULL,PERIOD_M5,MODE_LOWER,r);
   
   }

 
carlosojbe:

Buenos dias. Estoy realizando un EXPERT ADVISOR en MQL4, y una de sus partes consta en buscar los cinco primeros fractales de abajo y los cinco primeros fractales de arriba.

Bien, una vez encontrados, necesito extraer el fractal más bajo de los cinco de abajo (por ejemplo hablando de los de abajo), y hasta aquí no hay problema. Lo que no consigo hacer es extraer EL SEGUNDO FRACTAL MÁS BAJO de los cinco de abajo, ya que la idea es crear una linea que una el fractal mas bajo con el segundo fractal más bajo dentro de los cinco primeros (a forma de linea de tendencia)...

¿Alguien podría ayudarme?... dejo el trozo del programa referido para una mejor comprension.

Un saludo.


Mismo problema que ya comentaste para un indicador. Por favor, no dupliques hilos o seras reportado por spam.

Te recomiendo que hagas uso del apartado Freelance y lo pongas en manos de un profesional, ya que lo que pides es rematar un trabajo que supuestamente ira al Market y dudo que alguien te ayude.

Normalmente la comunidad suele ayudar en cosas muy precisas y de poca enjundia, pero si ya hay que escribir más de una linea de código y darle al magín...te tocara pagar o tener mucha paciencia y esperar si alguien decide ayudarte.

Pero lo dicho...NO DUPLIQUES HILOS.

Saludos y suerte!

 
Miguel Angel Vico Alba:

Mismo problema que ya comentaste para un indicador. Por favor, no dupliques hilos o seras reportado por spam.

Te recomiendo que hagas uso del apartado Freelance y lo pongas en manos de un profesional, ya que lo que pides es rematar un trabajo que supuestamente ira al Market y dudo que alguien te ayude.

Normalmente la comunidad suele ayudar en cosas muy precisas y de poca enjundia, pero si ya hay que escribir más de una linea de código y darle al magín...te tocara pagar o tener mucha paciencia y esperar si alguien decide ayudarte.

Pero lo dicho...NO DUPLIQUES HILOS.

Saludos y suerte!


¡¡Vaya!! Que sorpresa. Pensaba que éste foro, como en la inmensa mayoría, tenía en uno de sus principios la ayuda a los que estamos empezando a programar....   Craso error.

En todo caso, la pregunta era bastante precisa, no creo que haya solicitado ayuda para crear un completo indicador profesional, que por cierto, no sabía ni que se podían volcar posteriormente en el Market, suponía que eso era sólo para profesionales...

Tomo nota taxativamente de lo que me dice y, no se preocupe, no deberá reportarme a Spam, NO DUPLICARÉ HILOS. La próxima vez que solicite algo, será con "la cartera por delante", que deben ser las preguntas más oportunas y apetecibles en éste foro.


Un saludo y disculpe.

 
carlosojbe:

¡¡Vaya!! Que sorpresa. Pensaba que éste foro, como en la inmensa mayoría, tenía en uno de sus principios la ayuda a los que estamos empezando a programar....   Craso error.

En todo caso, la pregunta era bastante precisa, no creo que haya solicitado ayuda para crear un completo indicador profesional, que por cierto, no sabía ni que se podían volcar posteriormente en el Market, suponía que eso era sólo para profesionales...

Tomo nota taxativamente de lo que me dice y, no se preocupe, no deberá reportarme a Spam, NO DUPLICARÉ HILOS. La próxima vez que solicite algo, será con "la cartera por delante", que deben ser las preguntas más oportunas y apetecibles en éste foro.


Un saludo y disculpe.


Si observa detenidamente los hilos en los diferentes apartados vera que aquí se presta ayuda de todo tipo y gratuitamente.

¿Cuando se le estropea el coche lo lleva al mecánico y le cobra, verdad? ¿O entra en un foro de mecánicos y pide que le expliquen como arreglar la avería usted mismo? Pues aquí es lo mismo....puede que haya quien le ayude, y puede quien piense que el que algo quiere, algo le cuesta.

Y perdone si le molesta que cobremos por ello. ¿Pero sabe realmente que pasa? Que cuando voy a comprar al super, o como dije anteriormente llevo el coche al mecánico, me cobran. Que cosas...¿verdad? Que lastima no vivir del aire.

Ironías y rabietas infantiles aparte, le dije "Normalmente la comunidad suele ayudar en cosas muy precisas y de poca enjundia, pero si ya hay que escribir más de una linea de código y darle al magín...te tocara pagar o tener mucha paciencia y esperar si alguien decide ayudarte."

¿Que parte no entendió y que pretende? ¿Que sea otro el que tenga que dedicar tiempo en explicarle lo que hizo mal o directamente no hizo? Me cuesta creer que haya avanzado tanto y que luego no sepa solucionar una cosa tan sencilla...de verdad ese código es suyo? Deje que lo dude.

Desde mi punto de vista una cosa es tener alguna duda sobre una función, etc...y otra es pedir a bombo y platillo ayuda duplicando hilos, escribiendo el encabezamiento en mayúscula como si le fuese la vida ello, etc. Y ojo...que si le derivan al apartado Freelance donde a lo sumo le van a cobrar 10 o 20€ y le va a quedar el código como Dios manda....CUIDADO! RABIETA! QUE EL MECÁNICO QUIERE COBRAR!

Creo que con la actitud y el tono que me respondió....si antes tenia pocas posibilidades de que alguien le ayudase, ahora menos.

Observe mi perfil...trabajos realizados en el Freelance? CERO. A otro perro con ese hueso. Y por favor...lea las normas del foro. https://www.mql5.com/es/forum/205039

  • Por lo general, las personas que no pueden codificar no reciben ayuda gratuita en este foro, aunque podría suceder si tiene suerte. Sea paciente.
Extraido de https://www.mql5.com/en/forum/172166 (Moderadores)

Tenga en cuenta que esta web tiene tienda, vende señales, EA's, indicadores, scripts...y una gran mayoría lo conformamos programadores. El resto, los que no lo son, dudo que puedan ayudarle, y los que podemos estamos aquí profesionalmente prestando nuestros servicios. Puede que haya algún iniciado como usted que pueda ayudarle, pero mientras eso llega, si es que tiene que llegar, si un profesional le aconseja ponerlo en manos de otro profesional (valga la redundancia), ¿que le parece raro? Y repito, no lo digo por mi, puesto que no hago trabajos por encargo, sino por la prisa que usted parece tener.

En fin, espero y deseo que recapacite y se baje de la nube...que si alguien aquí se tiene que sentir ofendido, tendría sentido que fuésemos los que llevamos años viendo aparecer gente que solo crea la cuenta para pedir cualquier favor y luego adiós muy buenas sin contribución alguna a la comunidad. ¿Le suena de algo?

Un saludo y suerte!

Reglas del foro y recomendaciones
Reglas del foro y recomendaciones
  • 2017.06.22
  • www.mql5.com
El registro en MQL5.com significa que está totalmente de acuerdo con los Términos y Condiciones...
 
Vaya, para ser usted un moderador o una persona con esperiencia en el foro, se ofende muy rapido.
Sin animo de seguir debatiendo algo en lo q no vamos a llegar a ningún acuerdo, insisto: El error es llamarlo foro. Estan en su perfecto derecho de cobrar por su auditorias en codigos, pero entonces, llamenlo taller de arreglo de codigos contra-prestación economica y queda mas claro, o simplemente, llamelo tienda, o taller de codigos.... Asi no se ofenden ustedes y todo el mundo sabe lo q es. Los foros son otra cosa, y deberia saberlo.
Cuando llevo el coche al taller, efectivamente, me cobran, faltaría mas!!!¿ Sabe por que? , porque se llama taller, y todo el mundo sabe lo q es un taller, y lo que no es, es un foro de debate, sino un taller.
Soy aficionado a la fotografía y ningún foro me cobra por responderme sobre dudas q me surgen sobre cómo sacarle el máximo partido a la cámara o cómo realizar mejores fotografías, incluso habiendo profesionales en ellos, y cuando ésto se me queda corto, sé q existen cursos o tiendas de pago para seguir aprendiendo, PERO SE LLAMAN TIENDAS, NO FOROS (y lo pongo en mayusculas, si). 
Por cierto, soy adulto. Las rabietas las he superado hace tiempo ya. 
Y sobre las normas, sin animo de ofender, es como la letra pequeña de los prestamos hipotecarios: para leerlas todas, deberiamos dedicarles un lustro. 
Y por último,  sobre si el codigo es mio o no..., se lo aseguro, es mio (aprendido de muchos autores, claro). Aunque no sea algo relevante en éste momento, apago su curiosidad. Voy aprendiendo poco a poco, con cursos q he pagado (porque están en tiendas de internet, no foros) y en otros q no he necesitado pagar.
Si se ha ofendido, quiza sea porque le estoy diciendo algo evidente: Crean ustedes un foro para q los aprendices entremos pensando q vamos a hablar con otros aprendices y... zas!!! Es una zona dedicada a cobrar por sus ayudas. Bien, repito, e insisto, estan en su derecho de cobrar por ello, estaría bueno!!!, pero sean claros con sus intenciones.
Un saludo y gracias!!!!!




 
carlosojbe:
Vaya, para ser usted un moderador o una persona con esperiencia en el foro, se ofende muy rapido.
Sin animo de seguir debatiendo algo en lo q no vamos a llegar a ningún acuerdo, insisto: El error es llamarlo foro. Estan en su perfecto derecho de cobrar por su auditorias en codigos, pero entonces, llamenlo taller de arreglo de codigos contra-prestación economica y queda mas claro, o simplemente, llamelo tienda, o taller de codigos.... Asi no se ofenden ustedes y todo el mundo sabe lo q es. Los foros son otra cosa, y deberia saberlo.
Cuando llevo el coche al taller, efectivamente, me cobran, faltaría mas!!!¿ Sabe por que? , porque se llama taller, y todo el mundo sabe lo q es un taller, y lo que no es, es un foro de debate, sino un taller.
Soy aficionado a la fotografía y ningún foro me cobra por responderme sobre dudas q me surgen sobre cómo sacarle el máximo partido a la cámara o cómo realizar mejores fotografías, incluso habiendo profesionales en ellos, y cuando ésto se me queda corto, sé q existen cursos o tiendas de pago para seguir aprendiendo, PERO SE LLAMAN TIENDAS, NO FOROS (y lo pongo en mayusculas, si). 
Por cierto, soy adulto. Las rabietas las he superado hace tiempo ya. 
Y sobre las normas, sin animo de ofender, es como la letra pequeña de los prestamos hipotecarios: para leerlas todas, deberiamos dedicarles un lustro. 
Y por último,  sobre si el codigo es mio o no..., se lo aseguro, es mio (aprendido de muchos autores, claro). Aunque no sea algo relevante en éste momento, apago su curiosidad. Voy aprendiendo poco a poco, con cursos q he pagado (porque están en tiendas de internet, no foros) y en otros q no he necesitado pagar.
Si se ha ofendido, quiza sea porque le estoy diciendo algo evidente: Crean ustedes un foro para q los aprendices entremos pensando q vamos a hablar con otros aprendices y... zas!!! Es una zona dedicada a cobrar por sus ayudas. Bien, repito, e insisto, estan en su derecho de cobrar por ello, estaría bueno!!!, pero sean claros con sus intenciones.
Un saludo y gracias!!!!!




"se ofende muy rapido"...que lo diga usted tiene su gracia.

"todo el mundo sabe lo q es un taller, y lo que no es, es un foro de debate, sino un taller." Pues para saber diferenciar entre lo que es un foro y un taller, me parece que podria empezar aplicandose el cuento, efectivamente, es un foro y usted lo uso de taller.

"Si se ha ofendido, quiza sea porque le estoy diciendo algo evidente" Ofendido yo...que manera de darle vuelta a la tortilla.

"La próxima vez que solicite algo, será con "la cartera por delante", que deben ser las preguntas más oportunas y apetecibles en éste foro." Rabieta incoming...

Y sí, dejemoslo aquí, aclarado el tema.

Suerte!

 
Que asi sea. Mejor dejarlo aqui. Tanto la conversacion, como el llamado ""Foro"". 
Obvio que podría responder a cada punto de su anterior respuesta,  pero mejor dejemoslo aqui.
Suerte que internet es muy grande. 
Un saludo.
 
carlosojbe:

Buenos dias. Estoy realizando un EXPERT ADVISOR en MQL4, y una de sus partes consta en buscar los cinco primeros fractales de abajo y los cinco primeros fractales de arriba.

Bien, una vez encontrados, necesito extraer el fractal más bajo de los cinco de abajo (por ejemplo hablando de los de abajo), y hasta aquí no hay problema. Lo que no consigo hacer es extraer EL SEGUNDO FRACTAL MÁS BAJO de los cinco de abajo, ya que la idea es crear una linea que una el fractal mas bajo con el segundo fractal más bajo dentro de los cinco primeros (a forma de linea de tendencia)...

¿Alguien podría ayudarme?... dejo el trozo del programa referido para una mejor comprension.

Un saludo.

 
Buenas Tardes Vivo en Sevilla y empece como tu, poco a poco me fui formando, te adjunto la solucion a tu problema: //-------------------------------------------------------------------------------------------------- 
double BuscaFractal(int type, char NumFractal) //Tipo (1:Upper , 2:Lower) , NumFractal (Del 1 al Numero de fractales que podria encontrar en el numero de velas visibles en el chart) { long VisualBars=ChartGetInteger(0,CHART_VISIBLE_BARS,0);//Devuelve la cantidad de Velas visibles en el chart. double FractalUp[]; double FractalDown[]; int CuentaFractal=0; double FractalFinal=0; ArrayResize(FractalUp,VisualBars); ArrayResize (FractalDown,VisualBars); ArrayInitialize(FractalUp,0); ArrayInitialize(FractalDown,0); int k; for (k=1; k<=VisualBars;k++) { if (iFractals(NULL,0,MODE_UPPER,k)!=0) { CuentaFractal++; FractalUp[CuentaFractal]= iFractals(NULL,0,MODE_UPPER,k);  } //if (CuentaFractal>=5) break; } CuentaFractal=0; for (k=1; k<=VisualBars;k++) { if (iFractals(NULL,0,MODE_LOWER,k)!=0) { CuentaFractal++; FractalDown[CuentaFractal]= iFractals(NULL,0,MODE_LOWER,k);  } //if (CuentaFractal>=5) break; } if (type==1) FractalFinal=FractalUp[NumFractal]; if (type==2) FractalFinal=FractalDown[NumFractal]; return(FractalFinal);  }
 //----------------------------------------------------------------------------------------- solo tienes que llamar a la funcion BuscaFractal(1,1) si es que quieres obtener el primer fractal superior, BuscaFractal(1,2) para el segundo fractal superior, BuscaFractal(2,1) para el primer fractal inferior, y asi sucesivamente, el limite le he puesto la cantidad de barras visibles en el chart.  
 
// Pones los cinco valores en un array, ordenas el array descendentemente y te quedas con el penúltimo valor.
   double num_array[5];
   num_array[0]=PriceLowerFractal_1;
   num_array[1]=PriceLowerFractal_2;
   num_array[2]=PriceLowerFractal_3;
   num_array[3]=PriceLowerFractal_4;
   num_array[4]=PriceLowerFractal_5;

   ArraySort(num_array,WHOLE_ARRAY,0,MODE_DESCEND);
   Print("Segundo valor más bajo: ",num_array[3]);