![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
stap:
Da sich die Frage auf das Testen bezieht, muss Folgendes berücksichtigt werden. Während der Prüfung werden Ticksequenzen erzeugt. Tick-Sequenzen werden auf der Grundlage der historischen Geldwerte der 4 Kontrollpunkte (Open, High, Low und Close) generiert. Dementsprechend verarbeitet der Expert Advisor im Tester Ticks, die auf Basis von Bid-Werten erzeugt werden.
Der zweite Punkt. Gegenwärtig werden in den historischen Daten keine Preiswerte gespeichert. Sehen Sie sich einfach die Tabelle im Abschnitt"MQL5-Referenz- Zugriff auf Zeitreihen und Indikatoren" an. Unter den Funktionen wie CopyClose() oder CopyLow() ist die Funktion CopyLast() nicht zu finden. Dementsprechend ist es, selbst wenn dies gewünscht wäre, nicht möglich, eine Tick-Warteschlange auf der Grundlage der Preiswerte zu erstellen.
Versuchen Sie auch, die Artikel Grundlagen des Testens in MetaTrader 5 und Tick Generation Algorithm in MetaTrader 5 Strategy Tester zu lesen.
Da sich die Frage auf Tests bezieht...
Zunächst einmal danke ich Ihnen für Ihre schnelle Antwort. Ihre Informationen haben sich als nützlich und verständlich erwiesen.
Ich habe es überprüft und es stimmt, dass Stop-Orders vor dem Preis ausgelöst werden, der in der Order als Ausführungskurs angezeigt wird (es besteht die Möglichkeit, ein echtes Geschäft abzuschließen), da die Geld- und Briefkurse gleich dem Ausführungskurs der Order sind.
Es stellt sich also heraus, dass das Terminal die Ausführung ausstehender Aufträge nicht anhand des Preises der getätigten Geschäfte, sondern anhand des Preises der eingehenden Kauf- oder Verkaufsangebote steuert. Zumindest ist dies im EA-Testmodus der Fall. Bitte korrigieren Sie mich, wenn ich falsch liege.
Darüber hinaus habe ich beschlossen, ein kleines Experiment durchzuführen. Die Aufgabe besteht darin, historische Kauf- und Verkaufswerte zu ermitteln, die für das Testen von Expert Advisors verwendet werden. Inputs: Exchange - FORTS, Server - einer der Broker, Instrument - RIH3, Zeitraum vom 17.12.12 bis 12.03.13, Expert Advisor mit Code wurde im Strategy Tester getestet (Test wurde im OHLC-Modus auf M1 durchgeführt)
Das Ergebnis war interessant. Es stellte sich heraus, dass die Spread-Werte von 10 bis 340 Pips in verschiedenen Zeitintervallen konstant und gleich waren. Von 10:00:00 Uhr am 20.02.13 bis 18:49:59 Uhr am 25.02.13 betrug der Spread bei jedem Tick 140 Punkte, von 19:00:00 Uhr am 25.02.13 bis 18:44:59 Uhr am 26.02.13 betrug der Spread 30 Punkte, von 19:00:00 Uhr am 26.02.13 bis 18:49:59 Uhr bei jedem Tick 270 Punkte usw. Natürlich bin ich kein Börsenmammut, aber Spreads von 140, 270 und mehr Pips in einem liquiden RTS-Future sind eine Seltenheit.
Meine einzige Schlussfolgerung ist also, dass das MT5-Terminal/Broker/Börse (ich weiß nicht, wer sonst noch) zum Testen von Expert Advisors im Strategy Tester sicherlich keine historischen Ask- und Bid-Kurse anbietet.
Daraus ergeben sich zwei Fragen:
1. Wie kann man einen EA (=Handelsstrategie) zuverlässig testen, wenn schwebende Aufträge im Testmodus mit Geld- und Briefkursen ausgeführt werden, die nicht ihren realen Werten entsprechen. Wenn ich mit dem FORTS-Terminal Quik arbeite, bin ich der festen Überzeugung, dass die Pending Orders nicht zu Ask- und Bid-Kursen funktionieren dürfen (d.h. zu Kursen, die nicht für Geschäfte verwendet werden, z.B. kann ich für ein Instrument mit geringer Liquidität einen Kurs mit einer großen Spanne an den Slider senden), sondern nur, wenn das eigentliche Geschäft zu dem Kurs abgeschlossen wird, der in der Order als Ausführungskurs angegeben ist.
2. Wenn die Geld- und Briefkurse im Testmodus nicht historisch verlässlich sind, zu welchen Kursen würde dann die Ausführung von schwebenden Aufträgen im Echtgeschäft überwacht werden - ebenfalls zu Geld- und Briefkursen? Sind sie echt und zuverlässig, d.h. kommen sie von der Börse? Wenn es im Handbuch des Terminals heißt : "Die Ausführung aller Ordertypen in Symbolen mit dem Modus "Börsenausführung" erfolgt nach dem letzten Preis (Preis des zuletzt ausgeführten Geschäfts)", warum zeigt dann der Testmodus von Symbolen mit dem Modus "Börsenausführung" an, dass die schwebenden Orders zu Geld- und Briefkursen in ihren Eigenschaften ausgeführt werden? Oder ist dies nur im Testmodus der Fall und im realen Handel wird es so sein, wie im Handbuch beschrieben, d.h. die schwebenden Aufträge werden zu den Preisen der tatsächlich ausgeführten Geschäfte kontrolliert/ausgeführt?
Ich entschuldige mich dafür, dass ich zu viel schreibe, aber ich dachte, ich teile meine Gedanken mit, vielleicht findet sie jemand nützlich für die Geschichte...
In Ermangelung einer Plattformversion für den russischen Aktienmarkt habe ich die Funktionsweise des Terminals im Modus der Börsenausführung noch nicht verfolgt. Aber ich kann sofort vorschlagen, die Fragen über den Betrieb des Terminals im Austauschausführungsmodus und den Betrieb des Testers im Austauschausführungsmodus zu trennen.
Um die Richtigkeit der Aussage "alle Ordertypen arbeiten zum letzten Preis" zu überprüfen, wenn das Terminal im Börsenausführungsmodus arbeitet, versuchen Sie (mir fällt noch nichts Besseres ein), mehrere Pending Orders über und unter den aktuellen Kursen zu platzieren und Ihren oben beschriebenen Code auszuführen. Und versuchen Sie, visuell zu verfolgen, zu welchen Preisen (Geld-, Brief- oder Schlusskurs) die Aufträge ausgeführt werden.
Es ist nicht ganz richtig, von "historischen Fragewerten" zu sprechen. Ich habe gestern geschrieben, dass eine Tickserie auf der Grundlage bestimmter gespeicherter Gebotswerte erstellt wird. Die Briefwerte hingegen werden höchstwahrscheinlich auf der Grundlage von Geld- und Spreadwerten modelliert. Zum Beispiel, wie Sie im OHLC-Modus auf M1 getestet, hier ist es einfach ask==bid+spread.
Ich kenne die Art der RTS-Futures nicht, deshalb kann ich mich nicht zu der "Pips"-Spanne äußern. Aber im EURUSD beispielsweise ist ein Punkt 0,00001.
Machen Sie es sich einfacher. Die Entwickler kennen die richtigen Antworten auf Fragen über den Tester in Ihrer Situation. Suchen Sie also den Bereich "Service Desk" in Ihrem Profil und bitten Sie darum, die Möglichkeit einzuführen, schwebende Aufträge im Börsenausführungsmodus zu den letzten Preisen zu bearbeiten (gemäß dem MT5-Handbuch). Beschreiben Sie Ihre Situation und warten Sie die Antwort ab. Vielleicht ist alles schon vor uns durchdacht worden :)
Vielen Dank für die aufschlussreichen Kommentare und Ratschläge!
Die Broker BCS und Otkritie bieten bereits die Möglichkeit, über das MT5-Terminal an der russischen Börse zu handeln (bisher nur am Futures- und Optionsmarkt FORTS).
Wie setze ich eine Sperre in einer privaten Nachricht?
Von Ihnen selbst? ))
Von Ihnen, nicht den Computer auf das Signal hin einzuschalten und die Leckerlis wieder zu sehen.