Fibonacci-Ebenen in MQL4 - Seite 6

 
Bitte helfen Sie mir, wie kann ich schreiben Fibonacci-Linien in meinem EA von diesem Indikator, zum Beispiel zeigen mir eine Linie.
Dateien:
 
459275:
Bitte helfen Sie mir, wie man Fibonacci-Linien in einen EA aus diesem Indikator schreiben kann, zum Beispiel auf einer Linie, vielen Dank für Ihre Hilfe.

Nehmen Sie diesen Teil des Codes:

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

In Expert Advisor einfügen. Die Variablen Höchst- und Tiefstwert haben die Werte 0 und 100, die übrigen Werte werden berechnet.

Mit der Zeit können aus den Variablen T1 und T2 100 über 0 oder 0 über 100 bestimmt werden.

 
Ich habe diesen Teil eingefügt, aber ich habe nicht genug Grips. Ich lerne gerade erst. Einfachere kann ich machen, aber diesen hier noch nicht. Wie berechne ich andere Stufen?
 

Addieren Sie den mit einem Faktor multiplizierten Bereich zum Nullniveau. Die Spanne ist der Abstand zwischen Level 0 und 100. Die Koeffizienten befinden sich unten im Code, wo die Fibo-Levels festgelegt sind:

0.236, 0.382, 0.50, 0.618...

Es wäre besser, ein paar Variablen hinzuzufügen: Level0 und Level100, und ihnen einen Wert in Abhängigkeit von T1 UND T2 zuzuweisen:

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

Oder andersherum:

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

Ich werde experimentieren müssen))

Jetzt müssen wir nur noch die Werte berechnen:

Level=Level0+(Level100-Level0)*K;

Für jede Stufe (für jedes K).

 
Dmitry Fedoseev:

Addieren Sie den mit einem Faktor multiplizierten Bereich zum Nullniveau. Die Spanne ist der Abstand zwischen Level 0 und 100. Die Koeffizienten befinden sich unten im Code, wo die Fibo-Levels festgelegt sind:

0.236, 0.382, 0.50, 0.618...

Es wäre besser, ein paar Variablen hinzuzufügen: Level0 und Level100, und ihnen einen Wert in Abhängigkeit von T1 UND T2 zuzuweisen:

Oder andersherum:

Ich werde experimentieren müssen))

Jetzt müssen wir nur noch die Werte berechnen:

Level=Level0+(Level100-Level0)*K;

Für jede Stufe (für jedes K).

 
459275:

...

Verwenden SiePrint(), Comment() und vergleichen Sie das Ergebnis mit dem Original. Solange Sie deutlich erkennen können, dass die Koeffizienten falsch sind, sollten sie durch 100 geteilt werden.
 
459275:

Habe ich es richtig gemacht? if(T1<T2){

Stufe0 = höchste;

Stufe100 = niedrigste;

}

sonst{

Stufe100 = höchste;

Stufe0 = niedrigste;

}

double K=niedrigste-höchste;

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;

 
Ich habe es durch 100 geteilt. Was mache ich als Nächstes? Und wie setze ich die Signale aus diesen Pegeln?
 
459275:
Ich teile es durch 100. Und was mache ich dann? Und wie schreibe ich die Signale von diesen Ebenen?

Niemand außer Ihnen weiß, wie Sie es verwenden werden. Zunächst müssen Sie prüfen, ob sie mit dem Original übereinstimmt.

 
Wie wird diese Kontrolle durchgeführt?