Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1412

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

Tengo lo que necesito

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....

Y también puedo pedirle aPrint() que sustituya los valores del índice en lugar de [r].
Te agradeceré mucho que escribas un ejemplo de dicho código en lugar de explicarlo con palabras.
Gracias por su ayuda.

Esto sólo me sucede durante las convulsiones......... Hoy ya me ha sucedido una convulsión, la próxima no sucederá pronto...

 
Aleksei Stepanenko:

Muchas gracias por su ayuda. Tu código es más compacto, por lo que lo asumo y procedo a estudiarlo detenidamente para entenderlo con gran detalle.

 
Aleksei Stepanenko:

He estudiado cuidadosamente su código. Entendí cada uno de los personajes. No entiendo sólo los signos + en rojo

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Te agradecería que me dijeras qué función realizan estos pluses y dónde leer sobre ellos. No he podido encontrar información sobre ellos en el tutorial de Kovalev.
Cuando eliminé estas opciones el compilador me dio algunos errores. Desgraciadamente no se me da bien el inglés, así que no sé qué quiso decir con eso.

Gracias de nuevo por el apoyo informativo.

 
ANDREY:

He estudiado cuidadosamente su código. Entendí cada uno de los personajes. No entiendo sólo los signos + en rojo

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Te agradecería que me dijeras qué función realizan estos pluses y dónde leer sobre ellos. No pude encontrar información sobre ellos en el libro de Kovalev.
Cuando eliminé estas opciones el compilador me dio algunos errores. Desgraciadamente no se me da bien el inglés, así que no sé qué quiso decir con eso.

Gracias de nuevo por el apoyo informativo.

Y aquí están las explicaciones en palabras, por favor.........

Si se suman números, por ejemplo 2,3+3,6, el mismo número, 5,9, y si se suman cadenas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), será 2.33.6 como cadena.

 

Eso es lo que ha dicho Alexei, es solo encadenar.

Esto podría ser de su interés:

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

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

 
Alexey Viktorov:

Pero las explicaciones con palabras son bienvenidas.........

Si sumas números, por ejemplo 2,3+3,6, será el mismo número, 5,9, y si sumas cadenas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) entonces será 2.33.6 como cadena.

Gracias por el consejo.

 
Aleksei Stepanenko:

Eso es lo que ha dicho Alexey, es solo encadenar.

Esto podría ser de su interés:

Gracias por el consejo.

 
Alexey Viktorov:

Pero aquí hay una explicación en palabras, por favor.........

Si sumas números, por ejemplo, 2,3+3,6, será el mismo número, 5,9, y si sumas cadenas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), será 2.33.6 como cadena.

Es decir, en cada iteración el valor de LoY["IntegerToString(r)"] se incrementa en 1 y el valor de DoubleToString(LoY[r],4) se incrementa en 1.

Pero elincremento por 1 no está dispuesto de la forma en que estoy acostumbradoLoY["IntegerToString(r)"]++; Pero el incremento por 1 está dispuesto especialmenteLoY["+IntegerToString(r)+"], es decir, la variable está colocada entre pluses.

¿Cómo debemos manejar el aumento de una variable de cadena por 2 en lugar de 1? Normalmente este incremento es VARIABLE +=2, pero ¿cómo debo formatear el incremento por 2 en mi código?

Además, los valores de los elementos de mi matriz irán de otra manera, no estrictamente como ahora. Por ejemplo, será así....

LoY[0]= 1,6104, Lo Y [1]= 1,6114, LoY[2]= 1,6100, LoY[3]= 1,6120, LoY[4]= 1,6115, Lo Y[ 5]= 1,6115, Lo Y [6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... y así sucesivamente. En otras palabras, estos valores se asignarán a los elementos del array en una parte diferente del código y no necesariamente utilizando un bucle.
No creo que podamos mostrar correctamente una secuencia de este tipo en la función Print()
utilizando variables de cadena conexión......


Gracias por la ayuda.

 
ANDREY:

Es decir, en cada iteración el valor de LoY["IntegerToString(r)"] se incrementa en 1 y el valor de DoubleToString(LoY[r],4) se incrementa en 1.

Pero elincremento por 1 no está dispuesto de la forma en que estoy acostumbradoLoY["IntegerToString(r)"]++; Pero el incremento por 1 está dispuesto especialmenteLoY["+IntegerToString(r)+"], es decir, la variable está colocada entre pluses.

¿Cómo debemos manejar el aumento de una variable de cadena por 2 en lugar de 1? Normalmente este incremento es VARIABLE +=2, pero ¿cómo debo formatear el incremento por 2 en mi código?

Además, los valores de los elementos de mi matriz irán de otra manera, no estrictamente como ahora. Por ejemplo, será así....

LoY[0]= 1,6104, Lo Y [1]= 1,6114, LoY[2]= 1,6100, LoY[3]= 1,6120, LoY[4]= 1,6115, Lo Y[ 5]= 1,6115, Lo Y [6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... y así sucesivamente. En otras palabras, estos valores se asignarán a los elementos del array en una parte diferente del código y no necesariamente utilizando un bucle.
No creo que podamos mostrar correctamente una secuencia de este tipo en la función Print()
utilizando variables de cadena conexión......


Gracias por su ayuda.

Las funciones IntegerToString() y DoubleToString() sólo representan un número como una cadena que se pasa a la función. He aquí un ejemplo

Aquí es exactamente donde el número r se convierte en una cadena y las cadenas se "suman". Pero antes el valor de r cambia.

No entiendo muy bien la pregunta, pero si quieres seleccionar sólo los elementos pares del array, el bucle debería construirse así

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


Razón de la queja: