[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 152

 
Skydiver:

Estou no meio de algo. :-) realmente não sei se vou conseguir hoje (cansado).

IMHO, você não precisa se apressar neste negócio... O principal é a qualidade e ausência de erros nos cálculos, prestar atenção também na propagação do valor no primeiro e no segundo caso, de modo que a mudança de seu valor foi mínima...
 
alex12:
Talvez ao invés de lógico && você deveria escrever ||| (lógico OR) ?

Está tudo errado, pense nisso, você quer prescrever (ou ), então o preço é sempre, ou acima... ou abaixo... nível.

Tente pesquisar no fórum, em algum lugar onde foi discutida a "quebra de nível" .

 

Bom dia a todos.

Eu decidi tentar escrever um indicador, mas encontrei um problema. Ele só começa a desenhar a partir do momento em que eu o coloco na tabela.

Como fazê-la calcular pelo menos uma parte da história?

int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----
   i=Bars-counted_bars-1;

   while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
Talvez alguém possa explicar a uma pessoa inexperiente como escrevê-lo corretamente?
 

Gek34:

Eu decidi tentar escrever um indicador, mas encontrei um problema. Ele só começa a desenhar a partir do momento em que é atirado para a carta.

Coloque-o em um laço separado. A matriz do iMAOnArray não tem tempo para ser formada.
ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);   
 

Não está funcionando, eu parei de desenhar por completo.

Você teria a gentileza de me dar uma lição e um exemplo para o futuro?

Sinceramente Gek.

 
Gek34:

Não está funcionando, eu parei de desenhar por completo.

Você teria a gentileza de me dar uma lição e um exemplo para o futuro?

Sinceramente Gek.


Acho que sim:
int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----

   double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
   double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];

   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       Buf[i]=Max-((Max-Min)/2);
      i--;                          
     }


   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
 
PapaYozh:

Acho que sim:

Heee.... Acho que tudo deveria estar em um loop, como este:

 while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,i)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,i)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
 
r772ra:

Heee.... Acho que tudo tem que estar em um ciclo, como este:


Muito obrigado. Está funcionando, eu vi meu erro imediatamente.

E, de fato, dizem, o mundo não está sem homens bons.

 


Quando otimizo o robô, recebo alguma *** merda intermitente. O que poderia ser isto?

 

Você pode me ajudar a inserir o indicador de Volumes no meu EA? Em geral, a tarefa é simples: verifique a primeira e segunda barras, se a cor da segunda barra é vermelha e a cor da primeira é verde - compre!

Razão: