Niveaux de Fibonacci dans MQL4 - page 6

 
S'il vous plaît aidez-moi, comment puis-je écrire des lignes de Fibonacci dans mon EA à partir de cet indicateur, par exemple montrez-moi une ligne.
Dossiers :
 
459275:
S'il vous plaît aidez-moi, comment écrire des lignes de Fibonacci dans un EA de cet indicateur, en montrant sur une ligne par exemple Merci beaucoup pour votre aide.

Prenez cette partie du code :

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

Insérer dans le conseiller expert. Les variables highst et lowest auront les niveaux 0 et 100, calculez les niveaux restants.

En fonction du temps, à partir des variables T1 et T2, nous pouvons déterminer 100 au-dessus de 0, ou 0 au-dessus de 100.

 
J'ai inséré cette partie, mais je n'ai pas assez de cervelle. J'apprends juste. Je peux faire les plus simples, mais je ne peux pas encore faire celui-ci. Comment calculer les autres niveaux ?
 

Ajouter la gamme multipliée par un facteur au niveau zéro. La fourchette est la distance entre le niveau 0 et 100. Les coefficients se trouvent en dessous dans le code où les niveaux de fibo sont fixés :

0.236, 0.382, 0.50, 0.618...

Il serait préférable d'ajouter un couple de variables : Level0 et Level100, leur attribuer une valeur en fonction de T1 ET 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;
}

Je vais devoir expérimenter))

Il ne nous reste plus qu'à calculer les niveaux :

Niveau=Niveau0+(Niveau100-Niveau0)*K ;

Pour chaque niveau (pour chaque K).

 
Dmitry Fedoseev:

Ajouter la gamme multipliée par un facteur au niveau zéro. La fourchette est la distance entre le niveau 0 et 100. Les coefficients se trouvent en dessous dans le code où les niveaux de fibo sont fixés :

0.236, 0.382, 0.50, 0.618...

Il serait préférable d'ajouter un couple de variables : Level0 et Level100, leur attribuer une valeur en fonction de T1 ET T2 :

Ou vice versa :

Je vais devoir expérimenter))

Il ne nous reste plus qu'à calculer les niveaux :

Niveau=Niveau0+(Niveau100-Niveau0)*K ;

Pour chaque niveau (pour chaque K).

 
459275:

...

UtilisezPrint(), Comment(), voyez le résultat que vous obtenez, comparez-le avec l'original. Tant que vous pouvez clairement voir que les coefficients sont faux, ils doivent être divisés par 100.
 
459275:

Est-ce que je l'ai bien fait ? si(T1<T2){

Niveau0 = le plus élevé ;

Niveau 100 = le plus bas ;

}

else{

Niveau 100 = le plus élevé ;

Niveau0 = le plus bas ;

}

double K = le plus bas et le plus haut ;

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;

 
Je l'ai divisé par 100. Que dois-je faire ensuite ? Et comment dois-je régler les signaux de ces niveaux ?
 
459275:
Je le divise par 100. Et ensuite, je fais quoi ? Et comment j'écris les signaux de ces niveaux ?

Personne d'autre que vous ne sait comment vous allez l'utiliser. Pour commencer, vous devez vérifier qu'il correspond à l'original.

 
Comment ce contrôle est-il effectué ?