Livelli di Fibonacci in MQL4 - pagina 6

 
Per favore aiutatemi, come posso scrivere linee di Fibonacci nel mio EA da questo indicatore, per esempio mostratemi una linea.
File:
 
459275:
Per favore aiutatemi, come scrivere le linee di Fibonacci in un EA da questo indicatore, mostrando su una linea per esempio Grazie mille per il vostro aiuto.

Prendete questa parte del codice:

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

Inserire in Expert Advisor. Le variabili highst e lowest avranno i livelli 0 e 100, calcolare i livelli rimanenti.

Con il tempo dalle variabili T1 e T2 possiamo determinare 100 sopra 0, o 0 sopra 100.

 
Ho inserito questa parte, ma non ho abbastanza cervello. Sto imparando. Posso fare quelle più semplici, ma non posso ancora fare questa. Come faccio a calcolare altri livelli?
 

Aggiungere l'intervallo moltiplicato per un fattore al livello zero. Il range è la distanza tra il livello 0 e 100. I coefficienti sono lì sotto nel codice dove sono impostati i livelli fibo:

0.236, 0.382, 0.50, 0.618...

Sarebbe meglio aggiungere un paio di variabili: Level0 e Level100, assegnare loro un valore a seconda di T1 E T2:

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

O viceversa:

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

Dovrò sperimentare))

Tutto quello che dobbiamo fare ora è calcolare i livelli:

Livello=Livello0+(Livello100-Livello0)*K;

Per ogni livello (per ogni K).

 
Dmitry Fedoseev:

Aggiungere l'intervallo moltiplicato per un fattore al livello zero. Il range è la distanza tra il livello 0 e 100. I coefficienti sono lì sotto nel codice dove sono impostati i livelli fibo:

0.236, 0.382, 0.50, 0.618...

Sarebbe meglio aggiungere un paio di variabili: Level0 e Level100, assegnare loro un valore a seconda di T1 E T2:

O viceversa:

Dovrò sperimentare))

Tutto quello che dobbiamo fare ora è calcolare i livelli:

Livello=Livello0+(Livello100-Livello0)*K;

Per ogni livello (per ogni K).

 
459275:

...

UsatePrint(), Comment(), vedete quale risultato ottenete, confrontatelo con l'originale. Finché si vede chiaramente che i coefficienti sono sbagliati, devono essere divisi per 100.
 
459275:

L'ho fatto bene? if(T1<T2){

Livello0 = il più alto;

Livello100 = il più basso;

}

else{

Livello100 = il più alto;

Livello0 = il più basso;

}

doppio K=il più basso-il più 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;

 
L'ho diviso per 100. Cosa devo fare dopo? E come posso impostare i segnali di questi livelli?
 
459275:
Lo divido per 100. E poi cosa faccio? E come scrivo i segnali di questi livelli?

Nessuno tranne voi sa come lo userete. Per cominciare, bisogna controllare che corrisponda all'originale.

 
Come si fa questo controllo?
Motivazione: