Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1012

 
MGSMGS:
Ciao, potresti dirmi se è possibile convertire il valore di una variabile di testo nel nome di un'altra variabile. O confrontare il testo di una variabile con il nome di un'altra variabile. e allora?)) grazie in anticipo

In MQL non si può.

ZZY Se è qualcosa del genere, si può. Enum al salvataggio.

 
MGSMGS:
Ciao, potresti dirmi se è possibile convertire il valore di una variabile di testo nel nome di un'altra variabile. O confrontare il testo di una variabile con il nome di un'altra variabile.
È possibile, se la variabile è globale. GlobalVariableSet()
 
Buona giornata, colleghi! Sto lottando con questo da una settimana, ho aggiunto codici già pronti agli scope, ma anche se li compilo senza errori, ancora non funzionano nel tester, ho cercato dappertutto su internet! Penso che l'expert advisor non sia male se sintonizzato correttamente, posso stringere il profitto con i trailing stop, per favore aiutatemi, mi sto bollendo il cervello)) Non ho idea di cosa farci.
 
AlexeyVik:

Per favore, cercate di mantenere le vostre domande all'interno di questo thread.

E leggete attentamente tutta la documentazione, vi ricorderete che la funzione di cui avete bisogno è lì. Tutto quello che dovete fare è trovarlo. Ecco ArrayFree.


Grazie per la vostra risposta. La funzioneArrayFree è progettata per lavorare con array dinamici, come scritto nella documentazione, e io ho chiesto array statici.
 
i999i:
Grazie per la vostra risposta. La funzioneArrayFree è progettata per lavorare con gli array dinamici, come scritto nella documentazione, e io ho chiesto degli array statici.
Bene, gli array statici si riservano la memoria immediatamente, indipendentemente dal fatto che abbiano dati o meno. Se c'è bisogno di liberare memoria, dovreste usare array dinamici, non statici.
 
AlexeyVik:
Gli array statici si riservano la memoria immediatamente, indipendentemente dal fatto che contengano dati o meno. Se c'è la necessità di liberare memoria, allora si dovrebbero usare gli array dinamici, non quelli statici.
Quando si esce da una funzione, gli array dinamici funzionano come variabili locali o bisogna usare la funzione ArrayFree?
 
i999i:
Quando si esce da una funzione, gli array dinamici funzionano come variabili locali o è ancora necessario usare la funzione ArrayFree?
Se l'array è dichiarato localmente, non ha bisogno di nulla. Ma se i dati dell'array sono usati in diverse funzioni, l'array deve essere globale, e quindi, prima di cambiare sia la dimensione che il valore dell'array, a volte è meglio "cancellarlo" e riempirlo di nuovo. Oppure, come nella tua domanda, se pensi che l'array non sarà più utilizzato, nulla ti impedisce di liberartene.
 
AlexeyVik:
Se l'array è dichiarato localmente, non ha bisogno di nulla. Ma se i dati dell'array sono usati in diverse funzioni, allora l'array deve essere globale, e poi, prima di cambiare sia la dimensione che i valori dell'array, a volte è meglio "cancellarlo" e riempirlo di nuovo. Oppure, come nella tua domanda, se pensi che l'array non sarà più utilizzato, nulla ti impedisce di liberartene.
Grazie per le risposte, ora tutto ha senso.
 

Ciao, nella riga qui sotto ho ottenuto l'errore"array out of range". Potete aiutarmi a rendere questa linea corretta?

rs=  High[iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1)];
 
abeiks:

Ciao, nella riga qui sotto ho ottenuto l'errore "array out of range". Potete aiutarmi a rendere questa linea corretta?

In High[], le parentesi quadre [ ] devono contenere un intero - l'indice della candela nel grafico, mentre il risultato iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) è il valore massimo di una candela con indice 1 e sarà un numero reale di tipo double in 99,999... %. In generale, questo disco da solo non è molto chiaro cosa dovrebbe fare.
Motivazione: