Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1368

 
Alexey Viktorov:

È controllato? )))))

Ho capito così:

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

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

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

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

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

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

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

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

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

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Allarme: livelli Fibo prima = 9


 
Galim_V:

Lo faccio:

Dove sono i prezzi?

 
Alexey Viktorov:

Dove sono i prezzi?

Ho eseguito lo script suggerito da Alex. E sì, è quello che ho detto, voglio prenderlo, non contarlo. Tutto ciò di cui ho bisogno per il bot non sarò mai in grado di calcolarlo da solo. Inoltre, mi fido dei ragazzi di Metquotes. Non è vero?

 
Galim_V:

Ho eseguito lo script suggerito da Alex. E sì, è quello che ho detto, voglio prenderlo, non contarlo. Tutto ciò di cui ho bisogno per il bot non sarò mai in grado di calcolarlo da solo. Inoltre, mi fido dei ragazzi di Metquotes. Non è vero?

Credo di aver capito.

   //---  а сколько у нас Фибо-уровней ?
   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));
     }
L'ho modificato un po', ma per qualche motivo i livelli interni e negativi non contano
 
Galim_V:

Ho eseguito lo script suggerito da Alex. E sì, è quello che ho detto, voglio prenderlo, non contarlo. Tutto ciò di cui ho bisogno per il bot non sarò mai in grado di calcolarlo da solo. Inoltre, mi fido dei ragazzi di Metquotes. Non è vero?

Non ci sono altre opzioni. Sto solo contando...

 
MakarFX:

Credo che stia funzionando.

L'ho aggiustato un po', ma per qualche motivo i livelli interni e negativi non contano

Grazie, Makar!

 
Galim_V:

Grazie, Makar!

Raccomando di usare la ricerca matematica dei prezzi basata sui due livelli Fibo principali.
 
MakarFX:

Sembra funzionare.

Non molto tweaking, ma per qualche ragione i livelli interni e negativi non contano

Non funziona, perché il livello zero non è definito correttamente e quindi bisogna non solo aggiungere al livello zero, ma anche sottrarre da esso se la fibra è allungata verso il basso. In generale, tutto dipende dalla posizione del livello zero rispetto al livello unico del 100%.

 
Alexey Viktorov:

Non conta perché il livello zero non è definito correttamente e quindi non solo deve essere aggiunto al livello zero, ma anche sottratto da esso se la fibra è allungata dall'alto verso il basso. In generale, tutto dipende dalla posizione del livello zero rispetto al livello unico del 100 per cento.

Hai ragione
 

L'ho finito)

Ora tutti i livelli stanno contando correttamente

   //---  а сколько у нас Фибо-уровней ?
   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));
      }
    }
Motivazione: