[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 573

 
Ekburg:

Ich schrieb etwas wie Trailing für meine EA, aber es funktioniert nicht, je nachdem, was ich versuche, zu ändern, damit es funktioniert, es erzeugt Fehler 1 beim Ändern, oder einfach nicht über den ersten Druck gehen (Print("Leading Buy Position"); )... was könnte der Grund sein, ich würde gerne alle Vorschläge zu hören, danke im Voraus!


Ihre Bedingungwhile(OrderCloseTime()==0). Wenn Sie diese Schleife eingeben, werden die Änderungsversuche so lange wiederholt, bis der Auftrag abgeschlossen ist oder der Operator brek oder return auftritt, den Sie nicht in der Schleife haben.

Tut mir leid, ich habe es vermasselt. Sie sind da, aber ich habe sie ohne Brille nicht sofort bemerkt. Überflüssige Klammer entfernt und Ausgabe hinzugefügt. Probieren Sie es aus, vielleicht funktioniert es.

Dateien:
0101.mq4  3 kb
 
Ekburg:

Ich schrieb etwas wie Trailing für meine EA, aber es funktioniert nicht, je nachdem, was ich versuche, zu ändern, damit es funktioniert, es erzeugt Fehler 1 beim Ändern, oder einfach nicht weiter gehen als der erste Druck (Print("Leading Buy Position" ); )... was könnte der Grund sein, würde ich froh sein, alle Vorschläge zu hören, danke im Voraus!

Sagen Sie mir doch bitte, wie sich DIESES - "so etwas wie Trailing" - im EA verhält??? Ich vermute, dass der Code einfrieren sollte. Und was passiert tatsächlich? Wird mehr als eine Bestellung geöffnet???
 
TarasBY:
Sagen Sie mir doch bitte, wie sich DAS verhält - "so etwas wie Trailing" im EA???? Ich vermute, dass der Code einfrieren sollte. Und was passiert tatsächlich? Wird mehr als eine Bestellung geöffnet???


hmmm... warum sollte es hängen?!

Trailing zieht die Stopps nach oben, wenn es einen Gewinn gibt, also habe ich versucht, die Stopps auch in der Verlustzone zu ziehen.

Es verhält sich sehr einfach: Wenn der Preis höher ist als das Trailing-Level, wird die Order geändert und der neue Wert des Stop-Loss akzeptiert, dann schläft er für eine Sekunde, um häufige Anfragen zu vermeiden (weil ich meine Version des Trailing noch nicht richtig testen kann), Wenn die erforderlichen Bedingungen nicht erfüllt sind, wird auf sie gewartet; all diese Aktivitäten finden statt, bis der Auftrag abgeschlossen ist und der Zeitpunkt des Abschlusses besser als Null ist, daher wird die Schleifenbedingung nicht ausgeführt und die Funktion hört auf zu arbeiten und gibt true zurück.

 
Ekburg:


hmmm... warum sollte es einfrieren?!

Trailing zieht die Stopps nach oben, wenn es einen Gewinn gibt, also habe ich versucht, die Stopps auch in der Verlustzone zu ziehen.

Es verhält sich sehr einfach: Wenn der Preis höher ist als das Trailing-Level, wird die Order geändert und der neue Wert des Stop-Loss akzeptiert, dann schläft er für eine Sekunde, um häufige Anfragen zu vermeiden (weil ich meine Version des Trailing noch nicht richtig testen kann), Wenn die erforderlichen Bedingungen noch nicht erfüllt sind, wird auf sie gewartet, bis der Auftrag abgeschlossen ist und der Zeitpunkt des Abschlusses besser als Null ist; dann wird die Schleifenbedingung nicht ausgeführt und die Funktion gibt true zurück

Der Code ist unter der Bedingung des Ausstiegs in die Schleife eingetreten - Schließung des Auftrags bei StopLoss. Und wie lange wird es dauern (bis der Preis das SL-Niveau erreicht hat)? Wahrscheinlich keine Millisekunde, nicht einmal eine Sekunde, und wahrscheinlich nicht einmal eine Minute? Herzlichen Glückwunsch - Sie haben einen "neuen Schritt" in der MQL4-Codierung gemacht!!!

P.S. Vielleicht irre ich mich aber auch, und Sie sind nur ein fortgeschrittener Tester, ein Codopist! :)))

 
Bitte empfehlen Sie eine gute freevary FTP-Server für Schnappschüsse und Statistiken und dass es nicht gehen würde nach 1 Jahr ... wie einige
 
TarasBY:

Der Code ist durch die Ausstiegsbedingung in die Schleife eingetreten - Schließen des Auftrags bei StopLoss`. Und wie lange wird es dauern (bis der Preis das SL-Niveau erreicht hat)? Wahrscheinlich keine Millisekunde, nicht einmal eine Sekunde, und wahrscheinlich nicht einmal eine Minute? Herzlichen Glückwunsch - Sie haben einen "neuen Schritt" in der MQL4-Codierung gemacht!!!

P.S. Vielleicht irre ich mich aber auch, und Sie sind nur ein fortgeschrittener Tester, ein Codopist! :)))



Wenn jeder alles wüsste, was wäre dann der Sinn dieses Threads und von Foren im Allgemeinen?
 
TarasBY:

Der Code ist durch die Ausstiegsbedingung in die Schleife eingetreten - Schließen des Auftrags bei StopLoss`. Und wie lange wird es dauern (bis der Preis das SL-Niveau erreicht hat)? Wahrscheinlich keine Millisekunde, nicht einmal eine Sekunde, und wahrscheinlich nicht einmal eine Minute? Herzlichen Glückwunsch - Sie haben einen "neuen Schritt" in der MQL4-Codierung gemacht!!!

P.S. Vielleicht irre ich mich aber auch, und Sie sind nur ein fortgeschrittener Tester, ein Codopist! :)))



Ich stimme zu, aber warum will es nicht anfangen zu arbeiten?

 
Ekburg:


Erklären Sie populär, was an vielen Zyklen falsch ist? Ja, ich stimme zu, aber warum fängt es nicht an zu funktionieren?!


Denn die Schleife läuft immer, und das Programm tut nichts und wird nichts tun, bis die Schleife endet und die Kontrolle an das Programm abgibt. Es wartet einfach, und es kann so lange warten, wie es will, d.h. das Programm verarbeitet z.B. keine neuen Ticks, die im Terminal eingehen.

P.S. Es funktioniert tatsächlich. Der Computer ist nicht klug, aber auch nicht faul, im Gegenteil, er ist sehr fleißig. Wenn Sie mir nicht glauben, setzen Sie einen Zähler an den Anfang der Schleife und sehen Sie, wie oft sie ausgeführt wird.

 
Ekburg:


Erklären Sie dem Volk, was daran falsch ist, dass es viele Zyklen geben wird? ja, ich stimme zu, aber warum will es dann nicht anfangen zu arbeiten?!

In dieser Funktion ist es einfacher, zu markieren, was "richtig" ist:

    return (false);
 
TarasBY:

In dieser Funktion ist es einfacher zu markieren, was "richtig" ist:


Ich verstehe, dass es eine Menge Erfahrung gibt und es ist okay, sarkastisch zu sein! Aber wenn es Ihnen nichts ausmacht, schreiben Sie den richtigen Weg auf, unterrichten Sie einen Neuling...ich würde es zu schätzen wissen!
Grund der Beschwerde: