Riporta un errore array fuori portata in '**.mq5' (13,10) Se sostituisco la stringa double buf[]; con double buf[10]; allora non c'è uscita fuori dall'array.
riporta un errore array out of range in '**.mq5' (13,10) se sostituisco la stringa double buf[]; con double buf[10]; allora non c'è nessuna uscita di array.
O doppio buf[10];
O doppio buf[];, ma poi necessariamente ArrayResize(buf,10);
O doppio buf[];, ma poi obbligatorio ArrayResize(buf,10);
Grazie.
posso spiegare un'altra cosa?
Cioè, se inizializzo un array e poi lo riempio nel ciclo, la sua dimensione crescerà ad ogni iterazione, e dovrò ridefinire la sua dimensione? Pensavo che questo fosse fatto automaticamente, non importa quanti elementi vi aggiungo.
Se lo riempio immediatamente con un certo numero di elementi, non devo fare questa procedura.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
Cioè, se inizializzo un array e poi lo riempio nel ciclo, la sua dimensione crescerà ad ogni iterazione, e dovrò ridefinire la sua dimensione? Pensavo che fosse fatto automaticamente, non importa quanti elementi vi aggiungo.
e se lo riempio immediatamente con un certo numero di elementi, non devo fare una tale procedura.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
La funzione CopyXXXX() sovrascrive automaticamente la dimensione dell'array passato in essa.
Se si compila l'array da soli, se è dinamico, allora sta al programmatore assicurarsi che sia della giusta dimensione.
Potete, quando dichiarate un array, renderlo
un array dinamico, nel qual caso sta a voi ridefinire la sua dimensione.
non dinamico: buff[5] - in questo caso è necessario inizializzarlo con i giusti valori
non dinamico: buff[]={10,20,30,40,50}; - in questo caso è inizializzato con i valori alla dichiarazione
Chi sa cosa significano i numeri nel grafico della corsa nell'ottimizzazione genetica? Ci sono due numeri, per esempio 0,637 o 7,27. E come scegliere la corsa giusta. Per esempio, sono interessato alla corsa numero 5381. Come sceglierlo?
Come faccio a sapere perché questo costrutto non funziona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
Se sostituisco la stringa double buf[]; con double buf[10]; allora non c'è uscita fuori dall'array.
Puoi dirmi perché questa costruzione non funziona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
se sostituisco la stringa double buf[]; con double buf[10]; allora non c'è nessuna uscita di array.
O doppio buf[10];
O doppio buf[];, ma poi necessariamente ArrayResize(buf,10);
O doppio buf[10];
O doppio buf[];, ma poi obbligatorio ArrayResize(buf,10);
Grazie.
posso spiegare un'altra cosa?
Cioè, se inizializzo un array e poi lo riempio nel ciclo, la sua dimensione crescerà ad ogni iterazione, e dovrò ridefinire la sua dimensione? Pensavo che questo fosse fatto automaticamente, non importa quanti elementi vi aggiungo.
Se lo riempio immediatamente con un certo numero di elementi, non devo fare questa procedura.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
Grazie.
Posso essere più chiaro?
Cioè, se inizializzo un array e poi lo riempio nel ciclo, la sua dimensione crescerà ad ogni iterazione, e dovrò ridefinire la sua dimensione? Pensavo che fosse fatto automaticamente, non importa quanti elementi vi aggiungo.
e se lo riempio immediatamente con un certo numero di elementi, non devo fare una tale procedura.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
La funzione CopyXXXX() sovrascrive automaticamente la dimensione dell'array passato in essa.
Se si compila l'array da soli, se è dinamico, allora sta al programmatore assicurarsi che sia della giusta dimensione.
Potete, quando dichiarate un array, renderlo
La funzione CopyXXXX() sovrascrive automaticamente la dimensione dell'array passato ad essa.
Se stai riempiendo l'array da solo, se è dinamico, è compito del programmatore assicurarsi che sia della giusta dimensione.
Potete, quando dichiarate un array, renderlo
chi sa qual è il segno tra le parentesi?GHPR=(BalanceClose/BalanceOpen)^(1/N)
L'operazione bitwise è un OR esclusivo.
Davvero? Davvero?
Ho sempre pensato che(^) fosse un'esponenziazione.
chi sa qual è il segno tra le parentesi?GHPR=(BalanceClose/BalanceOpen)^(1/N)