Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho provato a dichiarare un array a livello globale (codice mql4)
riempire l'inite
Se non impostato all'inizio, stampa la data 1971, cioè l'array è vuoto
Se riempio l'array all'inizio, i valori appaiono. Può essere la ragione, che l'array è reinizializzato datetaime, ma senza di esso il codice non compila?
L'array scompare. Cosa sto facendo di sbagliato?
Qui ho un'idea, se anche qualcuno ne ha bisogno. Ho copiato un array in un altro.
Ecco un'idea, se anche qualcuno ne ha bisogno. Copiare una matrice in un'altra.
A cosa serve questo?
La domanda originale era che l'array non sarebbe stato ricalcolato nelle successive iterazioni di ottimizzazione. Ora è semplicemente riempito e copiato nell'altro. Non servirà a niente. Immagino che questo array T[40] sia rappresentato in questo modo solo a scopo illustrativo, mentre in realtà dovrebbe essere calcolato e riempito in modo sequenziale. Ogni prossima ottimizzazione ricalcolerà questo array come prima, l'unica differenza è che è organizzato in modo diverso.
A cosa serve?
La domanda originale era che l'array non sarebbe stato ricalcolato nelle successive iterazioni di ottimizzazione. E ora è semplicemente riempito e copiato in un altro. Non servirà a niente. Immagino che questo array T[40] sia rappresentato in questo modo solo a scopo illustrativo, mentre in realtà dovrebbe essere calcolato e riempito in modo sequenziale. Ad ogni successiva esecuzione di ottimizzazione, questa matrice sarà ricalcolata come lo era prima, con l'unica differenza che è disposta in modo diverso.
L'array dichiarato attraverso le parentesi graffe non è stato salvato; non poteva essere dichiarato globalmente e poi riempito nell'inite (l'array non è stato salvato all'interno di una corsa).
Tra un'iterazione e l'altra dell'ottimizzazione, come ho capito, l'array non viene salvato, cioè il programma resetta tutto ciò che era.
L'array dichiarato con le parentesi graffe non è stato salvato, non poteva essere dichiarato globalmente e poi riempito nell'inite (l'array non è stato salvato in una corsa).
Tra un'iterazione e l'altra dell'ottimizzazione, come ho capito, l'array non viene salvato, cioè il programma resetta tutto ciò che era.
E se l'array è riempito in questo modo, puoi anche elencare tutti gli elementi tra parentesi graffe a livello globale. qualcosa che non capisco il senso di questa magia...
Potresti farlo su un globale. Ma non mi piaceva l'idea di costruirci sopra una torre di diverse migliaia di elementi).
Grazie a Dio tutto è andato come volevi tu.
La velocità è aumentata?
Grazie a Dio tutto è andato come volevi tu.
La velocità è aumentata?
Non ho creato un nuovo argomento.
Ora sto cercando di fare quanto segue: c'è un array con primo valore data, secondo e terzo numero doppio. Ho bisogno di ordinare l'array per data, ma voglio che il secondo e il terzo valore siano legati alla data.
Poi ho intenzione di raggruppare diversi array in uno solo e ordinarli per data.
Ho provato in questo modo, ma per quanto ho capito, l'ordinamento viene eseguito per indice dell'array, cioè per i.
m[i][0]=Data;
m[i][1]=f1;
m[i][2]=f2;
Non ho creato un nuovo argomento.
Ora sto cercando di fare quanto segue: c'è un array con primo valore data, secondo e terzo numero doppio. Ho bisogno di ordinare l'array per valore di data, ma avere il secondo e il terzo valore legati alla data.
...
Guarda qui:https://www.mql5.com/ru/forum/42036
È soprattutto sulle classi, che per me sono una foresta oscura. Ma alcuni pensieri sono venuti fuori. Fate un array con date e numeri separatamente. Solo, come ottenere il numero di indice dove sono le date dopo l'ordinamento, cioè ottenere la i che è nella seconda dimensione?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;