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

 
законопослушный гражданин:

Ich stelle wie folgt ein:

1. ich klicke einmal auf den Schieberegler, dann kann die Maus bewegt werden, die Hauptsache ist, dass man nicht in andere Bereiche klickt

2. ich stelle sie durch Drücken der Pfeile auf der Tastatur ein - schneller langsamer

P.S., zum eingebauten MT4-Strategie-Tester

Es wäre ein Märchen, wenn man auf ein Diagramm klicken könnte und die Wirkung der Hotkeys nicht zurückgesetzt würde. Aber besser als nichts
 

Es hat sich eine Frage ergeben. Ist es sinnvoll, statische Variablen im globalen Bereich zu deklarieren?

In der lokalen verstehe ich, keine Sichtbarkeit außerhalb des Funktionskörpers und Speichern von Werten des vorherigen Aufrufs.

Und was wäre der Sinn einer globalen Lösung?

 
Valeriy Yastremskiy:

Es hat sich eine Frage ergeben. Ist es sinnvoll, statische Variablen im globalen Bereich zu deklarieren?

In der lokalen verstehe ich, keine Sichtbarkeit außerhalb des Funktionskörpers und Speichern von Werten des vorherigen Aufrufs.

Und was wäre der Sinn einer globalen Lösung?

Nur wenn sie in verschiedenen Funktionen geändert werden kann

 
MakarFX:

Nur wenn es in verschiedenen Funktionen wechseln kann

Ich verstehe es nicht) Die globale Variable ändert sich auch in verschiedenen Funktionen. Die stat.variable unterscheidet sich in diesem Fall nicht von der üblichen globalen Variable. Und der Speicher befindet sich im globalen Pool. Aus der Referenz:

Variablen

Es gibt drei Speicherklassen: static, input und extern. Diese Speicherklassenmodifikatoren teilen dem Compiler ausdrücklich mit, dass die entsprechenden Variablen in einem vordefinierten Speicherbereich, dem so genannten globalen Pool, zugewiesen werden.

Manchmal stoße ich im Code auf statische Variablen, die im globalen Bereich deklariert sind. Ich kann die Logik der Autoren nicht verstehen.

 
Valeriy Yastremskiy:

Ich verstehe es nicht) Global ändert sich auch in verschiedenen Funktionen. In diesem Fall unterscheidet sie sich nicht von einer normalen globalen Variablen. Und der Speicher befindet sich im globalen Pool. Aus der Referenz:

Variablen

Es gibt drei Speicherklassen: static, input und extern. Diese Speicherklassenmodifikatoren teilen dem Compiler ausdrücklich mit, dass die entsprechenden Variablen in einem vordefinierten Speicherbereich, dem so genannten globalen Pool, zugewiesen werden.

Manchmal stoße ich im Code auf statische Variablen, die im globalenBereich deklariert sind. Ich kann die Logik der Autoren nicht verstehen.

Ja, Sie haben Recht, und es gibt keine Logik. So sieht es auch der Autor des Codes.

Mein vorheriger Beitrag war nicht durchdacht.

 

Valeriy Yastremskiy:

Ich verstehe die Logik der Autoren nicht.

Es gibt keine Logik, nur Schizophrenie. Der Ausdruck "butterweiches Öl" ist so eine höfliche Definition von "Schizophrenie".

 
MakarFX:

Ja, Sie haben Recht, und es gibt keine Logik. So sieht es der Autor des Codes.

Alexey Viktorov:

Es gibt keine Logik, nur Schizophrenie. Der Ausdruck "eingeölt" ist eine sehr höfliche Definition von "Schizophrenie".

Danke, manchmal ist es schwer, die Logik des Autors durch den Code zu finden))))

 
MakarFX:
ja

Könnten Sie mich bitte beraten

Rückgabe des Startloses -Lot, (um den nächsten Auftrag zu eröffnen), nach der Ausführung dieses Teils der Funktion:

if(GetProfitFromStart()>CountProfit || GetProfitFromStart()<CountLoss*-1)
     {
      if (IsTesting()) 
        {
         CloseOrder(); ObjectSetInteger(0,"lab_Button",OBJPROP_STATE,false);
        }
      else
        {
         CloseOrder();
        }
     }
Dateien:
 
законопослушный гражданин:

Könnten Sie mich bitte beraten

wie man nach der Ausführung dieses Teils der Funktion das Ausgangslos -Lot zurückgibt (um den nächsten Auftrag zu eröffnen):

nach

CloseOrder();
hinzufügen.
Start = TimeCurrent();
 

mit static in mql läuft alles und ist mit Fehlern behaftet. Der Code wird immer als Ganzes gebaut/kompiliert, ohne Zwischenobjekte, und die Angabe von static ist nur ein Tribut an die Tradition.

Wenn man statisch in mql verwendet - das ist fast 100% aus der C/C++/C# Welt ; oder man hat geguckt und lächerlich imitiert :-)

aber es gibt auch __thread__ :-)

Grund der Beschwerde: