[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 121

 

http://clip2net.com/s/2LkQp

Cualquier cosa que pueda hacer para ayudar... ¡Saludos a todos! Tengo que poner los ajustes para los Fractales en la ventana de ajustes, y están en la función....

 
Allis:

http://clip2net.com/s/2LkQp


Cualquier cosa que pueda hacer para ayudar... ¡Saludos a todos! Tengo que poner los ajustes para los Fractales en la ventana de ajustes, y están en la función....


Añadir ;


extern int Bars.left =5;

y en la siguiente también.

y comenta las líneas de abajo para que no se repitan

// int Bars.left =5;

// int Bars.righ =5;

 
BeerGod:

Añadir ;


extern int Bars.left =5;

y en la siguiente también

y comenta las líneas de abajo para que no se repitan

// int Bars.left =5;

// int Bars.righ =5;


¿No lo hice como lo escribiste? Lo llevé a las Externas y lo comenté al final de ....

http://clip2net.com/s/2LlEi bueno, ahí es donde realmente empecé

//+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 1999-2008, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "© 2007 Takbir"
#property link      "www.stigal.com"
//----
#define major   1
#define minor   1
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkGreen
#property indicator_color2 Maroon
#property indicator_width1  1
#property indicator_width2  1
extern int Bars.left =5     // надо что бы было здесь и соответственно в окошке настроек
extern int Bars.right =5    // надо что бы было здесь и соответственно в окошке настроек
//----
double UpperFr[];
double LowerFr[];
//----
int Bars.left=5;       //а оно здесь, да ещё участвует в формуле
int Bars.right=5;      //а оно здесь, да ещё участвует в формуле

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   SetIndexBuffer(0, UpperFr);
   SetIndexBuffer(1, LowerFr);
   //
   SetIndexEmptyValue(0, 0);
   SetIndexEmptyValue(1, 0);
   //
   SetIndexStyle(0, DRAW_ARROW);
   SetIndexArrow(0, 159);
   //
   SetIndexStyle(1, DRAW_ARROW);
   SetIndexArrow(1, 159);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int counted=IndicatorCounted();
   if (counted < 0) return(-1);
   if (counted > 0) counted--;
   int limit=Bars-counted;
//-----
   double dy=0;
     for(int i=1; i<=20; i++) 
     {
      dy+=0.3*(High[i]-Low[i])/20;
     }
   for(i=1+Bars.right; i<=limit+Bars.left; i++)
     {
      UpperFr[i]=0;
      LowerFr[i]=0;
//----
      if (IsUpperFr(i)) UpperFr[i]=High[i] + dy;
      if (IsLowerFr(i)) LowerFr[i]=Low[i] - dy;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsUpperFr(int bar)
  {
   for(int i=1; i<=Bars.left; i++)
     {
      if (bar+i>=Bars) return(false);

      if (High[bar] < High[bar+i]) return(false);
     }
   for(i=1; i<=Bars.right; i++)
     {
      if (bar-i < 0) return(false);
      if (High[bar] < High[bar-i]) return(false);
     }
//----
   return(true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsLowerFr(int bar)
  {
   for(int i=1; i<=Bars.left; i++)
     {
      if (bar+i>=Bars) return(false);
      if (Low[bar] > Low[bar+i]) return(false);
     }
   for(i=1; i<=Bars.right; i++)
     {
      if (bar-i < 0) return(false);
      if (Low[bar] > Low[bar-i]) return(false);
     }
//----
   return(true);
  }
//+------------------------------------------------------------------+
 

Prueba esto

//+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 1999-2008, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "© 2007 Takbir"
#property link      "www.stigal.com"
//----
#define major   1
#define minor   1
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkGreen
#property indicator_color2 Maroon
#property indicator_width1  1
#property indicator_width2  1
extern int Bars.left =5;     // надо что бы было здесь и соответственно в окошке настроек
extern int Bars.right =5;    // надо что бы было здесь и соответственно в окошке настроек
//----
double UpperFr[];
double LowerFr[];
//----
//int Bars.left=5;       //а оно здесь, да ещё участвует в формуле
//int Bars.right=5;      //а оно здесь, да ещё участвует в формуле

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   SetIndexBuffer(0, UpperFr);
   SetIndexBuffer(1, LowerFr);
   //
   SetIndexEmptyValue(0, 0);
   SetIndexEmptyValue(1, 0);
   //
   SetIndexStyle(0, DRAW_ARROW);
   SetIndexArrow(0, 159);
   //
   SetIndexStyle(1, DRAW_ARROW);
   SetIndexArrow(1, 159);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int counted=IndicatorCounted();
   if (counted < 0) return(-1);
   if (counted > 0) counted--;
   int limit=Bars-counted;
//-----
   double dy=0;
     for(int i=1; i<=20; i++) 
     {
      dy+=0.3*(High[i]-Low[i])/20;
     }
   for(i=1+Bars.right; i<=limit+Bars.left; i++)
     {
      UpperFr[i]=0;
      LowerFr[i]=0;
//----
      if (IsUpperFr(i)) UpperFr[i]=High[i] + dy;
      if (IsLowerFr(i)) LowerFr[i]=Low[i] - dy;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsUpperFr(int bar)
  {
   for(int i=1; i<=Bars.left; i++)
     {
      if (bar+i>=Bars) return(false);

      if (High[bar] < High[bar+i]) return(false);
     }
   for(i=1; i<=Bars.right; i++)
     {
      if (bar-i < 0) return(false);
      if (High[bar] < High[bar-i]) return(false);
     }
//----
   return(true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsLowerFr(int bar)
  {
   for(int i=1; i<=Bars.left; i++)
     {
      if (bar+i>=Bars) return(false);
      if (Low[bar] > Low[bar+i]) return(false);
     }
   for(i=1; i<=Bars.right; i++)
     {
      if (bar-i < 0) return(false);
      if (Low[bar] > Low[bar-i]) return(false);
     }
//----
   return(true);
  }
//+------------------------------------------------------------------+


 
BeerGod:

Prueba esto, compila sin errores, no he comprobado la funcionalidad)


Bummer.... Empecé con este .... Exactamente de este... He publicado el enlace.... Y por alguna razón no funcionó... Gracias.
 
hoz:

Artem, será mejor que tomes jugo como lo hiciste. No recomiendo la cerveza... No lo aconsejo... :)

Eh... Hace ocho años que no quiero tomar alcohol, no me interesa... :)

Gracias por preocuparte por tu salud ;)

 
hoz:

No. Sólo creo que las condiciones e inspecciones innecesarias son un desperdicio de recursos.
Sí... Es mucho más fácil saltarse unas cuantas comprobaciones necesarias que informar al tío Kolya...
 
Allis:

Bummer.... Empecé allí.... Exactamente de este... He publicado el enlace.... Y por alguna razón no funcionó... Gracias.
No funcionaba simplemente porque había que poner un punto y coma después de la declaración de la variable y tú no tenías ninguno.
 

Para ver las velas estándar desde un ángulo diferente, voy a mover la línea de tiempo de la izquierda a la derecha. Las velas horarias no deberían empezar y terminar a los 00 minutos, sino a los 10 o 20 minutos, por ejemplo.

Dará alguna información adicional. Lo mismo en las velas diarias - cambio por horas (por ejemplo, sessio abierto). He empezado a editar los archivos csv en excel, pero son muy lentos. Tal vez alguien pueda ver alguna otra solución para desplazar los minutos y recalcular el resto del plazo.

 
Operr:

Para ver las velas estándar desde un ángulo diferente, voy a mover la línea de tiempo de la izquierda a la derecha. Las velas horarias deberían empezar y terminar a los 10 o 20 minutos, por ejemplo, en lugar de a los 00 minutos.

Dará alguna información adicional. Lo mismo en las velas diarias - cambio por horas (por ejemplo, sessio abierto). He empezado a editar los archivos csv en excel, pero son muy lentos. Tal vez alguien pueda ver alguna otra solución para cambiar los minutos y recalcular el resto de la TF.


Puede utilizar el script period_converter y modificar la condición de recorte de las velas. Por ejemplo, de un vistazo, para obtener velas para x horas y 10 minutos:

      if(time0>=i_time+periodseconds || i==0)

sustituir por

      if(TimeMinute(time0)==10 || i==0)

O así))

Razón de la queja: