[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 294
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
Ich habe eine Frage über das Schleppnetz, wer kann mir das sagen. Es scheint das richtige Schleppnetz zu sein, um die Gewinnschwelle zu erreichen, aber es funktioniert nicht.
Hier ist ein Schleppnetz: https://www.mql5.com/ru/forum/131859
Um den Code in den Text einzufügen, drücken Sie auf die Schaltfläche SRC oberhalb des Texteingabefeldes.
Hier ist ein Schleppnetz: https://www.mql5.com/ru/forum/131859
Um den Code in den Text einzufügen, drücken Sie auf die Schaltfläche SRC oberhalb des Texteingabefeldes.
Ich danke Ihnen.
Ich habe eine Frage zum Schleppnetz, wer kann sie mir beantworten. Es scheint ein korrektes Schleppnetz zu sein, um die Gewinnschwelle zu erreichen, aber es funktioniert nicht.
Liste der Gründe in absteigender Reihenfolge ihrer Bedeutung:
1. Der Computer ist nicht eingeschaltet
2. Metatrader ist nicht eingeschaltet.
3. das Skript auf der Karte ist nicht installiert
4. Expert Advisors nicht aktiviert
5. Nichts zu schleppen.
6. Irgendetwas im Code ist falsch.
Auflistung der Gründe in absteigender Reihenfolge ihrer Bedeutung:
1. Der Computer ist nicht eingeschaltet
2. Metatrader ist nicht eingeschaltet.
3. das Skript auf der Karte ist nicht installiert
4. Expert Advisors nicht aktiviert
5. Nichts zu schleppen.
6. Irgendetwas im Code ist falsch.
OrderOpenTime() verwenden
Wozu brauchen wir sie dann?
Also, ja, aber durch die Auftragsnummer habe ich ziemlich kurz, aber mit OrderOpenTime ich nicht verstehen, was zu tun ist, muss ich offene Zeit irgendwo setzen, vergleichen Sie mit der nächsten Bestellung in der Liste, wenn die Zeit länger ist, die Variable neu zu schreiben, usw. Ich verstehe den Algorithmus noch nicht.
Tolle Antwort, Roger, aber der Computer ist aktiviert, der MetaTrader auch, der EA ist an den Chart angehängt, die EAs sind aktiviert, die Trades sind geöffnet und daher gibt es etwas zu suchen! Aber was stimmt mit dem Code nicht, das war die Frage.
Am Anfang gab es keinen Code, den haben Sie später angebracht.
Wahrscheinlich, weil Sie in der Funktion zur Auftragseröffnung einen Trailing gesetzt haben, d.h. die Bedingungen für die Auftragseröffnung treten zwar ein, der Auftrag wird eröffnet, aber er kommt möglicherweise nicht weiter.
Also, ja, aber durch die Auftragsnummer habe ich ziemlich kurz, aber mit OrderOpenTime ich nicht verstehen, was zu tun ist, muss ich offene Zeit irgendwo setzen, vergleichen Sie mit der nächsten Bestellung in der Liste, wenn die Zeit länger ist, die Variable neu zu schreiben, usw. Ich verstehe den Algorithmus noch nicht.
Die Seriennummer ist nicht verlässlich, diese Nummerierung garantiert nichts, nur für den Tester. Ein paar Seiten zuvor hatte ich einen Code für die Suche nach dem letzten abgeschlossenen Auftrag geschrieben. Es ist ganz einfach, wir haben das Ticket durchgesehen, dann haben wir den Auftrag oder die Position entsprechend dem Ticket gewählt, und das war's:
Die Bestellnummer ist unzuverlässig, niemand garantiert bei dieser Nummerierung etwas, nur der Prüfer. Ein paar Seiten vorher habe ich einen Code geschrieben, um den letzten geschlossenen Auftrag zu finden, dasselbe gilt für offene Aufträge. Alles ist ganz einfach, wir sind es durchgegangen, haben uns das Ticket gemerkt, dann einen Auftrag oder eine Position anhand des Tickets ausgewählt, und das war's:
Am Anfang gab es keinen Code, den haben Sie später hinzugefügt.
Wahrscheinlich, weil Sie die Funktion zur Auftragseröffnung mit einem Trailing versehen haben, d.h. die Bedingungen für die Auftragseröffnung treten zwar ein, der Auftrag wird eröffnet, aber er kommt möglicherweise nicht weiter.
Die Bestellnummer ist unzuverlässig, niemand garantiert bei dieser Nummerierung etwas, nur der Prüfer. Ein paar Seiten vorher habe ich einen Code geschrieben, um den letzten geschlossenen Auftrag zu finden, dasselbe gilt für offene Aufträge. Alles ist ganz einfach, wir haben das Ticket durchgesehen, dann haben wir einen Auftrag oder eine Position durch das Ticket ausgewählt und das war's:
Der Code ist falsch.
Zunächst einmal ist da Folgendes:
Wenn das Ordnungssymbol gleich dem angegebenen Symbol in der Symbolvariablen oder ist, ist die Ordnungsmagie gleich der Magie... Wenn also eine Bestellung mit dem Symbol ausgewählt wird und die Magie anders ist oder fehlt, ist die Bedingung erfüllt. Weil es entweder dies oder das ist. Dementsprechend sollten wir entweder durch oder ersetzen, oder, besser noch, die Prüfungen in getrennte Strings aufteilen - die Schleife wird dadurch schneller, was für die Optimierung entscheidend ist.
Außerdem... Pick by ticket: Der Parameter pool wird ignoriert, d.h. es macht keinen Sinn, ihn hier zu schreiben.
Sobald der Auftrag erfolgreich per Ticket ausgewählt wurde, sollte geprüft werden, aus welcher Liste von Aufträgen er ausgewählt wurde - aus der Liste der Marktaufträge oder der Liste der geschlossenen Aufträge. Dazu müssen wir den Zeitpunkt des Auftragsschlusses überprüfen, und wenn dieser größer als Null ist, dann wurde der Auftrag definitiv geschlossen. Dieser Parameter ist bei offenen Positionen immer gleich Null. IMHO sollten wir, nachdem die letzte Bestellung ausgewählt wurde, sofort ihren Typ überprüfen und in die Variable schreiben.
Die Funktion sieht nun wie folgt aus:
Wenn wir nun nur die Käufe oder Verkäufe des aktuellen Charts überprüfen wollen und welche davon zuletzt geschlossen wurden, sollten wir diese Funktion wie folgt aufrufen:
Für die Fehlerbehandlung können wir im Prinzip eine globale Variable anlegen, z.B. int err; und im Körper der Funktion selbst die Fehlernummer in dieser Variable speichern:
Um dann den Fehler nach dem Aufruf der Funktion zu bearbeiten ...
GetTypeLastClosePos(Symbol(), Magic);
... und ein Fehler auftritt, wird seine Nummer in der Variablen err gespeichert und im Verarbeitungsblock wird diese Nummer verarbeitet.
Besser noch, verwenden Sie den Schalter