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

 
str+="--LoY["+IntegerToString(r)+"]--, "+DoubleToString(LoY[r],4)+", ";
 
ANDREY:

Ho quello che mi serve

LoY[r] = 1,6104---LoY[r] = 1,6105---LoY[r] = 1,6106---LoY[r ] = 1,6107---LoY[r] = 1,6108---LoY[r] = 1,6109---LoY[r] = 1,6110---LoY[r] = 1,6111....

E posso anche chiedere aPrint() di sostituire i valori dell'indice al posto di [r].
Vi sarei molto grato se poteste scrivere un esempio di tale codice invece di spiegarlo a parole.
Grazie per il vostro aiuto.

Questo mi succede solo durante le crisi......... Una crisi mi è già successa oggi, la prossima non succederà tanto presto...

 
Aleksei Stepanenko:

Grazie mille per il vostro aiuto. Il tuo codice è più compatto e quindi lo prendo in considerazione e procedo a studiarlo attentamente per capirlo nei minimi dettagli.

 
Aleksei Stepanenko:

Ho studiato attentamente il vostro codice. Capito ogni singolo personaggio. Non capisco solo i segni + in rosso

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Vi sarei grato se poteste dirmi quale funzione svolgono questi plus e dove leggere a riguardo. Non sono riuscito a trovare informazioni su di loro nel tutorial di Kovalev.
Quando ho rimosso queste opzioni il compilatore mi ha dato degli errori. Purtroppo non sono fluente in inglese, quindi non so cosa volesse dire.

Grazie ancora per il supporto informativo.

 
ANDREY:

Ho studiato attentamente il vostro codice. Capito ogni singolo personaggio. Non capisco solo i segni + in rosso

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Vi sarei grato se poteste dirmi quale funzione svolgono questi plus e dove leggere a riguardo. Non sono riuscito a trovare informazioni su di loro nel libro di testo di Kovalev.
Quando ho rimosso queste opzioni il compilatore mi ha dato degli errori. Purtroppo non sono bravo in inglese, quindi non so cosa volesse dire.

Grazie ancora per il supporto informativo.

Ed ecco le spiegazioni in parole, per favore.........

Se si sommano dei numeri, per esempio 2,3+3,6, lo stesso numero, 5,9, e se si sommano delle stringhe DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), sarà 2.33.6 come stringa.

 

Proprio così, ha detto Alexey, è solo una stringa.

Questo potrebbe essere di vostro interesse:

a+=4; -это тоже самое, что и a=a+4;
по аналогии:
a-=4;
a*=4;
a/=4;

a++; - означает a=a+1;
a--;

 
Alexey Viktorov:

Ma le spiegazioni a parole sono benvenute.........

Se si sommano dei numeri, per esempio 2,3+3,6, sarà lo stesso numero, 5,9, e se si sommano delle stringhe DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) allora sarà 2.33.6 come stringa.

Grazie per il suggerimento.

 
Aleksei Stepanenko:

Proprio così ha detto Alexey, è solo un'infilata.

Questo potrebbe essere di vostro interesse:

Grazie per il suggerimento.

 
Alexey Viktorov:

Ma ecco una spiegazione in parole, per favore.........

Se si sommano dei numeri, per esempio 2,3+3,6, sarà lo stesso numero, 5,9, e se si sommano delle stringhe DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), sarà 2.33.6 come stringa.

Cioè, ad ogni iterazione il valore di LoY["IntegerToString(r)"] è aumentato di 1 e il valore di DoubleToString(LoY[r],4) è aumentato di 1.

Ma l'incremento di 1 non è disposto nel modo in cui sono abituato LoY["IntegerToString(r)"]++; Ma l'incremento di 1 è disposto specialmenteLoY["+IntegerToString(r)+"], cioè la variabile è posta tra i più.

Come dovremmo gestire l'aumento di una variabile stringa di 2 invece che di 1? Normalmente questo incremento è VARIABILE +=2, ma come dovrei formattare l'incremento di 2 nel mio codice?

Inoltre, i valori dei miei elementi dell'array andranno in modo diverso, non strettamente come sono ora. Per esempio, sarà così....

LoY[0]= 1.6104, LoY[1]= 1.6114,LoY[2]= 1.6100,LoY[3]= 1.6120, LoY[4]= 1.6115, LoY[5]= 1.6115, Lo Y [6]= 1.6098,LoY[7]= 1.6085, LoY[8]= 1.6125,..... e così via. In altre parole, questi valori saranno assegnati agli elementi dell'array in un'altra parte del codice e non necessariamente usando un ciclo.
Non credo che si possa visualizzare correttamente una tale sequenza nella funzione Print()
usando le variabili stringa connection......


Grazie per l'aiuto.

 
ANDREY:

Cioè, ad ogni iterazione il valore di LoY["IntegerToString(r)"] è aumentato di 1 e il valore di DoubleToString(LoY[r],4) è aumentato di 1.

Ma l'incremento di 1 non è disposto nel modo in cui sono abituato LoY["IntegerToString(r)"]++; Ma l'incremento di 1 è disposto specialmenteLoY["+IntegerToString(r)+"], cioè la variabile è posta tra i più.

Come dovremmo gestire l'aumento di una variabile stringa di 2 invece che di 1? Normalmente questo incremento è VARIABILE +=2, ma come dovrei formattare l'incremento di 2 nel mio codice?

Inoltre, i valori dei miei elementi dell'array andranno in modo diverso, non strettamente come sono ora. Per esempio, sarà così....

LoY[0]= 1.6104, LoY[1]= 1.6114,LoY[2]= 1.6100,LoY[3]= 1.6120, LoY[4]= 1.6115, LoY[5]= 1.6115, Lo Y [6]= 1.6098,LoY[7]= 1.6085, LoY[8]= 1.6125,..... e così via. In altre parole, questi valori saranno assegnati agli elementi dell'array in un'altra parte del codice e non necessariamente usando un ciclo.
Non credo che si possa visualizzare correttamente una tale sequenza nella funzione Print()
usando le variabili stringa connection......


Grazie per il vostro aiuto.

Le funzioni IntegerToString() e DoubleToString() rappresentano semplicemente un numero come una stringa che viene passata nella funzione. Ecco un esempio

Questo è esattamente il punto in cui il numero r viene convertito in una stringa e le stringhe vengono "aggiunte". Ma prima che il valore di r cambi.

Non ho capito bene la domanda, ma se volete selezionare solo gli elementi pari dell'array, il ciclo dovrebbe essere costruito così

for(int i = 0; i <= 30; i+=2)