Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1546
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
Haben Sie einen EA, der manuell platzierte Aufträge unterstützt?
Ich habe versucht, es einzufügen, aber es lässt sich nicht kompilieren. Der gesamte Code, wenn nötig, werde ich einen Screenshot der Kompilierung setzen. Ich denke, es kann ein weiteres Problem, mein TP ist in Bezug auf STOP durch Koeffizient (externe Variable), vielleicht kann es geändert werden, um manuelle Einstellung und es wird einfacher für EA zu ergänzen?
Die Funktion
aus dem globalen Bereich. magic=0 für die Kompilierung.
magic=0
Die Funktion
aus dem globalen Bereich, entfernen Sie magic=0 für die Kompilierung.
Entfernt, keine Kompilierungsfehler, nur 1 Warnung erscheint in der dritten Funktionszeile in der Spalte tp=0 mit dem Hören auf die externe Variable int tp=0. Ich verstehe nicht ganz, was dem Programmierer nicht gefällt. Alle Codes sind beigefügt, wenn Sie nicht schwer zu korrigieren sind, ist die Wahrheit irgendwo in der Nähe.
Entfernt, keine Kompilierungsfehler, nur 1 Warnung erscheint in der dritten Zeile der Funktion in der Spalte tp=0 mit dem Hören auf die externe Variable int tp=0. Ich verstehe nicht ganz, was dem Programmierer nicht gefällt. Alle Codes sind beigefügt, wenn Sie nicht schwer zu korrigieren sind, ist die Wahrheit irgendwo in der Nähe.
Es sieht folgendermaßen aus
Sie brauchen in Ihrem Fall überhaupt keine Magie
Das ist ungefähr richtig.
In Ihrem Fall ist Magie überhaupt nicht erforderlich.Danke, ich werde es testen und berichten. Ich hoffe, sie funktioniert genauso wie meine, fügt aber dem neuen Take einen Stopp hinzu (wenn er ausgelöst wird).
Wofür werden die externen Parameter Input4; 5; 6 benötigt?
Danke, ich werde es testen und Ihnen berichten. Ich hoffe, sie funktioniert genauso wie meine, fügt aber einem neuen Take einen Stopp hinzu (wenn er ausgelöst wurde).
Hier gibt es nur eine Änderung. Es gibt keine Löschung oder Stornierung von Aufträgen.
Wenn Sie beschreiben, was der EA tun soll, werde ich versuchen zu helfen.
Wofür werden die externen Parameter Input4; 5; 6 benötigt?
Wenn Sie beschreiben, was der EA tun soll, werde ich versuchen zu helfen.
Ich erteile einen schwebenden Kaufauftrag - der EA arbeitet - der schwebende Auftrag wird ausgelöst - der EA "sieht" dies und setzt einen Stop-Loss auf diesen offenen Auftrag:
Stop Loss (externer Parameter wird in den Einstellungen festgelegt);
Take Profit(externer Parameter wird in den Einstellungen im Verhältnis von z.B. 1 zu 2 eingestellt);
schwebende Verkaufsorder auf Stop-Loss-Niveau.
Mögliche Szenarien.
Variante 1.
A) Wenn der Preis Takei erreicht, entfernt der Expert Advisor den Stop Loss und eine schwebende Verkaufsorder;
Variante 2.
B) Wenn der Stop-Loss ausgelöst wird und der EA "in die Geschichte geht", dann:
Ein Verkaufsauftrag wird eröffnet und der Expert Advisor positioniert diesen Auftrag neu:
Stop Loss (externer Parameter wird in den Einstellungen festgelegt)
Take Profit + ein ausgelöster Stop Loss aus der Historie;
einen schwebenden Kaufauftrag auf dem Niveau des Stop-Loss.
Der Preis erreicht den Take - der Expert Advisor hebt den Stop-Loss und die schwebende Kauforder auf.
Und umgekehrt, wenn die Arbeit mit einem schwebenden Verkaufsauftrag beginnt.
Und so arbeitet der Advisor, bis er seine Arbeit mit dem externen Parameter Stop Loss Nummer stoppt (in meinem Fall ist es 2, das bedeutet, dass die Variante 2 3 Mal wiederholt wird und der Advisor in Zukunft aufhört zu arbeiten und alle ausstehenden Aufträge löscht, der erste Stop wird nicht berücksichtigt).
Wenn takei nicht erreicht wird und Variante 2 wiederholt wird, dann werden 2 Stops zu takei hinzugefügt und so weiter, es hängt vom eingestellten externen Parameter"Stop Loss count" ab.
Der Code, den ich legte bis funktioniert, wie es sollte, mit Ausnahme des Problems, das ich beschrieben (sieht nicht in der Geschichte von 1 oder 2 Haltestellen, die auf die Aufnahme hinzufügen sollte).
Zum Beispiel so.
Ich erteile einen schwebenden Kaufauftrag - der EA arbeitet - der schwebende Auftrag wird ausgelöst - der EA "sieht" dies und setzt einen Stop Loss auf diesen offenen Auftrag:
Stop Loss (externer Parameter wird in den Einstellungen festgelegt);
Take Profit(externer Parameter wird in den Einstellungen im Verhältnis von z.B. 1 zu 2 eingestellt);
schwebende Verkaufsorder auf Stop-Loss-Niveau.
Mögliche Szenarien.
Variante 1.
A) Wenn der Preis Takei erreicht, entfernt der Expert Advisor den Stop Loss und eine schwebende Verkaufsorder;
Variante 2.
B) Wenn der Stop-Loss ausgelöst wird und der EA "in die Geschichte geht", dann:
Ein Verkaufsauftrag wird eröffnet und der Expert Advisor positioniert diesen Auftrag neu:
Stop Loss (externer Parameter wird in den Einstellungen festgelegt)
Take Profit + ein ausgelöster Stop Loss aus der Historie;
einen schwebenden Kaufauftrag auf dem Niveau des Stop-Loss.
Der Preis erreicht den Take - der Expert Advisor hebt den Stop-Loss und die ausstehende Kauforder auf.
Und umgekehrt, wenn die Arbeit mit einem schwebenden Verkaufsauftrag beginnt.
Und so arbeitet der Advisor, bis er seine Arbeit mit dem externen Parameter Stop Loss Nummer stoppt (in meinem Fall ist es 2, das bedeutet, dass die Variante 2 3 Mal wiederholt wird und der Advisor in Zukunft aufhört zu arbeiten und alle ausstehenden Aufträge löscht, der erste Stop wird nicht berücksichtigt).
Wenn takei nicht erreicht wird und Variante 2 wiederholt wird, dann werden 2 Stops zu takei hinzugefügt und so weiter, es hängt vom eingestellten externen Parameter"Stop Loss count" ab.
Der Code, den ich legte bis funktioniert, wie es sollte, mit Ausnahme des Problems, das ich beschrieben (sieht nicht in der Geschichte von 1 oder 2 Haltestellen, die auf die Aufnahme hinzufügen sollte).
Das geht so.
"Anzahl der Stop-Losses" - in einer Reihe oder für den aktuellen Tag?
"Anzahl der Stop-Losses" - in einer Reihe oder für den aktuellen Tag?
Die Anzahl der Stopps in einer Reihe für ein Währungspaar.
Um die Historie zu analysieren, kennzeichnet der Expert Advisor die Orders zunächst mit ihren IDs, findet sie aber nicht in der Historie. Ich dachte, dass OrderMagikNumber() nach ihnen suchen würde. Vielleicht wegen der Tatsache, dass in der Geschichte hält von verschiedenen Währungspaaren der EA stoppt "sehen" sie?
die Quelle noch einmal anführen? Alles, was er tun muss, ist, "die Suche nach Stop Trades aus der Historie zu korrigieren und sie zu den neu platzierten Take zu addieren".