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
Nicht in Echtzeit.
Vielen Dank für die Information. Ich war mir nicht bewusst, dass "OrderClosePrice()" gepuffert wird. Ich vermute also, dass weder "OrderClosePrice()" noch die "Ask"/"Bid" die ideale Echtzeitlösung sind.
Sind Sie jedoch auch der Meinung, dass "OrderClosePrice()" eine bessere Gesamtlösung ist als die Verwendung von "Ask"/"Bid", nachdem die "OrderSelect()" ausgeführt wurde?
Und für eine Echtzeitlösung, wenn sie tatsächlich benötigt wird, können wir auf die Alternativen zurückgreifen:
Warum versuchen Sie, das Rad neu zu erfinden?
Schauen Sie hier - Sie finden alles, was Sie brauchen.
Wenn nicht, fangen Sie an, den Quellcode zu ändern.
Vielen Dank für die bisherige Hilfe. Ich glaube, ich habe jetzt das Problem mit dem Fehler 130 gelöst, aber irgendetwas stimmt mit meiner OrderSelect-Funktion nicht, was wahrscheinlich der Grund dafür ist, dass sie nur manchmal einige der Aufträge ändert. Im Folgenden finden Sie eine Liste der Dinge, die ich ausgedruckt habe. Das OrderTicket # ist völlig falsch. Diese Ticketnummer gehört zu einem Handel, den ich für den EURAUD geöffnet habe. Ich habe zwar nicht alle Ergebnisse einbezogen, aber es gibt tatsächlich mehrere Paare, bei denen die OrderTicket-Nummern nicht mit dem Paar im Handelsterminal übereinstimmen.
Könnte bitte jemand einen Blick darauf werfen und mir mitteilen, was mit OrderSelect nicht in Ordnung ist? Vielen Dank!
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: ticket = 0 Ich denke, dass ticket den gleichen Wert wie OrdersTotal ausgeben sollte, also scheint es, dass mein Zähler nicht funktioniert.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: OrderSelect = true
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: OrdersTotal = 11
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbypos = 0
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbyticket = 1
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: OrderTicket = 50213357
Hallo zusammen, vielen Dank für die Hilfe. Ich habe den Fehler gefunden und die Probleme sind gelöst. Da ich keinen Stoploss verwende, ist der Wert von OrderStopLoss() immer 0. Das ist kein Problem, wenn ich die Kauforder ändere, weil 0 immer kleiner ist als Bid-TrailingStop*Pip. Aber bei der Verkaufsorder kann 0 nie größer sein als Ask+Trailingstop*Pip. Also musste ich das or(|| OrderStopLoss()) zu dieser Zeile hinzufügen:
Vielen Dank für die Hilfe. Ja, es gibt definitiv ein Problem mit OrderSelect, weil es nur auf einigen Charts funktioniert. Das andere Problem ist, dass ich keine MagicNumber einfügen kann, weil die Trades manuell platziert werden. Ich habe den Teil des Codes verwendet, der meiner Meinung nach relevant ist, aber ich kann ihn nicht kompilieren. Er zeigt diesen Fehler an:
'MySelect' - function can be declared only in the global scope Trailing_v26.mq4 31 13
und Zeile 31 ist diese:
Hier ist der gesamte EA:
Ja, es gibt definitiv ein Problem mit OrderSelect, weil es nur auf einigen Charts funktioniert. Das andere Problem ist, dass ich keine MagicNumber einfügen kann, weil die Trades manuell platziert werden. Ich habe den Teil des Codes verwendet, der meiner Meinung nach relevant ist, aber ich kann ihn nicht kompilieren lassen.
Ich habe Ihnen ein perfektes Codegerüst gegeben, auf dem Sie aufbauen können, das Ihre Probleme behebt, und habe sie sogar vorher aufgelistet, aber Sie ignorieren es und fragen sich weiterhin, warum Ihr Code nicht das tut, was Sie wollen!
Und warum? Wollen Sie, dass Ihr Code nicht funktioniert? Verwenden Sie das Beispiel und testen Sie es selbst!