Hilfe bei der Codierung - Seite 40

 

Danke mladen,

Ich habe meinen Code jetzt fertiggestellt (dank Ihrer Hilfe) und er funktioniert wirklich gut. Ich habe den Code auf der Grundlage meines manuellen Handels mit H4- und D1-Charts in den letzten paar Jahren erstellt. Ich denke darüber nach, mein Risiko zu diversifizieren und zwei Konten einzurichten, eines für den Handel mit längerfristigen Charts, das andere für den Handel mit kurzfristigen Charts mit separaten Konten. Daher möchte ich diesen Code anpassen, beispielsweise für M5- und M15-Charts. Ich weiß, dass Strategien auf einem Zeitrahmen funktionieren können, aber nicht auf einem anderen, und etwas, das ich über die kürzeren Term-Charts bemerkt habe, ist, dass sie viel mehr zufällig sind, nicht respektieren S / R sehr viel und anfällig für lange Perioden der Konsolidierung.

Ich frage mich, ob Sie irgendwelche Tipps in Bezug auf kurzfristige Strategien haben - einige Dinge, die ich in Erwägung ziehe, ist, dass der EA mehrere Symbole für die besten Gelegenheiten statt nur ein überprüfen, und auch möglicherweise das Hinzufügen eines MVA Schaffung einer insgesamt 3 für die Länge des Trends auf höheren Zeitrahmen, und vielleicht das Hinzufügen eines Abschnitts des Codes, um den Handel zu stoppen, wenn in einem Bereich der Konsolidierung (sagen wir, wenn die letzten 50 Bars sind zwischen einem 50 Pip-Bereich). Vielleicht sollte auch nur gehandelt werden, wenn der Kurs unter/über der Mittellinie eines Donchian-Kanals liegt und sogar die Dochthöhen überprüft werden.

 

...

Von allen, nur eine "Warnung": es gibt keine Möglichkeit, Multi-Symbol-Handel EAs in Metatrader Backtesting. Wenn Sie das also vorhaben, können Sie nur durch langwierige Vorwärtstests zu verlässlichen Ergebnissen kommen.

Selbst beim normalen Testen ist das Vorwärts-Testen die einzige wirklich akzeptable Form (aufgrund einiger Probleme mit dem Metatrader-Backtesting: völliges Fehlen von historischen Bid-, Ask- und impliziten Spreads, das Fehlen von Swaps, Kommissionen und allem, was damit zusammenhängt, Ticks, die auf ziemlich seltsame Weise simuliert werden, ... und so weiter und so fort ... ), aber die Leute tun es selten, da es Zeit und Hingabe erfordert. Wenn man wirklich versucht, ein System zu entwickeln, auf das man sich verlassen will, kommt nur Vorwärtstesting in Frage.

Das wäre also der einzige Tipp. Zu den Strategien: Es gibt 1000e von Möglichkeiten zu handeln und viele Menschen leben davon, also gibt es nicht "nur eine" Art, es zu tun. Probieren Sie Ihre eigenen Wege aus und wenn Sie vorwärts testen, entdecken Sie vielleicht sogar, dass Sie bereits ein gewinnbringendes System haben.

crsnape@btinternet.com:
Danke mladen,

Ich habe meinen Code jetzt fertiggestellt (dank Ihrer Hilfe) und er funktioniert wirklich gut. Ich habe den Code auf der Grundlage meines manuellen Handels mit H4- und D1-Charts in den letzten paar Jahren erstellt. Ich denke darüber nach, mein Risiko zu diversifizieren und zwei Konten einzurichten, eines für den Handel mit längerfristigen Charts, das andere für den Handel mit kurzfristigen Charts mit separaten Konten. Daher möchte ich diesen Code anpassen, beispielsweise für M5- und M15-Charts. Ich weiß, dass Strategien auf einem Zeitrahmen funktionieren können, aber nicht auf einem anderen, und etwas, das ich über die kurzfristigen Charts bemerkt habe, ist, dass sie viel zufälliger sind, S/R nicht sehr respektieren und anfällig für lange Perioden der Konsolidierung sind.

Ich habe mich gefragt, ob Sie irgendwelche Tipps in Bezug auf kurzfristige Strategien haben - einige Dinge, die ich in Betracht ziehe, sind, dass der EA mehrere Symbole für die besten Gelegenheiten prüft, anstatt nur eines, und möglicherweise auch einen MVA hinzufügt, der eine Gesamtzahl von 3 für die Länge des Trends auf einem höheren Zeitrahmen erzeugt, und vielleicht einen Abschnitt des Codes hinzufügt, um den Handel zu stoppen, wenn er sich in einem Bereich der Konsolidierung befindet (z. B. wenn die letzten 50 Balken in einem Bereich von 50 Pips liegen). Vielleicht sollte auch nur gehandelt werden, wenn der Kurs unter/über der Mittellinie eines Donchian-Kanals liegt und sogar die Dochthöhen überprüft werden.
 

