Níveis de Fibonacci em MQL4 - página 6

 
Por favor, ajude-me, como posso escrever linhas Fibonacci na minha EA a partir deste indicador, por exemplo, mostre-me uma linha.
Arquivos anexados:
 
459275:
Por favor, ajude-me, como escrever linhas Fibonacci em um EA a partir deste indicador, por exemplo, em uma linha, muito obrigado por sua ajuda.

Assuma esta parte do código:

   double lowest=1000, highest=0;
   datetime T1,T2;
   for(int i=lookback+lastbar;i>lastbar+1;i--)
   {  
      double curLow0=iLow(Symbol(),Period(),i-2);
      double curLow1=iLow(Symbol(),Period(),i+1);
      double curLow2=iLow(Symbol(),Period(),i);
      double curLow3=iLow(Symbol(),Period(),i-1);
      double curLow4=iLow(Symbol(),Period(),i-2);
      
       double curHigh0=iHigh(Symbol(),Period(),i+2);
       double curHigh1=iHigh(Symbol(),Period(),i+1);
        double curHigh2=iHigh(Symbol(),Period(),i);
         double curHigh3=iHigh(Symbol(),Period(),i-1);
         double curHigh4=iHigh(Symbol(),Period(),i-2);
         
      if(curLow2<=curLow1 && curLow2<=curLow1 && curLow2<=curLow0 )
      {
      if(lowest>curLow2){
         lowest=curLow2;
         T2=iTime(Symbol(),Period(),i);}
      }
      
      if(curHigh2>=curHigh1 && curHigh2>=curHigh3&& curHigh2>=curHigh4)
      {  
         if(highest<curHigh2){
         highest=curHigh2;
         T1=iTime(Symbol(),Period(),i);}
      }
   
   
   }  

Inserir no Expert Advisor. As variáveis mais altas e mais baixas terão níveis 0 e 100, calcule os níveis restantes.

Por tempo a partir das variáveis T1 e T2 pode ser determinado 100 acima de 0, ou 0 acima de 100.

 
Eu inseri esta parte, mas não tenho cérebro suficiente. Estou apenas aprendendo. Posso fazer outras mais simples, mas ainda não posso fazer esta. Como faço para calcular outros níveis?
 

Adicione a faixa multiplicada por um fator ao nível zero. O intervalo é a distância entre o nível 0 e 100. Os coeficientes estão lá abaixo no código onde os níveis de fibo são definidos:

0.236, 0.382, 0.50, 0.618...

Seria melhor acrescentar algumas variáveis: Level0 e Level100, atribuir-lhes um valor dependendo de T1 E T2:

if(T1<T2){
   Level0=highest;
   Level100=lowest;
}
else{
   Level100=highest;
   Level0=lowest;
}

Ou vice versa:

if(T1<T2){
   Level100=highest;
   Level0=lowest;
}
else{
   Level0=highest;
   Level100=lowest;
}

Eu terei que experimentar)))

Tudo o que precisamos fazer agora é calcular os níveis:

Nível=Nível0+(Nível100-Nível0)*K;

Para cada nível (para cada K).

 
Dmitry Fedoseev:

Adicione a faixa multiplicada por um fator ao nível zero. O intervalo é a distância entre o nível 0 e 100. Os coeficientes estão lá abaixo no código onde os níveis de fibo são definidos:

0.236, 0.382, 0.50, 0.618...

Seria melhor acrescentar algumas variáveis: Level0 e Level100, atribuir-lhes um valor dependendo de T1 E T2:

Ou vice versa:

Eu terei que experimentar)))

Tudo o que precisamos fazer agora é calcular os níveis:

Nível=Nível0+(Nível100-Nível0)*K;

Para cada nível (para cada K).

 
459275:

...

UsePrint(), Comment(), veja que resultado você obtém, compare-o com o original. Enquanto você puder ver claramente que os coeficientes estão errados, eles devem ser divididos por 100.
 
459275:

Eu fiz bem? if(T1<T2){

Nível0 = mais alto;

Nível100 = mais baixo;

}

senão{

Nível100 = mais alto;

Nível0 = mais baixo;

}

duplo K=mais baixo-mais alto;

double Level2=Level0+(Level100-Level0)*23.6;

double Level3=Level0+(Level100-Level0)*38.2;

double Level4=Level0+(Level100-Level0)*50.0;

double Level5=Level0+(Level100-Level0)*61.8;

double Level6=Level0+(Level100-Level0)*78.6;

 
Dividi por 100. O que faço a seguir? E como faço para definir os sinais a partir desses níveis?
 
459275:
Divido-o por 100. E depois, o que faço? E como escrevo os sinais a partir desses níveis?

Ninguém além de você sabe como vai utilizá-lo. Para começar, é preciso verificar se está de acordo com o original.

 
Como este controle é feito?