Voglio dire y=3
Sembra ancora che restituisca solo un risultato: "3".
return(3);
?
Basta trovare il passaggio di parametri per riferimento nella guida di mql4:
Generalmente passare per riferimento significa che si passa una variabile reale nella funzione dall'esterno (usando &) e si può cambiare il suo valore all'interno della funzione e quella variabile sarà ancora lì quando si torna indietro dalla chiamata.
Quindi int x imposta il valore a 0.
all'interno della funzione impostate x=5
quando tornate dalla funzione x=5 come impostato dalla funzione, quindi avete dato il vostro secondo risultato dalla funzione senza restituire 2 risultati.
Le funzioni non restituiscono mai 2 risultati, solo uno.
OK, grazie, irusoh1
Quello che manca nella spiegazione di irusoh1 è che la variabile deve essere Array(s). E piuttosto il ritorno non gioca un ruolo nel riempire/modificare gli array, ma invece lo modifica direttamente come necessario.
int Xarray[]; int Yarray[]; void Fun2result(int& Array[], int& Brray[], int pos) { Array[pos] = 2 + pos; Brray[pos] = 5 + pos; } int start() { for(i=Bars-1; i>=0; i--) Fun2result(Xarray, Yarray, i); }
Buona fortuna.
non ha bisogno di essere un array
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ho bisogno di restituire 2 risultati da una funzione. Posso separarli e creare una funzione per ogni risultato di cui ho bisogno, ma è un sacco di codice in più e rende altre cose più complicate. È possibile con MT4?