Danke mladen für den Rat.

Ich habe ein seltsames Problem mit meinem EA. Wenn ich ihn auf einem H4-Chart backteste, tut er das, wie er sollte. Wenn ich ihn jedoch auf dem H1-Chart backteste, lädt er die Eingaben (TimingChart = 240 und TrendChart 1440), wie im Journal zu sehen, anstatt TimingChart 60 und TrendChart 240 (ich habe die externen Variablen im Code geändert und auch sichergestellt, dass die Eingaben korrekt sind, wenn ich den EA an den Chart anhänge. Dennoch lädt er weiterhin die falschen Zeitrahmen). Im Journal wird eine ganze Reihe von Problemen angezeigt, darunter OrderModify error 1 und ordersend error 130, Null-Divisionen, die nicht auftreten, wenn ich auf dem H4-Chart teste. Ich habe den Code zwischen den Tests nicht geändert, außer dass ich die externen Variablen geändert habe, und ich kann nur vermuten, dass es die Eingaben sind, die die Fehler verursachen. PS (für Fehler 130 hat mein Broker SL Minimum 0).

Nur um zu klären, auch, dass ich meine EA auf die H1-Chart nur um sicherzustellen, und wählen Sie auch H1 auf das Dropdown-Menü auf Strategie-Tester. Ich habe auch MT4 geschlossen und neu geladen, um zu sehen, ob dies das Problem gelöst, aber leider nicht.

Irgendwelche Ideen?

 

Hallo, kann mir jemand sagen, ob ich bei der Verarbeitung eines Auftragsendes keine Gewinnmitnahme (oder einen anderen Parameter) eingeben möchte, ob ich einfach 0 einfüge?

Und was ist mit OrderModify(), wenn ich eine der Eingaben nicht ändern möchte, füge ich zum Beispiel OrderStopLoss() ein? Wie sieht es aus, wenn kein StopLoss-Level in Orderend eingegeben wurde, bleibt es dann OrderStopLoss() oder wird etwas anderes eingefügt?

Danke!

 

...

Was die Parameter Take-Profit, Stop-Loss, Slippage und Magische Zahl betrifft, so ja

Bei einigen Parametern gibt es verschiedene Möglichkeiten, dies zu vermeiden: Farbe 0 ist zum Beispiel schwarz, also müssen Sie stattdessen CLR_NONE an dieser Stelle verwenden. Wenn eine Zeichenkette erforderlich ist, verwenden Sie NULL (leichter zu erkennen und ist eine übliche Art, dies in Metatrader zu tun)

crsnape@btinternet.com:
Hallo, kann mir jemand sagen, ob ich, wenn ich ein Orderend verarbeite und kein Take-Profit-Level (oder einen anderen Parameter) eingeben möchte, einfach 0 einfüge?
 

Hallo mladen, wenn ich mit OrderModify die ursprüngliche Eingabe gemäß OrderSend beibehalten möchte, gebe ich dann z.B. bei Stoploss OrderStopLoss() ein? Was ist, wenn in OrderSend kein Stoploss eingegeben wurde, gebe ich dann 0 oder trotzdem OrderStopLoss() ein?

Vielen Dank

 

Wenn es ursprünglich keine Order StopLoss gab, wird OrderStopLoss() 0 zurückgeben, also kommt es auf dasselbe hinaus

crsnape@btinternet.com:
Hallo mladen, wenn ich mit OrderModify die ursprüngliche Eingabe gemäß OrderSend beibehalten möchte, gebe ich dann z.B. bei Stoploss OrderStopLoss() ein? Wie sieht es aus, wenn in OrderSend kein Stoploss eingegeben wurde, gebe ich dann 0 ein oder doch OrderStopLoss()? Danke
 

Ist Slippage im Zusammenhang mit Orderend der Spread-Wert?

 

Mir ist aufgefallen, dass im MQL4-Buch der maximale Schlupf erlaubt ist. Ist eine maximale Ausbreitung Code separat geschrieben?

 

...

Nein

Es handelt sich um eine maximale Kursabweichung, die Sie (der Benutzer) vom Broker bei der Ordereröffnung akzeptieren werden

Ein Beispiel:

Preis 1,0000, erlaubte Slippage 0, die Order muss zu 1,0000 eröffnet werden, oder, wenn sie nicht zu genau diesem Preis eröffnet werden kann, erhalten Sie einen Requote

Preis 1,0000, zulässige Slippage 3, die Order kann in einem Bereich zwischen 0,9997 und 1,0003 eröffnet werden

crsnape@btinternet.com:
Ist Slippage im Zusammenhang mit Ordersend der Spread-Wert?
Grund der Beschwerde: