Fehler Nr. 1 beim Ändern von Aufträgen - Seite 6

 
tara:
Wie haben Sie abgestimmt?
Heute war es kühl (+15), also bin ich mit meiner Kleidung rausgegangen. Und ich habe nichts gestochen, weil es mich nicht interessiert hat.
 
Akella ...
 
tara:
Akella...

Werden Sie nicht übermütig! Was möchten Sie sagen?

 
borilunad:

Alle Prüfungen werden vor der Schleife durchgeführt, mit Bedingungen für jeden Typ und einem Aufruf dieser Funktion, die nur auf Fehler in Modify() prüft:

Wenn Sie noch etwas wissen möchten, fragen Sie, aber ich gehe jetzt zum Abendessen. ;)

Boris, danke natürlich für die Hilfe. Es stellte sich jedoch heraus, dass meine Wanze an der falschen Stelle vergraben war. Es war an einem anderen Ort. Nach dem Absenden der Bestellung gab es eine Änderung, und dann, auf demselben Tick, eine Änderung durch eine andere Bedingung. Als der Auftrag geöffnet wurde, gab es also Fehler bei diesem Häkchen. Und zu anderen Zeiten gab es keine Fehler.

Wenn wir weiter gehen, ist die Funktion der Prüfung auf Stop Loss und Freefall + Kurskorrektur dort, wenn die Bedingungen nicht absolut eingehalten werden, zwar korrekt, aber die Compiler-Kurve will es aus irgendeinem Grund nicht richtig behandeln. Ich drucke alles aus, es wird alles so, wie es soll, eine Stufe höher ist auch alles klar. Aber es hat keine Ergebnisse gebracht. Ich habe diese Funktion in zwei Teile zerlegt, und jetzt funktioniert alles.

Natürlich mag ich diese ganze Krümmung nicht, aber ich werde mich erst einmal damit abfinden...

 
hoz:

Boris, ich danke dir natürlich für deine Hilfe. Aber es stellte sich heraus, dass ich den falschen Ort für meine Beerdigung hatte. Es war an einem anderen Ort. Nach dem Absenden des Auftrags erfolgte auf die gleiche Art und Weise eine Änderung, und dann, am gleichen Tick, eine Änderung durch eine andere Bedingung. Als der Auftrag geöffnet wurde, gab es also Fehler bei diesem Häkchen. Und zu anderen Zeiten gab es keine Fehler.

Wenn wir weiter gehen, ist die Funktion der Prüfung auf Stop Loss und Freefall + Kurskorrektur dort, wenn die Bedingungen nicht absolut eingehalten werden, zwar korrekt, aber die Compiler-Kurve will es aus irgendeinem Grund nicht richtig behandeln. Ich drucke alles aus, es wird alles so, wie es soll, eine Stufe höher ist auch alles klar. Aber es hat keine Ergebnisse gebracht. Ich habe diese Funktion in zwei Teile zerlegt, und jetzt funktioniert sie.

Natürlich mag ich diese ganze Krümmung nicht, aber ich werde es vorerst überleben...

Bitte sehr! Ich habe auch nicht alles auf die Reihe gekriegt! Endlich einen weiteren EA abgeschlossen. Ich habe es den ganzen Tag lang versucht und erst jetzt bindet es endlich richtig. Ich werde wieder einige Überraschungen bei Real haben. Das Wichtigste ist Ausdauer, Geduld und Beharrlichkeit!
 
https://forum.mql4.com/ru/65622
 
azfaraon:
https://forum.mql4.com/ru/65622
Ich empfehle Ihnen, den Professor selbst zu kontaktieren! Sie wollen die Logik seines Systems ändern, und niemand kann das besser als er, und es ist unwahrscheinlich, dass Sie jemanden finden, der bereit ist, am Code eines anderen herumzupfuschen, vor allem, wenn er veraltet ist, und aus "Sicherheitsgründen" von einem unbenannten Wachmann!
 

Boris, der Haken an der Sache ist, dass Ihre Funktion eine Reihe von Faktoren unberücksichtigt lässt. Zum Beispiel, ob ein Handelswolf erlaubt ist oder nicht... usw. Ich habe solche Zeichenfolgen in meiner Änderungsfunktion:

   while (IsTradeAllowed() == true)
      {
         if (!IsExpertEnabled() || IsStopped() || li_Cnt > 200)
         {
            CLogs.WriteLog (StringConcatenate ("Error: Trying to send order ", GetNameOP (fi_Type), " | Price: ", DToS (fd_Price), " NOT IsTradeContextBusy"));

            if (!IsExpertEnabled())
            {
               CLogs.WriteLog ("Permit ExpertEnabled !!!");
            }
            return (-1);
         }

Dies ist zum Beispiel der Fall. Ich will damit sagen, dass Kürze nicht immer von Vorteil ist. Schließlich sind diese Prüfungen im echten Torrent ohnehin vorhanden. Warum also nicht in der Blackbox?

und nicht mehr an sie denken? Außerdem ist es so einfacher...

Einfacher ist es nur, wenn man eine geeignete Plattform hat. In unserem Fall ist das nicht die beste Option. Aber es ist möglich, eine Art Mittelweg zu finden. Nicht sehr lange Codes, aber auch nicht leer.

 
hoz:

Boris, der Haken an der Sache ist, dass Ihre Funktion eine Reihe von Faktoren unberücksichtigt lässt. Zum Beispiel, ob ein Handelswolf erlaubt ist oder nicht... usw. Ich habe solche Zeichenfolgen in meiner Änderungsfunktion:

Dies ist zum Beispiel der Fall. Ich will damit sagen, dass Kürze nicht immer von Vorteil ist. Schließlich sind diese Prüfungen im echten Torrent ohnehin vorhanden. Warum also nicht in der Blackbox?

und nicht mehr an sie denken? Außerdem ist es so einfacher...

Einfacher ist es nur, wenn man eine geeignete Plattform hat. In unserem Fall ist das nicht die beste Option. Aber es ist möglich, eine Art Mittelweg zu finden. Nicht sehr lange Codes, aber auch nicht leer.

Victor, ich habe einen Check für die Handelsauflösung, bevor ich eine Position eröffne, und auch einen Check für ausreichendes Eigenkapital und viele andere Dinge, aber am Anfang, nicht in den Funktionen! Warum also eine Überprüfung der Änderung?
 
borilunad:
Victor, ich habe eine Prüfung, um den Handel zu erlauben, bevor ich eine Position eröffne, sowie eine Prüfung auf ausreichendes Eigenkapital und viele andere Dinge, aber im Start, nicht in der Funktion! Warum also eine Überprüfung der Änderung?

Boris, es ist ganz einfach.

Erstens werden Sie es in diesem Fall in Zukunft nicht mehr vergessen, denn diese Prüfung wird immer vorhanden sein.

Zweitens benötigt diese Prüfung so wenig Zeit, dass sie keine Optimierung des Codes bewirkt und den Prozess nicht beschleunigt. D.h. entweder "Handel erlaubt" ankreuzen und die Funktion eingeben, oder eingeben und "Handel erlaubt" ankreuzen.

Drittens stimme ich zu, was die Gerechtigkeit angeht, sie sollte separat umgesetzt werden. Ich habe dieses Stück abgesägt. Und eine Menge Dinge entfernt. Jetzt ist die Funktion im Allgemeinen kurz.