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
Wenn Sie einen Vergleich benötigen (A > B), verwenden Sie (A - B) *DIR> 0, um den Vergleich für einen Verkauf umzukehren.
Es scheint, dass Sie die Idee haben.
Ändern und posten Sie Ihren Code und ich oder jemand anderes wird ihn kommentieren
Hallo GumRai,
Es ist schon eine Weile her, dass ich hier ein Update gepostet habe, aber ich habe an dem Code gearbeitet und ihn endlich fertiggestellt - schmerzhaft, wenn man 10 Stunden am Tag arbeitet. Ich habe jedoch zwei Hauptprobleme. 1) Egal was ich tue, es erzeugt einen Fehlercode: "Unbekanntes Ticket XYZ für OrderCloseFunction" und 2) Ich habe die Datei gespeichert (eine USDCAD, eine andere EURUSD), mit verschiedenen Magicnumbers usw., aber es wird immer noch nur ein Trade zu einem bestimmten Zeitpunkt ausgeführt - und die Paare werden nicht unabhängig voneinander behandelt. In der Tat, es erstellt dann ein "ungültiges Ticket für OrderCloseFunction" Fehler als gut.
Ich habe versucht, dies zu googeln, aber ohne Erfolg. Ich wäre Ihnen sehr dankbar, wenn Sie mir in dieser Angelegenheit den richtigen Weg weisen könnten. Was mache ich falsch?
Vielen Dank im Voraus!
Verwenden Sie niemals OrdersTotal()==0 als Bedingung für die Eröffnung von Trades.
Das bedeutet, dass, wenn ein Handel manuell oder durch einen anderen EA oder denselben EA, der an ein anderes Chart-Symbol angehängt ist, geöffnet wurde, nur 1 Handel geöffnet werden kann.
Sie haben eine globale Variable BuyTicket, initialisieren Sie diese auf -1
Führen Sie vor dem Schließen keine Schleife durch die Aufträge, das ist unnötig.
Bei der Verwendung von global deklarierten Variablen für Ticketnummern kann es zu Problemen kommen, wenn das Terminal aus irgendeinem Grund heruntergefahren und neu gestartet wird
Deklarieren Sie also eine neue Variable für den globalen Bereich
Ich habe das schnell getippt, daher kann es sein, dass ich Fehler gemacht habe, aber es reicht, um Ihnen die Idee zu vermitteln
Der Grund, warum ich die Schleife in dort war, weil was ich bemerkt war, dass, wenn es den Verkauf geschlossen, würde es nicht den Kauf aus irgendeinem Grund auslösen.
Ich habe vorwärts gegangen und machte die notwendigen Änderungen ... aber etwas scheint immer noch nicht in Ordnung. Es werden keine Long-Trades mehr ausgeführt, und es wird ein Fehlercode für ein ungültiges Ticket und der OrderClose-Fehler 4051 generiert. Irgendwelche Vorschläge, was hier noch falsch ist?
Der seltsame Teil ist, dass sowohl in den vorherigen Code, und die aktuelle (nur für den Verkauf), nahm es die Trades einigermaßen okay (wenn ich es nur auf einem Chart implementiert).
Ich hätte nicht gedacht, dass das so schwer sein würde, haha! Ich nehme an, ich war falsch, wenn ich dachte, es war eine sehr einfache und geradlinige Sache ... kaufen, wenn Kerze kreuzt und öffnet über MA, schließen und verkaufen, wenn Kerze kreuzt und geht unter MA.
Es tut mir leid, aber ich weiß wirklich nicht, was Sie zu tun versuchen
Es wird keine Reihenfolge ausgewählt. Lässt sich der Code überhaupt kompilieren?
Hier gilt das else, wenn(OrderCloseTime()==0) falsch ist
Hier gilt es, wenn der OrderSelect fehlschlägt, was sicherlich der Fall ist.
Es tut mir leid, aber ich weiß wirklich nicht, was Sie zu tun versuchen
Es wird keine Reihenfolge ausgewählt. Lässt sich der Code überhaupt kompilieren?
Hier gilt das else, wenn(OrderCloseTime()==0) falsch ist
Hier gilt es, wenn der OrderSelect fehlschlägt, was sicherlich der Fall ist.
Entschuldigung, das war mein Fehler. Ich habe Ihre Vorschläge nicht richtig gelesen/angewandt; vielen Dank für den Hinweis. Hier habe ich es richtig gemacht. Es werden keinerlei Fehler im Bericht generiert. Das einzige Problem ist, dass jetzt manchmal mehrere Verkaufs- und Kaufaufträge eingegeben werden, was verhindert, dass die Geschäfte zum richtigen Zeitpunkt geschlossen werden.
Edit: Um genau zu sein, wird nur bei SL und TP ausgestiegen, nicht wenn der Preis die andere Seite des MA kreuzt. Hat das etwas mit dem Bool zu tun?
Dies wählt keinen Handel aus, bitte folgen Sie dem Beispiel, das ich Ihnen gegeben habe, und machen Sie es richtig
Ich komme mir... wirklich dumm vor. lol. Danke, dass du das gefunden hast!!
1) Zwei Dinge noch...es erzeugt jetzt einen Fehlercode von OrderClose 4108. Soll ich den Code noch einmal posten? Es ist derselbe wie oben mit der von Ihnen angegebenen Korrektur. Der Ein- und Ausstieg erfolgt jedoch gemäß den Regeln.
2) Und er geht nicht sofort short, sobald er die Long-Position schließt, wie im Bild gezeigt. Der grüne Abwärtspfeil zeigt an, wo er hätte short gehen müssen. Er hat einen Kauf getätigt und diesen mit einem Verlust geschlossen, als er unter dem gelben MA schloss. Hier hätte er short gehen müssen. Wie kann ich diese Schleife?
Vielen Dank GumRai. Ich würde ehrlich gesagt nicht erreicht haben irgendwo so nah ohne Ihre Hilfe.
Kleine Änderung, da geprüft wurde, ob ein Auftrag geschlossen wurde, obwohl es keinen gab.
Dem Code zufolge gibt es keinen Grund, einen Verkauf zu eröffnen, sobald ein Kauf geschlossen wird.
Die Bedingung für den Ausstieg aus einem Kauf ist nicht dieselbe wie die Bedingung für die Eröffnung eines Verkaufs.
Denken Sie daran, dass, da Sie nur das Öffnen der Kerze prüfen, Close[0] der Geldwert des ersten Ticks ist, der für die Kerze empfangen wurde.
Eine kleine Änderung, denn es wurde geprüft, ob ein Auftrag geschlossen wurde, obwohl es keinen gab.
Dem Code zufolge gibt es keinen Grund, einen Verkauf zu eröffnen, sobald ein Kauf geschlossen wird.
Die Bedingung für den Ausstieg aus einem Kauf ist nicht dieselbe wie die Bedingung für die Eröffnung eines Verkaufs.
Denken Sie daran, dass, da Sie nur das Öffnen der Kerze prüfen, Close[0] der Geldwert des ersten Ticks ist, der für die Kerze empfangen wurde.
Wahnsinn! Sie haben es geschafft! Vielen Dank wieder und wieder GumRai. Du bist der Beste.
Kann nicht vorwärts testen jetzt, aber sobald Märkte öffnen, ich denke, ich sollte in der Lage sein, dies zu verwenden, dann, mit den anderen Paaren, solange ich verschiedene magic#s auf der Demo haben.