Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1368

 
Alexey Viktorov:

Wird dies überprüft? )))))

Ich habe es so verstanden:

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 8:4.236 423.6

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 7:2.618 261.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 6:1.618 161.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 5:1 100.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 4:0.618 61.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 3:0.5 50.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 2:0.382 38.2

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 1:0.236 23.6

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 0:0 0.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Warnung: Fibo-Ebenen vor = 9


 
Galim_V:

Das tue ich:

Wo sind die Preise?

 
Alexey Viktorov:

Wo sind die Preise?

Ich habe das von Alex vorgeschlagene Skript ausgeführt. Und ja, das habe ich auch gesagt, ich will es nehmen, nicht zählen. Alles, was ich für den Bot brauche, werde ich niemals selbst berechnen können. Außerdem vertraue ich den Leuten von metquotes. Sie nicht?

 
Galim_V:

Ich habe das von Alex vorgeschlagene Skript ausgeführt. Und ja, das habe ich auch gesagt, ich will es nehmen, nicht zählen. Alles, was ich für den Bot brauche, werde ich niemals selbst berechnen können. Außerdem vertraue ich den Leuten von metquotes. Sie nicht?

Ich glaube, ich hab's.

   //---  а сколько у нас Фибо-уровней ?
   double pr,lpr;
   int levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
   Print("Fibo levels before = ",levels);
   //---выведем в Журнал=> номер уровня:значения описание_уровня
   for(int f=0; f<levels; f++) 
     {
      pr=ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,0)-ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,1);
      lpr=(ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f)*pr)
         +ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,0);
         Print(f,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f),":",DoubleToString(lpr,Digits));
     }
Ich habe es ein bisschen optimiert, aber aus irgendeinem Grund zählen die internen und negativen Pegel nicht
 
Galim_V:

Ich habe das von Alex vorgeschlagene Skript ausgeführt. Und ja, das habe ich auch gesagt, ich will es nehmen, nicht zählen. Alles, was ich für den Bot brauche, werde ich niemals selbst berechnen können. Außerdem vertraue ich den Leuten von metquotes. Sie nicht?

Es gibt keine andere Möglichkeit. Ich zähle nur...

 
MakarFX:

Ich glaube, es funktioniert.

Ich habe es ein wenig korrigiert, aber aus irgendeinem Grund zählen die internen und negativen Level nicht

Vielen Dank, Makar!

 
Galim_V:

Vielen Dank, Makar!

Ich empfehle die Verwendung der mathematischen Preisfindung auf der Grundlage der beiden wichtigsten Fibo-Ebenen.
 
MakarFX:

Es scheint zu funktionieren.

Kein großes Tweaking, aber aus irgendeinem Grund zählen die internen und negativen Pegel nicht

Es funktioniert nicht, weil die Nullebene nicht korrekt definiert ist und man daher nicht nur zur Nullebene addieren, sondern auch von ihr subtrahieren muss, wenn die Faser nach unten gestreckt wird. Im Allgemeinen hängt alles von der Position des Nullpegels im Verhältnis zum einfachen 100%-Pegel ab.

 
Alexey Viktorov:

Sie zählt nicht, weil die Nullebene nicht korrekt definiert ist und daher nicht nur zur Nullebene addiert, sondern auch von ihr subtrahiert werden muss, wenn die Faser von oben nach unten gestreckt wird. Im Allgemeinen kommt es darauf an, wie sich die Nullebene im Verhältnis zur einzigen, 100-prozentigen Ebene verhält.

Sie haben Recht
 

Ich habe es beendet)

Jetzt werden alle Ebenen korrekt gezählt

   //---  а сколько у нас Фибо-уровней ?
   int levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
   Print("Fibo levels before = ",levels);
   //---выведем в Журнал=> номер уровня:значения описание_уровня
   for(int f=0; f<levels; f++) 
    {
     if(f>=0)
      {
      Print(f,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f),":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f)
      *(NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE1,f),Digits)
      -NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE2,f),Digits))
      +NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE2,f),Digits));
      }
    }
Grund der Beschwerde: