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

 
Amon1953:
Danke für den Rat. Ich bin kein sehr erfahrener Programmierer und benutze einen Stil, der für mich bequem ist, ich habe noch nicht gelernt, wie man ihn auf dieser Website in einen gemeinsamen Stil bringt. - Ich habe noch nicht gelernt, wie man das macht.

Aber Sie können den Code in Ihren Beitrag einfügen (Alt+S), allerdings mit Ihrem Stil. Sie können jedoch jederzeit den Styler im Editor verwenden (Strg+,), um den Stil auf der Website zu übernehmen. Das ist zwar nicht für jeden geeignet, aber besser als etwas Unleserliches.

 
Artyom Trishkin:

Aber Sie können den Code in Ihren Beitrag einfügen (Alt+S), wenn auch mit Ihrem Stil. Sie können jedoch jederzeit das Styling-Tool im Editor (Strg+,) verwenden, um den Stil an den der Website anzupassen. Das ist zwar nicht für jeden geeignet, aber besser als etwas Unleserliches.

 
 if((cnt_OO > 1))
  {
   for(int h = OrdersTotal()-1; h >= 0; h--)
    {
     if(OrderSelect(h, SELECT_BY_POS))
      {
       if((OrderMagicNumber() == Magic))
        {
         Nextstep  = NextStep;
         BaseNext  = OrderOpenPrice();
         LotsNext  = NormalizeDouble(OrderLots()*K,lotDigit);
         if(NewPB > 0)
          {
           PBcloseON = true;
          } 
         Alert ("Pospedny Order NEXT  ",OrderTicket());
         Alert ("Otkritih orderov  ",cnt_OO);
         break;
    }}} }
       if((cnt_OO == 1))
        {
         LotsNext    = NormalizeDouble(Lots*Prikup,lotDigit); 
         Alert ("Otkritih orderov NEXT net ");
         Alert ("Otkritih orderov  ",cnt_OO);
        }
Nun, ich habe da etwas. Nur im Wesentlichen habe ich nicht verstanden, wo mein Fehler lag.
 
Amon1953:
Nun, ich habe etwas. Nur habe ich im Grunde nicht verstanden, wo mein Fehler liegt.

Was wollen Sie überhaupt erreichen?

Aus dem, was Sie gezeigt haben, ist es unmöglich zu verstehen - es gibt keine Daten über die Werte der verwendeten Variablen.

 
Artyom Trishkin:

Was wollen Sie überhaupt erreichen?

Nach dem, was Sie gezeigt haben, ist es unmöglich zu verstehen - es gibt keine Daten zu den Werten der verwendeten Variablen.

Die zweite if-Anweisung ist optional, aber ohne sie funktioniert es nicht
 
Amon1953:
Die zweite if-Anweisung ist optional, aber ohne sie funktioniert es nicht

Forum für Handel, automatisierte Handelssysteme und Strategietests

Alle Fragen für Neulinge auf MQL4, Hilfe und Diskussion über Algorithmen und Codes

Artyom Trishkin, 2018.08.21 22:14

Was wollen Sie überhaupt erreichen?

Nach dem, was Sie gezeigt haben, ist es unmöglich zu verstehen - es gibt keine Daten zu den Werten der verwendeten Variablen.


 
Artyom Trishkin:

Eines der Ergebnisse dieser Einheit habe ich bereits gezeigt

ERGEBNIS: Otkritih bestellt NEXT net

Otkritih ordersov 5

 
Amon1953:

Eines der Ergebnisse dieser Einheit habe ich bereits gezeigt

ERGEBNIS: Otkritih bestellt NEXT net

Otkritih ordersov 5

Ich verstehe - Strom des Bewusstseins. Ich habe mich aus der Diskussion zurückgezogen...

Lesen Sie weiter.

 

Anton1953 Wenn Sie die Arbeit des Blocks meinen, der der allererste ohne if war, liegt ein Fehler vor. Ich gebe Ihnen einen Tipp: Versuchen Sie, dieses Codestück mit Aufträgen mit anderen Majiks auszuführen, es gibt eine Menge Aufträge, aber sie bestehen die Majik-Bedingung nicht. Benötigen Sie weiteren Rat oder wollen Sie es selbst herausfinden?

Übrigens ist eine korrekte Kodierung bei der Suche nach solchen Fehlern sehr hilfreich, weil man sie in der gewohnten Art und Weise markiert und der Fehler einfach offensichtlich wird!

 
Vitaly Gorbunov:

Anton1953 Wenn Sie die Arbeit des Blocks meinen, der der allererste ohne if war, liegt ein Fehler vor. Ich gebe Ihnen einen Tipp: Versuchen Sie, dieses Codestück mit Aufträgen mit anderen Majiks auszuführen, es gibt eine Menge Aufträge, aber sie bestehen die Majik-Bedingung nicht. Benötigen Sie weiteren Rat oder finden Sie es selbst heraus?

Übrigens ist eine korrekte Kodierung bei der Suche nach solchen Fehlern sehr hilfreich, weil der Fehler so offensichtlich ist, wenn man ihn in der gewohnten Form markiert!

Es laufen mehrere Expert Advisors mit unterschiedlichen Schwerpunkten. cnt_OO - dies ist die Anzahl der offenen Aufträge mit einem bestimmten Modus. Der Block ist wie folgt aufgebaut: Wenn es mehr als einen Auftrag cnt_OO>1 gibt, wählen wir aus allen offenen AufträgenOrdersTotal() denjenigen mit dem erforderlichen Modusif((OrderMagicNumber() == Magic)) und führen die erforderlichen Aktionen aus.

Andernfalls führen wir andere Aktionen durch. Aber "otherwise" funktioniert nicht, wir müssenif((cnt_OO == 1)) eingeben, sonst funktioniert es nicht


	          
 
Amon1953:

Es laufen mehrere EAs mit unterschiedlichen Schwerpunkten. cnt_OO - bereits definiert - dies ist die Anzahl der offenen Aufträge mit einem bestimmten Modus. Der Block ist wie folgt aufgebaut: Wenn es mehr als einen Auftrag cnt_OO>1 gibt, wählen wir aus allen offenen AufträgenOrdersTotal() denjenigen mit dem erforderlichen Modusif((OrderMagicNumber() == Magic)) und führen die erforderlichen Aktionen aus.

Andernfalls führen wir andere Aktionen durch. Aber "sonst" wird nicht ausgeführt, wir müssenif((cnt_OO == 1)) eingeben, sonst funktioniert es nicht

Die Tatsache, dass Sie irgendwo die Anzahl der notwendigen Aufträge definiert haben, ist gut, aber in diesem Block gehen Sie wieder alle Aufträge durch und überprüfen sie!

Brechen Sie den Code richtig auf und Sie werden es sofort sehen!