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

 
Siguiendo el ejemplo de MT4 "STRINGS: ASCII CHARACTERS TABLE AND USE"

//+------------------------------------------------------------------+
//| StringLowerCase |
//+------------------------------------------------------------------+
string StringLowerCase(string str)
  {
   string s = str;
   int lenght = StringLen(str) - 1, symbol;
   while(lenght >= 0)
     {
      symbol = StringGetChar(s, lenght);
      if((symbol > 64 && symbol < 91) || (symbol > 191 && symbol < 224))
         s = StringSetChar(s, lenght, symbol + 32);// тут possible loss of data due to type conversion
      else
         if(symbol > -65 && symbol < -32)
            s = StringSetChar(s, lenght, symbol + 288);// тут possible loss of data due to type conversion
      lenght--;
     }
   return(s);
  }
//+------------------------------------------------------------------+
//| StringUpperCase |
//+------------------------------------------------------------------+
string StringUpperCase(string str)
  {
   string s = str;
   int lenght = StringLen(str) - 1, symbol;
   while(lenght >= 0)
     {
      symbol = StringGetChar(s, lenght);
      if((symbol > 96 && symbol < 123) || (symbol > 223 && symbol < 256))
         s = StringSetChar(s, lenght, symbol - 32);// тут possible loss of data due to type conversion
      else
         if(symbol > -33 && symbol < 0)
            s = StringSetChar(s, lenght, symbol + 224);// тут possible loss of data due to type conversion
      lenght--;
     }
   return(s);
  }

Si no te importa, por favor ayúdame a arreglarlo...
 
Artyom Trishkin:

El ciclo debe invertirse. De lo contrario, se preguntará por qué no funciona correctamente

No sé qué significa eso.
 
MakarFX:
No entiendo qué significa esto...

Al borrar, la numeración se desplaza si de menor a mayor indexación, y al invertir el bucle, se borra el último elemento.

Cuando se desplaza la numeración del índice, pueden producirse errores de borrado. El índice del 3er elemento se convertirá en el segundo elemento, y el segundo elemento ya está borrado.

 
Valeriy Yastremskiy:

Al borrar, la numeración se desplaza si de menor a mayor indexación, y al invertir el bucle, se borra el último elemento.

Cuando se desplaza la numeración del índice, pueden producirse errores de borrado. El índice del tercer elemento se convertirá en el segundo y el segundo elemento ya está borrado.

¿Debo hacer esto?

for(int a = ObjectsTotal()-1; a>=0; a--)

 
MakarFX:

¿Tengo que hacer esto?


Sí.

 
Valeriy Yastremskiy:

Sí.

Gracias
 
Alekseu Fedotov:

Hazlo:

Y revisa la ayuda más a menudo.

Alexey, muchas gracias por tu ayuda - he empezado mi máquina del grial))))))))))))))))) pero creo que volveré aquí más de una vez para pedir consejo

 
Nataliia Darsavelidze:
En la configuración del gráfico hay una opción "mostrar el historial de operaciones". ¿Cómo se implementa en el código? No puedo eliminarlo mediante programación. ¿Cómo está usted?

La cuestión está abierta.

 
Nataliia Darsavelidze:

La cuestión está abierta.

La pregunta parece ser sobre MT5. La respuesta es: no de forma programada. La pregunta puede cerrarse.

 
Nataliia Darsavelidze:

La cuestión está abierta.

No he oído hablar de la opción, no la he visto.

Pero es posible hacer un programa (script, experto, indicador)

Razón de la queja: