Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 122
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
in Person... Ich liebe undichte Stellen... Ich habe es absichtlich getan. Wenn die Demo die Einlage 15 Mal an einem Tag erhöht, werde ich sie zurückziehen. Ich möchte morgen vergleichbare Ergebnisse haben.
Requotes im Tester? Das ist das erste, was ich höre...
Hier ist der Beweis. Der Anfang:
und das Ende:
und das Ende:
"Geben Sie also in den EA ein, dass Sie, wenn dies der Fall ist, aussteigen und beim nächsten Tick weitermachen."Das steht im Kodex.
Hier ist der Beweis. Der Anfang:
und das Ende:
und das Ende:
"Geben Sie also in den EA ein, dass Sie, wenn dies der Fall ist, aussteigen und beim nächsten Tick weitermachen." - Dies steht im Code.
Nun und schreiben If(tester) if(25. oder 26. Januar) return
Nun und schreiben If(tester) if(25. oder 26. Januar) return
Ich verstehe nicht, warum. Wird es dazu beitragen, eine Wiederholung des Misserfolgs zu vermeiden? Die Hauptsache ist, dass die Positionen geschlossen werden, und wenn der Grund für die unscharfe Befehlsausführung ein Fehler des Testers ist, dann ist alles in Ordnung. Um sicher zu sein, dass die Ursache der anderen, wahrscheinlich haben, um für die Wiederholung der Situation warten, wenn mit einem offenen Sell(BAY) wird BAY(SEL) zu öffnen, und sehen, wie sie zu schließen.
Das ist genau das, was ich brauche, oder besser gesagt nur fürBuy and Sell. Bei meiner einfachen Strategie kommt es vor allem darauf an, dass sich die offenen Positionen nicht gegenseitig in die Quere kommen. Vielleicht können wir ohne Arrays auskommen? Ich verstehe sie nicht: wie man sie schafft, wie man sie angeht - ich tappe im Dunkeln. Vielleicht wird Ihnen meine Situation auf dem Screenshot klarer:
Im Code scheint alles einfach und klar zu sein, aber das ist der einzige Fall von Verwirrung.
Wenn wir die Buchhaltung für Verkaufs- und Kaufaufträge aufteilen müssen, deklarieren wir zwei Arrays und zwei Zähler für jeden von ihnen:
int g_nBuyOrdersCnt, g_nSellOrdersCnt; OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT];
Daher wird der Datenerhebungszyklus wie folgt aussehen:
Dann müssen wir im Expert Advisor nur noch wie folgt vorgehen, um festzustellen, ob ein Kauf- oder Verkaufsauftrag vorliegt:
Können wir nicht doch auf Arrays verzichten?
Auf Arrays kann nur dann verzichtet werden, wenn von jedem Typ nicht mehr als ein Auftrag zu erwarten ist. Dann degeneriert das Array zu einer Variablen vom Typ OrderInfo-Struktur (oder einem Array der Größe 1).
Aber wie ich in der obigen Abbildung sehe, ist dies nicht der Fall. Sie können mehr als einen Auftrag von jeder Art auf einmal haben.Hier ist der Beweis. Start:
Dies zeigt, dass es sich bei der Schließung eines Auftrags nicht um den Marktpreis handelt. Zum Beispiel wird Buy zum Ask geschlossen, während Sell zum Bid geschlossen wird. Wenn Sie sich Ihren Code ansehen, kann dies durchaus der Fall sein, da vor dem Abschluss keine Prüfung der Auftragsart erfolgt.
Nochmals guten Abend. Das Wesentliche der Frage.
Ich setze einen EA (funktioniert) in den Markt. MT4-Plattform. Ich kann eine einzelne Datei anzeigen. Eine Datei des Expert Advisors. Es sollte die Gültigkeit bestehen, kann es aber nicht, weil es ein EA ohne Indikatoren ist. Sie befinden sich in separaten Dateien. Der Expert Advisor arbeitet mit vier Indikatoren. Sie müssen irgendwie mit dem Expert Advisor verbunden sein. Sie müssen den Pfad angeben, d. h. sie in den Expert Advisor schreiben. Bitte teilen Sie uns mit, welches Formular und wie Sie dies tun können.
Soviel ich weiß, müssen wir die "Ressourcen" verwenden. Ich weiß nicht, wie ich sie korrekt im Expert Advisor registrieren kann. Vielleicht kennen Sie andere Lösungen.
Ich danke Ihnen.
So sieht es aus, wenn es die Gültigkeit nicht besteht
Vielen Dank für Ihre umfassenden und sehr klaren Antworten.
Wenn wir die Buchhaltung der Aufträge in Kauf und Verkauf aufteilen müssen, deklarieren wir zwei Arrays und zwei Zähler für jeden von ihnen:
Daher wird der Datenerhebungszyklus wie folgt aussehen:
Dann müssen wir im Expert Advisor nur noch wie folgt vorgehen, um festzustellen, ob ein Kauf- oder Verkaufsauftrag vorliegt:
Könnten Sie bitte diese Zeile Ihres Codes erklären:OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT]; Warum hatOrderInfo keine Klammern und keinen Typ angegeben? und all dies wird auf globaler Ebene deklariert?
Und die Ermittlung der Auftragsverfügbarkeit wird in die Funktion des Bestandsabschlusses eingefügt? Wo? Und vielleicht sollte die Funktion zum Schließen von Positionen mit Arrays irgendwie anders aussehen? Es ist ein bisschen kompliziert für mich. Ich danke Ihnen.
Ich habe versucht, Ihr Beispiel zu verwenden, aber der Compiler schimpft mich aus...
Und es flucht auch über die Beispiele aus dem Lernprogramm.