Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1327

 
Folgen Sie dem MT4 Beispiel "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);
  }

Wenn es Ihnen nichts ausmacht, helfen Sie mir bitte, es zu reparieren...
 
Artyom Trishkin:

Der Kreislauf muss umgekehrt werden. Andernfalls wird es Fragen geben, warum es nicht richtig funktioniert.

Ich weiß nicht, was das bedeutet.
 
MakarFX:
Ich verstehe nicht, was das bedeutet.

Beim Löschen wird die Nummerierung von der kleineren zur größeren Indizierung verschoben, und bei der Rückwärtsschleife wird das letzte Element gelöscht.

Wenn die Indexnummerierung verschoben wird, können Löschfehler auftreten. Der Index des dritten Elements wird zum zweiten Element, und das zweite Element ist bereits gelöscht.

 
Valeriy Yastremskiy:

Beim Löschen wird die Nummerierung von der kleineren zur größeren Indizierung verschoben, und bei der Rückwärtsschleife wird das letzte Element gelöscht.

Wenn die Indexnummerierung verschoben wird, können Löschfehler auftreten. Der Index des dritten Elements wird zum zweiten, und das zweite Element ist bereits gelöscht.

Soll ich das tun?

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

 
MakarFX:

Muss ich das wirklich tun?


Ja.

 
Valeriy Yastremskiy:

Ja.

Dankeschön
 
Alekseu Fedotov:

Tun Sie das:

Und schauen Sie öfters in die Hilfe.

Alexey, vielen Dank für deine Hilfe - ich habe meine Gralsmaschine))))))))))))))))) gestartet, aber ich denke, ich werde mehr als einmal hierher zurückkommen, um Rat zu holen

 
Nataliia Darsavelidze:
Hallo! In den Chart-Einstellungen gibt es eine Option "Handelsverlauf anzeigen". Wie wird sie im Code umgesetzt? Ich kann sie nicht programmatisch entfernen. Wie geht es Ihnen?

Die Frage ist offen.

 
Nataliia Darsavelidze:

Die Frage ist offen.

Die Frage scheint sich auf MT5 zu beziehen. Die Antwort lautet: Nicht programmatisch. Die Frage kann abgeschlossen werden.

 
Nataliia Darsavelidze:

Die Frage ist offen.

Ich habe weder von dieser Option gehört noch sie gesehen.

Es ist jedoch möglich, ein Programm (Skript, Experte, Indikator) zu erstellen

Grund der Beschwerde: