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
Übrigens, ich habe Ihren EA im Strategy Tester ausgeführt und hatte am Ende eine 11GB große Logdatei mit Fehlern... zum Beispiel...
23:08:49 2007.05.06 22:00 MMA_Breakout_strategy_volumeaIk_withouteMMjoreMF_u-rcodedmbywWhooDoo22 EURUSD,M30: OrderModify Fehler 1
23:08:49 2007.05.06 22:00 MMA_Breakout_strategy_volumeaIk_withouteMMjoreMF_u-rcodedmbywWhooDoo22 EURUSD,M30: close #6 buy 0.01 EURUSD at 1.36028 sl: 1.31028 at price 1.35960
23:08:49 2007.05.06 22:01 MMA_Breakout_strategy_volumeaIk_withouteMMjoreMF_u-rcodedmbywWhooDoo22 EURUSD,M30: unbekanntes Ticket 6 für OrderModify-Funktion
Ich glaube, es gibt mehrere Möglichkeiten, Bestellungen auszuwählen. Alle Methoden zur Auswahl von Bestellungen sollten die Funktion OrderSelect() verwenden. Davon abgesehen, sehe ich nicht, warum dies fehlschlagen würde, da der EA eindeutig die Funktion OrderClose() für alle Aufträge ohne Fehler im Strategietester ausführt.
Ihr orderClose funktioniert offensichtlich nicht. Wenn Sie Ihre Return-Codes überprüft hätten, wüssten Sie das. Ihr orderSelect funktioniert nicht, aber Sie überprüfen es nicht.
Wenn I keine Ticketnummer ist, dann schlägt Ihr orderSelect fehl und damit auch alles andere.
wenn I eine Ticketnummer ist, ist die nächste Ticketnummer NICHT i+1 (außer im Testgerät)
Simon,
Wenn ich ein Live-Konto habe...
RE: Ich rate Ihnen dringend davon ab, Volume I auf einem Live-Konto laufen zu lassen! Natürlich liegt die Entscheidung bei Ihnen, aber ich empfehle Ihnen dringend, es nicht auf einem Live-Konto laufen zu lassen, bis die Entwicklung von Band I zu II abgeschlossen ist. Band I befindet sich noch in der Entwicklung und sollte erst nach Abschluss der Codierung ausgeführt werden. Ich bin mir nicht sicher, was passieren würde, da ich es nicht selbst auf einem LIVE-Konto getestet habe. Ich bin mir bewusst, dass es noch nicht vollständig ist, und habe mich dafür entschieden, die wesentlichen Anforderungen zu erfüllen, bevor ich mit dem Testen auf einem LIVE-Konto beginne.
Übrigens,..
RE: Ich glaube, ich verstehe auf Anhieb, was es mit diesem Fehler auf sich hat... Dieser Fehler spiegelt einen Fehler innerhalb des Codeblocks "EMERGENCY SL" wider. Ich habe mich nie wirklich darauf konzentriert, da es nicht so schwierig zu codieren ist. Ich habe ihn teilweise kodiert und seine Reife nicht vollendet. Dem "EMERGENCY SL"-Codeblock fehlt es an wichtigen Anpassungen. Ich bin zuversichtlich, dass Sie die 11-Gig-Fehlerliste nicht erhalten würden, wenn Sie die beiden Codeblöcke SELL und BUY "EMERGENCY SL" vollständig entfernen würden. Der Grund, warum es 11 Gigabyte sind, ist, dass ich glaube, dass es derselbe Fehler ist, der sich im Laufe der Geschichte immer wieder wiederholt und getestet wird.
...danke ich dir.
William,
Ich muss sagen, dass ich noch nicht so lange mit Ihnen über Code diskutiert habe wie Simon, aber ich möchte mit Ihrem Beitrag weitermachen (vielen Dank für Ihren Beitrag! Er ist willkommen.).
Was möchten Sie in Band I/II sehen?
Ich führe ausschließlich Tests durch und füge wesentlichen Code zum Testen hinzu, um seinen Handelswert zu garantieren. Ich werde dann die verbleibenden Code-Probleme feinabstimmen, um einen sicheren Handel auf LIVE/DEMO zu gewährleisten.
Ich danke Ihnen.
Wenn ich ein Live-Konto habe, mit dem ich bereits gehandelt habe und auf dem derzeit keine offenen Live-Aufträge vorhanden sind, was passiert dann, wenn ich Ihren EA auf dem EURUSD M30 laufen lasse?
Simon,
Wenn ich ein Live-Konto habe...
RE: Ich empfehle Ihnen dringend, Band I nicht auf einem Live-Konto laufen zu lassen! Natürlich liegt die Entscheidung bei Ihnen, aber ich empfehle Ihnen dringend, es nicht auf einem Live-Konto laufen zu lassen, bis die Entwicklung von Band I zu II abgeschlossen ist. Band I befindet sich noch in der Entwicklung und sollte erst nach Abschluss der Codierung ausgeführt werden. Ich bin mir nicht sicher, was passieren würde, da ich es nicht selbst auf einem LIVE-Konto getestet habe. Ich bin mir bewusst, dass er noch nicht vollständig ist, und habe mich dafür entschieden, seine grundlegenden Anforderungen zu erfüllen, bevor ich mit dem Testen auf einem LIVE-Konto beginne.
Der Punkt, auf den ich hinauswollte und den ich Ihnen ans Herz legen möchte, ist, dass, wenn es eine Kontohistorie gibt, diese Zeilen in Ihrem Code verhindern werden, dass irgendwelche Trades angenommen werden.
Die anderen Stellen, an denen eine Order mit OrderSend() platziert wird, sind die, an denen eine bestehende Order offen ist ... wenn also alte Orders in der History vorhanden sind, wird Ihr EA keine Trades platzieren ... wenn Sie Ihren Code auf Demo oder Live getestet hätten, hätten Sie das wahrscheinlich entdeckt.
Simon,
Worauf ich hinauswollte...
RE: Verstanden. Glauben Sie, dass es möglich ist, die Funktion OrderSelect() zu verwenden, um nach einer eindeutigen Ticketvariablen zu suchen, dann wird darunter der Codeblock liegen, der "if (OrdersHistoryTotal()==0){" enthält. Würde dies nicht funktionieren, WEIL die Funktion OrderSelect() die eindeutige Ticketvariable "ticket" auswählt und die Funktion OrdersHistoryTotal() aufgrund der obigen Funktion OrderSelect() nur die Handelshistorie der eindeutigen Ticketvariable durchsucht. Die "if-Anweisung" sucht nur nach Aufträgen in der Historie für eine bestimmte Variable, nämlich die eindeutige Ticket-Variable.
vielen Dank!
Simon,
Worauf ich hinauswollte...
RE: Verstanden. Glauben Sie, dass es möglich ist, die Funktion OrderSelect() zu verwenden, um nach einer eindeutigen Ticketvariable zu suchen, darunter liegt der Codeblock mit dem "if OrdersHistoryTotal()==0{". Würde dies nicht funktionieren, WEIL die Funktion OrdersHistoryTotal() nur nach früheren Geschäften mit der eindeutigen Ticketvariable sucht? Die "if-Anweisung" sucht nur nach Aufträgen in der Historie für eine bestimmte Variable, die Variable "Unique Ticket".
vielen Dank!
"Gibt die Anzahl der geschlossenen Aufträge in der ins Terminal geladenen Kontohistorie zurück. Die Größe der Historienliste hängt von den aktuellen Einstellungen der Registerkarte "Kontohistorie" des Terminals ab."
Es hat nichts mit Ticket-Nummern oder Ticket-Variablen oder Magic Numbers oder irgendetwas anderem zu tun ... es gibt die Gesamtzahl der Trades im History-Pool zurück ... der einzige begrenzende Faktor ist, was Sie auf der Registerkarte "Account history" anzeigen lassen wollen . Die gesamte Historie, die letzten 3 Monate, der letzte Monat oder ein benutzerdefinierter Zeitraum.
Simon,
Ich glaube, du bist ein wenig verwirrt...
RE: Volume II muss den Auftragssendeprozess auf der Grundlage einer Bedingung beginnen. Sobald der erste Auftrag gesendet wurde (basierend auf der Bedingung), blockiert die OrderClose() -Funktion die Ausführung aller zukünftigen Trades. Versuchen Sie bitte, sich dies als einen Zyklus vorzustellen. Bringen Sie den Ball auf der Grundlage der Bedingung ins Rollen, dann wird der Zyklus eingeleitet, sobald die erste Order (Ball-Roller-Order) geschlossen worden ist. Der Zyklus fährt fort, Zahlen zu berechnen und auf aktive Bedingungen zu prüfen, BIS zukünftige Bedingungen erfüllt sind.
Dankeschön