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

 
Artyom Trishkin:

La prima cosa da vedere (tutto in stile "forse") è ciò che vi ritorna

Lo controlla da qualche parte?

E nell'aiuto?

Sei sicuro che stai ricevendo l'indice?

Lo controllo, ma c'è ancora un errore da qualche parte, non cambia nulla.

close[i+1] <Low[iLowest(NULL,0,MODE_LOW,10,2)]&&iLowest(NULL,0,MODE_LOW,10,2)>0

 
Ghabo:

Controllo, c'è ancora un errore da qualche parte, non cambia nulla.


Come questo.

iLowest(NULL,0,MODE_LOW,10,i+2)

cerca di trovare l'indice del valore più piccolo.

Lo stai facendo girare in loop, vero?

 
Alekseu Fedotov:

Come questo.

cerca di trovare l'indice del valore più piccolo.

Lo stai facendo girare in loop, vero?

Ecco dove il cane è al lavoro) grazie.

 
Ghabo:

inserire all'inizio del codice

Purtroppo, dopo queste parole appaiono 10 errori e 200 avvertimenti((((.

Si compila bene.

 
Lomonosov1991:

Sfortunatamente dopo questi messaggi appariranno 10 errori e 200 avvertimenti((.

Ma si compila bene

Correggete questi errori - vi dicono che il programma non è scritto correttamente - per sicurezza.

 
Alekseu FedotovCome questo.

La freccia non è impostata in tempo reale, ma lo è quando le impostazioni vengono richiamate.

  {
//---
   if(rates_total<2) return(0);
   int limit=rates_total-prev_calculated;
   if(limit>2)
     {
      limit=rates_total-2;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   for(int i=limit-2; i>=0; i--)
     {
      if(
         close[i+1] <low[iLowest(NULL,0,MODE_LOW,10,i+2)]&&iLowest(NULL,0,MODE_LOW,10,i+2)>0
         )
        {
         BufferUP[i+1]=low[i+1];
        }
     }

   return(rates_total);
  }

Perché?

 
Ghabo:

La freccia non è impostata in tempo reale, ma lo è quando le impostazioni vengono richiamate.

Perché?

if(limit>1)
 

Compagni, forse non capisco qualcosa - e così dovrebbe essere nel tester per un modello pre-preparato, modifico il valore dell'indicatore PCI al lato superiore, cioè indico 40.


Durante ulteriori test, il suo valore rimane a 14 per impostazione predefinita.


È normale che sia così? È davvero necessario salvare di nuovo il modello con il valore attuale per il test ogni volta?

 
Non riesco a capire come risolvere l'errore dell'identificatore non dichiarato
File:
 
Lomonosov1991:
Non riesco a capire come risolvere l'errore dell'identificatore non dichiarato

mettere static prima di double o dichiarare un passo sopra / globalmente.

Se qualcosa è dichiarato dentro { }, allora fuori "scompare".