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

 
Compagni!

È necessario emettere l'indicatore in segmenti.
È auspicabile cancellare il buffer, in modo da non visualizzare dati vecchi sul grafico.

Il problema è:
1. Non puoi cancellare l'array, apparirà un errore (fuori portata).
2. Quando si azzerano i dati di conseguenza, il grafico striscia fino a zero.

Consigli su quale direzione scavare. Grazie.
 
Ciao, l'indicatore in ex4 è molto intenso per la CPU, se faccio un indicatore che tira i suoi buffer non su ogni tick ma (in uno, due) e lo metto al posto di ex4 aiuterà il processore?
 
Андрей:
L'indicatore in ex4 mette molto carico sul processore, se faccio un indicatore che tira i suoi buffer non su ogni tick ma (in uno, due) e lo metto al posto di ex4 aiuterà il processore?
Io sceglierei due approcci:
- O lavorare con il buffer su una nuova barra;
- o aggiornare il buffer su un periodo di tempo limitato.
 
terentjew23:
Io adotterei due approcci:
- O lavorare con il buffer su una nuova barra;
- o aggiornare il buffer su un periodo di tempo limitato.
Io sceglierei la terza opzione. Io butterei via un tale indicatore in modo che nessuno possa mai trovarlo.
 
terentjew23:
Compagni!

È necessario emettere l'indicatore in segmenti.
È auspicabile cancellare il buffer, in modo da non visualizzare dati vecchi sul grafico.

Il problema è:
1. non puoi cancellare l'array, esce un errore (fuori portata).
2. Quando i dati sono azzerati, di conseguenza il grafico striscia fino a zero.

Consigli su quale direzione scavare. Grazie.
Prova a mettere EMPTY_VALUE invece di zero
 

Ho inserito indicatori e consiglieri

int init()
  {
   if(Digits==5){if(Close[0]>1)plus=0.00003; else plus=0.00002;}
   if(Digits==3){if(Close[0]>100)plus=0.003; else plus=0.002;}
}


void start()
  {
   if(time0!=Time[0]){ time0=Time[0]; hig=0; loww=1000;} 


   if((High[0]>hig)||(Low[0]<loww))  {hig=High[0]+plus; loww=Low[0]-plus;

код здесь, поскольку интересуют пиковые моменты индикаторов

хочу так
буфер_0=iCustom(NULL,0,"1rd",1,0);


}
 
Alexey Viktorov:
Prova a mettere EMPTY_VALUE invece di zero
Grazie, mi ha aiutato.
 

come farlo:

diciamo che ho un saldo del conto di 5800

se (5800)\2000= (in questo caso dovrebbe uscire 2, tutte le frazioni vengono scartate, abbiamo bisogno delle funzioni stesse per tale elaborazione)

 
trader781:
proprio come 1800\2000=1
No. Sarà 0.
 
Alexey Kozitsyn:
No. Sarà 0.
Ho cancellato quella parte perché dovrò farlo separatamente.
Motivazione: