![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Nun, ich würde es natürlich nicht blockieren. Ich hätte den Fehler übersehen und entschieden, was ich damit mache.
Wenn Sie den EA zu diesem Zeitpunkt blockieren, kann es sein, dass dieser EA eine offene Position hinterlässt, was eine Katastrophe wäre.
Damit haben Sie Ihre eigene Frage nach der langen Pause beantwortet. Man wartet auf das Signal, um eine Position zu eröffnen oder einen Auftrag zu erteilen.
Danke, Vasily, dass du mich wieder einmal erfolgreich in die Irre geführt hast. Ich habe mich fast beeilt, die Codes zu reparieren... Und nochmals vielen Dank, dass Sie mich auf den Weg zurückgebracht haben :-)
:-) Damit haben Sie Ihre eigene Frage nach der langen Pause beantwortet. Dies geschieht, um auf das Signal zur Eröffnung einer Position oder zum Setzen eines Auftrags zu warten.
Danke, Vasily, dass du mich wieder einmal erfolgreich in die Irre geführt hast. Ich habe mich fast beeilt, die Codes zu reparieren... Und nochmals vielen Dank, dass Sie mich auf den Weg zurückgebracht haben :-)
Um ehrlich zu sein, verstehe ich die Logik nicht.
Wir haben zum Beispiel einen Auftrag über 0,000001 Lot erteilt. Der Server gibt uns dafür natürlich eine Ohrfeige.
Anstatt das Los (außerhalb der Funktion) zu ändern, halten wir inne.
Infolge dieser Unterbrechung verlieren wir möglicherweise das Signal, einen Auftrag zu erteilen, aber wir sollten das Los ändern, anstatt zu warten.
Aus diesem Grund bin ich mit der Pause nicht einverstanden. Wir sollten diese Funktion einfach verlassen und den Fehlercode nach oben weitergeben und ihn dort behandeln.
Wenn es nach mir geht, werden wir keinen profitablen Handel verpassen! Und wir könnten sogar einen Verlust erleiden :)
PS: Ich werde dich vom falschen Weg abbringen :)
und ich dachte, Sie müssen die Funktion der Losberechnung auf einmal aufrufen (und nicht an den Anfang gehen) und erst nach dem Überlauf des Fehlerzählers an den Anfang gehen
Ja, natürlich müssen Sie diese Funktion sofort aufrufen, aber wenn ein Fehler auftritt!!!
Exit to the top nenne ich eine Situation, in der Sie die Funktion SetOrder verlassen müssen.
Ich sehe das in etwa wie folgt
int ticket = SetOrder(.....);
wenn (Ticket > 0) {
// alles in Ordnung} sonst {
// Logikfehler korrigieren
}
int SetOrder(....) // gibt entweder ein Ticket oder eine Fehlernummer nur mit negativem Vorzeichen zurück.
{
int ticket = OrderSend(....)
wenn (Ticket < 0) {
// Fehler in der Satzreihenfolge korrigieren
}
}
Ich denke, wir müssen zwischen logischen Fehlern und Fehlern bei der Auftragsvergabe unterscheiden. Ich hoffe, dass ich heute ein Beispiel für eine Umsetzung geben kann.
Um ehrlich zu sein, verstehe ich die Logik nicht.
Ich habe die Funktion zur Berechnung der Losgröße so aufgebaut, dass sie nur dann ein falsches Los (Null) liefert, wenn nicht genügend Geld vorhanden ist. In anderen Fällen wird die Partie normalisiert und innerhalb der Grenzen zwischen der Mindest- und der Höchstgröße gefahren. Wenn nicht genug Geld vorhanden ist, müssen wir warten, bis eine Position geschlossen wird.
Wenn Sie 0,000001 Lot bestellt haben. Unser Server hat uns sicherlich einen Klaps auf die Finger gegeben.
Warum haben wir das getan? Warum haben wir absichtlich die falsche Losgröße gewählt? Wie können wir dieses Verhalten rechtfertigen?
Wir sollten diese Funktion einfach verlassen und den Fehlercode nach oben weitergeben und ihn dort behandeln.
Ich denke nur, dass Ihre Funktion eine Bibliotheksfunktion ist, d.h. universell, und daher sollten Sie alle Fehler in 2 Kategorien unterteilen:
Функцию расчёта размера лота я строю таким образом, что неверный лот (ноль) она выдаст только в случае не хватки денег. В остальных случаях лот нормализуется и загоняется в рамки между минимальным и максимальным размерами. Если денег не хватает, то надо ждать, когда закроется какая-нибудь позиция.
stellen.
Block zur Fehlerprüfung.
Das ist meine Vorstellung von diesem Fall :) Wie ich oben geschrieben habe, möchte ich heute ein Beispiel für die Umsetzung geben.
Meine Version von Mode:
Meine Version des Mods:
Lieber TheXpert, Ihr Code sieht sehr kompakt aus. Das ist natürlich ein dickes Plus! >> Danke.
Im Anhang finden Sie einen Expert Advisor, der diese Funktion verwendet. Ich habe AI Expert Advisor als Grundlage verwendet.
Ich hatte noch keine Zeit, die Funktion zu überprüfen. Mit anderen Worten: Ich glaube, dass das Signal nach 8 Minuten erneut überprüft werden sollte.
Hinzufügung der Erzeugung von Fehlern des Handelsservers, die es ermöglichen, den Betrieb der Funktion im Detail zu untersuchen und Fehler zu erkennen.
errTest - Abfolge der erzeugten Fehler, kein Fehler 0. Es handelt sich um eine Zufallsfolge, die keinen Haken hat.
Ich warte auf etwas Kritik :)
Wie versprochen, poste ich meine Version der Funktion.
Die beigefügte Datei enthält EA, wo diese Funktion verwendet wird. Ich habe AI Expert Advisor als Grundlage verwendet.
Ich hatte noch nicht genug Zeit, um zu prüfen, wie die Funktion im Laufe der Zeit funktioniert. D.h. ich glaube, dass das Signal nach 8 Minuten erneut überprüft werden sollte.
Zusätzliche Erzeugung von Fehlern des Handelsservers, die es ermöglicht, den Betrieb der Funktion gründlich zu untersuchen und Fehler zu erkennen.
errTest - Abfolge der erzeugten Fehler, kein Fehler 0. Es handelt sich um eine Zufallsfolge, die keinen Haken hat.
Ich warte auf Kritik :)
Ich kümmere mich nicht wirklich um die Funktion, ich kann nur eines sagen :), ich werde nicht originell sein und sagen, wie immer :) -- zu überlastet.
Das Ergebnis ist, dass der Expert Advisor zu einem 32 KB großen, sauberen und klaren Code geworden ist, an dem ich nicht herumpfuschen möchte.
Es gibt Fragen zum Kodex.
1. Wenn Sie den Expert Advisor deaktivieren, funktioniert er erst wieder, wenn er neu gestartet wird. Warum nicht eine relativ lange Zeitspanne warten lassen?
2. Neuronales Netz - zunächst einmal gibt es nie das Signal einer Wohnung aus. Zweitens: Wie kann man erwarten, dass es etwas optimiert, wenn es keinen Schwellenwert hat? Wenn der Schwellenwert nicht erreicht wird, werden 80 % der ohnehin schon geringen Effizienz zunichte gemacht (allerdings linear).
SZZH: Seien Sie nicht beleidigt, ich betätige mich in diesem Thread nur als Kritiker :) .