[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 121

 

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

Qualquer coisa que você possa fazer para ajudar... Saudações a todos! Preciso colocar as configurações para Fractals na janela de configurações, e elas estão na função....

 
Allis:

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


Qualquer coisa que você possa fazer para ajudar... Saudações a todos! Preciso colocar as configurações para Fractals na janela de configurações, e elas estão na função....


Adicionar ;


Exterior int Bars.left =5;

e no próximo também.

e comentar as linhas abaixo para que não se repitam

// int Bars.left =5;

// int Bars.right =5;

 
BeerGod:

Adicionar ;


Exterior int Bars.left =5;

e no próximo também

e comentar as linhas abaixo para que não se repitam

// int Bars.left =5;

// int Bars.right =5;


Eu não fiz da maneira que você escreveu? Levei para os Externs e comentei no final de....

http://clip2net.com/s/2LlEi bem, foi onde eu realmente comecei

//+------------------------------------------------------------------+
//|                                                                  |
//|                 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);
  }
//+------------------------------------------------------------------+
 

Tente isto

//+------------------------------------------------------------------+
//|                                                                  |
//|                 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:

Tente isto, ele compila sem erros, não verifiquei a funcionalidade)


Bummer.... Eu comecei com esta.... Exatamente a partir deste... Eu postei o link.... E por alguma razão, não funcionou... Obrigado!
 
hoz:

Artem, é melhor você beber suco como você fez. Eu não recomendo cerveja... Eu não o aconselho... :)

Eh... Não queria tomar álcool há oito anos - não me interessava por ele... :)

Obrigado por sua preocupação com sua saúde ;)

 
hoz:

Não. Eu só acho que condições e inspeções desnecessárias são um desperdício de recursos.
Sim... É muito mais fácil pular algumas verificações necessárias do que se reportar ao tio Kolya.
 
Allis:

Bummer.... Eu comecei lá.... Exatamente a partir deste... Eu postei o link.... E por alguma razão, não funcionou... Obrigado!
Não funcionou simplesmente porque você teve que colocar um ponto-e-vírgula após a declaração da variável e não tinha nenhum.
 

Para olhar os castiçais padrão de um ângulo diferente, vou mover a linha do tempo para a esquerda para a direita. Os castiçais horários não devem começar e terminar aos 00 minutos, mas aos 10 ou 20 minutos, por exemplo.

Ele fornecerá algumas informações adicionais. O mesmo nos castiçais diários - turno por hora (por exemplo, sessio aberto). Comecei a editar os arquivos csv de forma excelente, mas eles consomem muito tempo. Talvez alguém possa ver alguma outra solução para mudar os minutos e recalcular o restante do prazo.

 
Operr:

Para olhar os castiçais padrão de um ângulo diferente, vou mover a linha do tempo para a esquerda para a direita. Os castiçais horários não devem começar e terminar aos 00 minutos, mas aos 10 ou 20 minutos, por exemplo.

Ele fornecerá algumas informações adicionais. O mesmo nos castiçais diários - turno por hora (por exemplo, sessio aberto). Comecei a editar os arquivos csv de forma excelente, mas eles consomem muito tempo. Talvez alguém possa ver alguma outra solução para mudar minutos e recalcular o resto da TF.


Você pode usar o roteiro do period_converter e modificar a condição de cultivo do candelabro. Por exemplo, num relance, para conseguir castiçais por x horas e 10 minutos:

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

substituir por

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

Ou assim)))