[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 46

 

Hola! Necesito ayuda para rehacer el código. La parte principal del código se adjunta como archivo. El código construye una tabla. He averiguado cómo insertar mis valores en Contenido - contenido de la tabla, pero he intentado sin éxito hacer lo mismo con el color de la fuente.

Por lo tanto, es necesario hacer el control del color del texto como se hace con el Contenido:

   // Готовим массив с содержимым таблицы      
      for(int i=0;i<20;i++)
      {
       for(int j=0;j<2;j++)
       {
        Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);
       }
      }

es decir, más o menos así:

aContentTextColor [i][j] // i, j номер колонки и строки - присваивать им цвет
Archivos adjuntos:
1.mq4  8 kb
 
Kondratiev_A_A:

Hola! Necesito ayuda para rehacer el código. La parte principal del código se adjunta como archivo. El código construye una tabla. He averiguado cómo insertar mis valores en Contenido - contenido de la tabla, pero he intentado sin éxito hacer lo mismo con el color de la fuente.

Y por lo tanto, es necesario hacer un control del color del texto como se hace con el Contenido:

es decir, algo así:

aumentar el número de elementos por "líneas" (por ejemplo, for(int j=0;j<4;j++) y en la declaración de la matriz, también, en consecuencia ) y escribir en el 2 º y 3 º (por número) los códigos de color de los elementos en conveniente para su posterior interpretación

o para un color se puede definir la segunda matriz de la misma dimensión, como para el contenido

 
smshev:

aumentar el número de elementos por "línea" (for(int j=0;j<4;j++) y también en la declaración del array, respectivamente ) y escribir en el 2º y 3º (por número) elementos los códigos de color de forma conveniente para su posterior interpretación

o para el color, puede crear una segunda matriz de las mismas dimensiones que para el contenido

Gracias por la respuesta.

Probado la segunda opción con la adición de la matriz, pero el otro código está atado - trató de cambiar el otro código puramente lógico por analogía con el contenido - errores.

No lo entiendo con la primera variante, pero tengo la sensación de que no funcionará, no será compacto)

 
Kondratiev_A_A:

Gracias por la respuesta.

Probado la segunda opción con la adición de la matriz, pero el otro código está atado - trató de cambiar el otro código puramente lógico por analogía con el contenido - errores.

No lo entiendo con la primera variante, pero siento que no funcionará - no será compacto)

Permítanme explicar la primera variante:

declarar array no, por ejemplo, <cadena Contenido [100][2] >, sino<cadena Contenido [100][3]>, en el procesamiento del bucle además de su cadena <Contenido[i][j]="Columna "+(j+1)+", cadena "+(i+1);>

añada < Contenido[i][j+1]="Verde" > si sólo necesita un color por línea. O ="1", dependiendo de cómo decida codificar los colores allí

 
smshev:

Permítanme explicar la primera opción:

declarar una matriz no, por ejemplo, <cadena Contenido [100][2] >, sino<cadena Contenido [100][3]>, en el bucle de procesamiento además de su cadena<Contenido[i][j]="Columna "+(j+1)+", cadena "+(i+1);>

añada < Contenido[i][j+1]="Verde" > si sólo necesita un color por línea. O ="1", dependiendo de cómo decida codificar los colores allí


Ahora entiendo lo que quiero decir, ¡gracias!
 
Lians:

atztek, pues mira el código, si sabes cómo es el código de la función y está colocado así:

ZS: si la función está en INIT() o DEINIT() puedes probarla sin el código :)

Algunas operaciones que la función puede hacer en deinit no están permitidas en start, etc. (se utiliza varias veces en diferentes partes del código). Pensé que tal vez hay un comando que le permite comprobar.
Y en general, se solucionó añadiendo una variable externa más a la lista de variables de la función.

 
smshev:

Permítanme explicar la primera opción:

declarar una matriz no, por ejemplo, <cadena Contenido [100][2] >, sino<cadena Contenido [100][3]>, en el bucle de procesamiento además de su cadena<Contenido[i][j]="Columna "+(j+1)+", cadena "+(i+1);>

añada < Contenido[i][j+1]="Verde" > si sólo necesita un color por línea. O ="1", dependiendo de cómo decida codificar los colores allí


Lamentablemente no me quedó claro, ¿por qué cambiar el número de columnas de 2 a 3? ¿Y por qué asignar un valor (valor de cadena) a Green? No me queda claro...
 
atztek:

Algunas operaciones que las funciones pueden realizar en deinit no están permitidas en start, etc. (se utiliza varias veces en diferentes partes del código). Pensé que tal vez hay un comando que le permite comprobar.
Y en general, se solucionó añadiendo una variable externa más a la lista de variables de la función.

Es mejor establecer una variable a nivel global, a la que se le debe asignar el valor dependiendo de la función en la que se encuentre el programa. Entonces no hay necesidad de controlar el parámetro pasado a la función del usuario, que es una fuente potencial de errores.
 

Chicos, ¡por favor, aconsejadme!

Necesito que el programa mantenga el SL en diez pips del precio y que al cerrar en el nivel del SL, cambie la orden al contrario. ¿Cómo se puede hacer esto?

 
alsu:
Es mejor definir una variable a nivel global, a la que se le puede asignar un valor dependiendo de la función en la que se encuentre el programa. De esta forma, no es necesario llevar la cuenta del parámetro pasado a la función del usuario, lo que es una fuente potencial de errores.
Es cierto, pero aún así se pueden cometer errores al asignar diferentes valores a una variable global ;-)
Gracias.
Razón de la queja: