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

 
Amon1953:

Pannen in MQL4 ?


Ähnlicher Fehler in zwei anderen Situationen auch mit dem if()-Operator

Und wenn du genau nachdenkst und versuchst, den Grund zu verstehen, warum dieser Fehler der einzige für dich ist? Vielleicht haben Sie eine Art Spezialterminal?

 
Alexey Viktorov:

Und wenn Sie genau nachdenken und versuchen zu verstehen, warum Sie der Einzige mit einer solchen Störung sind? Vielleicht haben Sie eine Art Spezialterminal?

Das Terminal von InstaForex ist nicht ungewöhnlich. Und diese Störung trat nicht sofort auf. Zuerst ging es gut, aber dann war es plötzlich weg. Die Neuinstallation des Terminals hat nicht geholfen. Ich werde das bei einem anderen Makler überprüfen müssen.
 
Amon1953:
Ich habe ein Terminal von InstaForex benutzt, nichts Ungewöhnliches. Und diese Störung trat nicht sofort auf. Zuerst war es normal, aber dann war es plötzlich weg. Die Neuinstallation des Terminals hat nicht geholfen. Ich werde das bei einem anderen Makler nachprüfen müssen.

Ja, nun... Ich habe den Morsecode nicht verstanden. Ich muss es an die Öffentlichkeit bringen...

Vielleicht sollten wir nach Fehlern in der Logik und in unserem eigenen Code suchen?

 

Ein Ratschlag. Ich optimiere, und sagen wir mal, ich brauche keine Parameter, zum Beispiel gibt es langsame und schnelle Muvings, und ich muss nicht solche Perioden dieser Muvings in den Optimierungsergebnissen erhalten, dass die Periode der schnellen länger ist als die der langsamen.

Wie kann ich diesen Schritt der Optimierung nach Bedingungen "überspringen"?

 
Alexey Viktorov:

Ja, nun... Ich habe den Morsecode nicht verstanden. Ich muss es an die Öffentlichkeit bringen...

Vielleicht sollte man nach Fehlern in der Logik und im eigenen Code suchen?

Dieser Teil des Codes ist unabhängig vom Gesamtalgorithmus.

Hier ist der gleiche Block, aber er funktioniert richtig. Es werden zwei IF()-Operatoren verwendet, obwohl es nur einen gibt, der wie im Lehrbuch beschrieben verwendet werden kann. Dies zeigt, dass der Operator IF()/ nicht richtig funktioniert.

//+------------------------------------------------------------------+
   if((cnt_OO>=2))
     {
      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);
     }
//+------------------------------------------------------------------+
 
Amon1953:

Dieser Teil des Codes ist unabhängig vom Gesamtalgorithmus.

Hier ist der gleiche Block, aber er funktioniert richtig. Es werden zwei IF()-Operatoren verwendet, obwohl auch einer wie im Lehrbuch beschrieben verwendet werden könnte. Dies zeigt, dass der Operator IF()/ nicht richtig funktioniert.


Dies ist nur ein Beispiel für einen Fehler. Bevor Sie von einer Fehlbedienung sprechen, sollten Sie die Werte der in if()-Operatoren verwendeten Variablen ausdrucken und mit den erwarteten Werten vergleichen.

Und lernen Sie, wie Sie den Code so einfügen, dass er normal gelesen werden kann.

 
Alexey Viktorov:

Das zeigt nur, dass wir einen Fehler haben. Bevor Sie sagen, dass es nicht richtig funktioniert, sollten Sie die Werte der in den if()-Anweisungen verwendeten Variablen ausdrucken und sie mit den erwarteten Werten vergleichen.

Und lernen Sie, wie Sie den Code so einfügen, dass er normal gelesen werden kann.

Ich habe den Programmtext einfach kopiert. Im ersten Beitrag können Sie deutlich sehen, dass es 5 Aufträge gibt und die Meldung, dass es keine Aufträge gibt, wie z.B. Next. this is the second third order etc.

Das Programm ist einfach wie ein Nagel, cnt_OO ist die Anzahl der offenen Aufträge, wenn es mehr als eine es bedeutet, es ist ein Auftrag Next, Dies ist Teil des Blocks, um die Parameter im Falle eines Fehlers und Neustart des EA wiederherzustellen

 
Amon1953:

Ich habe den Programmtext einfach kopiert. Im ersten Beitrag können Sie deutlich sehen, dass es 5 Aufträge gibt und die Meldung, dass es keine Aufträge gibt, wie z.B. Next. this is the second third order etc.

Das Programm ist so einfach wie ein Nagel, cnt_OO ist eine Anzahl von offenen Aufträgen, wenn es mehr als eine ist es bedeutet, es gibt einen Auftrag Next, Dies ist Teil der Parameter Recovery-Block im Falle eines Fehlers und Neustart des EA

Wo ist die Garantie, dass dies der Fall ist?

 
Amon1953:

Ich habe den Programmtext einfach kopiert. Im ersten Beitrag können Sie deutlich sehen, dass es 5 Aufträge gibt und die Meldung, dass es keine Aufträge gibt, wie z.B. Next. this is the second third order etc.

Das Programm ist einfach wie ein Nagel, cnt_OO ist die Anzahl der offenen Aufträge, wenn es mehr als eine es bedeutet, es ist ein Auftrag Next, Dies ist Teil des Blocks, um Parameter im Falle eines Fehlers und Neustart des EA wiederherzustellen

  1. Verwenden Sie Alt+S, um den Code einzufügen, oder verwenden Sie die Schaltflächen der Formatierungsleiste in Ihrem Beitrag:



  2. Ihre Logik funktioniert nicht, nicht der bedingte Operator if()
  3. Ich habe den Code in Ihrem Beitrag korrigiert, so dass er für diejenigen, die Ihnen helfen, normal ist - bitte respektieren Sie sie. Nächstes Mal werden die Leute nicht versuchen zu helfen, indem sie sich die von Ihnen angebotenen Skripte ansehen.
 
Artyom Trishkin:
  1. Verwenden Sie Alt+S, um den Code einzufügen, oder verwenden Sie die Schaltflächen der Formatierungsleiste in Ihrem Beitrag:



  2. Ihre Logik funktioniert nicht, nicht der bedingte Operator if()
  3. Ich habe den Code in Ihrem Beitrag korrigiert, so dass er für diejenigen, die Ihnen helfen, normal ist - bitte respektieren Sie sie. Nächstes Mal werden die Leute nicht versuchen zu helfen, indem sie sich die von Ihnen angebotenen Skripte ansehen.
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. - Zeitnote.