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

 
Seguito l'esempio 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);
  }

Se non ti dispiace, per favore aiutami a sistemarlo...
 
Artyom Trishkin:

Il ciclo deve essere invertito. Altrimenti ci saranno domande sul perché non funziona correttamente

Non so cosa significhi.
 
MakarFX:
Non capisco cosa significa questo?

Quando si cancella, la numerazione viene spostata da un'indicizzazione minore a una maggiore, e quando si inverte il ciclo, viene cancellato l'ultimo elemento.

Quando la numerazione dell'indice è spostata, possono verificarsi errori di cancellazione. L'indice del terzo elemento diventerà il secondo elemento, e il secondo elemento è già cancellato.

 
Valeriy Yastremskiy:

Quando si cancella, la numerazione viene spostata da un'indicizzazione minore a una maggiore, e quando si inverte il ciclo, viene cancellato l'ultimo elemento.

Quando la numerazione dell'indice è spostata, possono verificarsi errori di cancellazione. L'indice del terzo elemento diventerà il secondo e il secondo elemento è già cancellato.

Devo farlo?

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

 
MakarFX:

Devo fare questo?


Sì.

 
Valeriy Yastremskiy:

Sì.

Grazie
 
Alekseu Fedotov:

Fallo:

E controlla più spesso l'aiuto.

Alexey, grazie mille per il tuo aiuto - ho iniziato la mia grail machine))))))))))))))))) ma penso che tornerò qui più di una volta per consigli

 
Nataliia Darsavelidze:
Nelle impostazioni del grafico c'è un'opzione "mostra la storia del trading". Come è implementato nel codice? Non posso rimuoverlo programmaticamente. Come va?

La questione è aperta.

 
Nataliia Darsavelidze:

La questione è aperta.

La domanda sembra riguardare MT5. La risposta è: non programmaticamente. La questione può essere chiusa.

 
Nataliia Darsavelidze:

La questione è aperta.

Non ho sentito parlare dell'opzione, non l'ho vista.

Ma è possibile fare un programma (script, esperto, indicatore)