EMA Strategie Hilfe

7 Antworten

Daviden1

Abonnent, bbp_participant, Gemeinschaft, 14 Antworten.

Profil besuchen

vor 11 Jahren #110930

Hallo, Leute,

Ich arbeite an einer einfachen EMA-Strategie, bei der der Handel beginnt, sobald der Fast Ema den Low EMA kreuzt.

Ich habe bereits den S/L und den Trailing Stop gesetzt, aber ich möchte einen zusätzlichen S/L erstellen, der im folgenden Fall funktionieren soll:

Long Trade: Wenn die Kerze unterhalb des Slow Ma
Short Trade: Wenn die Kerze über dem Slow Ma

Ich habe den folgenden Code in den Assistenten eingegeben, um dieses S/L zu erstellen, aber es sieht so aus, als hätte ich etwas falsch gemacht, denn ich habe nicht das bekommen, was ich mir erhofft hatte:

Wenn:

OrderPosition(Magische Zahl) is Long
und: isBaropen ist wahr
und close[1] <SlowEma

Dann:

Position schließen (Magische Zahl)

Was genau habe ich falsch gemacht und wie kann ich dieses S/L zum Laufen bringen?

Vielen Dank im Voraus für Ihre Hilfe und frohe Weihnachten

David

0

stearno

Kunde, bbp_participant, Gemeinschaft, 379 Antworten.

Profil besuchen

vor 11 Jahren #121067

Das Einzige, was ich mir vorstellen kann, ist, dass das Problem darin besteht, dass Sie 2 Regeln haben, die miteinander konkurrieren, um einen Stop Loss bei einem Preis zu setzen, wenn die Bedingungen erfüllt sind, und einen Trailing Stop Loss aus der Hauptregel. In Ihrer Hauptregel heißt es also, dass der Stop-Loss auf 1,5028 gemäß dem Trailing-Stop-Loss verschoben werden sollte, und dann sagt eine andere Regel, bei der der Close < SlowEMA ist, dass der Stop-Loss bei 1,5018 liegen sollte.

Ich würde vorschlagen, zu versuchen, den nachlaufenden Stop-Loss aus der Hauptregel zu entfernen, eine zusätzliche Regel zu erstellen, die den nachlaufenden Stop-Loss setzt, wie Sie wollen, und dann diesen anderen nachlaufenden Stop-Loss, wenn Close < slowEma ist. Es wäre also wie:

[u][b]Haupteintragsregel[/b][/u]
* Trailing Stop entfernen. Setzen Sie das Gewinnziel und den ursprünglichen Stop-Loss

[u][b]Trailing Stop 1[/b][/u]
* Legen Sie Bedingungen fest, wie der Trailing-Stop verwaltet werden soll. So könnte es aussehen:
IF
[indent=1][color=#282828][font=helvetica, arial, sans-serif]OrderPosition(Magic Number) is Long[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]und: isBaropen ist True[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]und schließen[1] > SlowEma[/font][/color][/indent]
Dann
[indent=1]Geben Sie Ihren Trailing Stop Loss ein[/indent]

[u][b]Trailing Stop 2[/b][/u]
IF
[indent=1][color=#282828][font=helvetica, arial, sans-serif]OrderPosition(Magic Number) is Long[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]und: isBaropen ist True[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]und schließen[1] < SlowEma[/font][/color][/indent]
Dann
[indent=1]Geben Sie Ihren Trailing Stop Loss ein[/indent]

Jetzt würde ich denken, dass Sie keinen konkurrierenden Trailing-Stop-Loss haben und dass eine Regel den Trailing-Stop zu einem bestimmten Zeitpunkt kontrolliert, je nachdem, welche Bedingungen erfüllt sind. Sie könnten dies versuchen und sehen, ob es das Problem behebt.

0

Daviden1

Abonnent, bbp_participant, Gemeinschaft, 14 Antworten.

Profil besuchen

vor 11 Jahren #121069

Danke Stearno,

Tatsache ist, dass ich den Trailing-Stop nicht in meinen Haupteinstiegsregeln habe, sondern in meinen Einstiegsregeln nur den Stop-Loss.
Dann habe ich eine zusätzliche Regel hinzugefügt, wie Sie vorgeschlagen haben, mit neuen Regeln für den Trailing-Stop, und jetzt versuche ich, diesen neuen Stop Loss zu erstellen, der funktionieren soll, wenn der Schlusskurs den slowMA kreuzt oder darunter liegt.

Wenn der Code, den ich verwende, nicht falsch ist, konkurriert wahrscheinlich, wie Sie sagten, eine andere Regel mit dieser neuen Regel für die S/L.

Gibt es irgendeinen Code, den ich zu den oben genannten hinzufügen kann, um den Regelkonflikt zu vermeiden?

Nochmals vielen Dank

0

stearno

Kunde, bbp_participant, Gemeinschaft, 379 Antworten.

Profil besuchen

vor 11 Jahren #121070

Okay, gut. Sie haben jetzt also 2 Regeln, die Trailing Stops durchführen. Lassen Sie mich sie benennen, um es einfacher zu machen.

Was ich bis jetzt von Ihnen erfahren habe, ist, dass TS-Regel 2 lautet:
[color=#282828][font=helvetica, arial, sans-serif]IF[/font][/color]

[indent=1]OrderPosition(Magische Zahl) is Long
und: isBaropen ist wahr
und close[1] > SlowEma[/indent]
[color=#282828][font=helvetica, arial, sans-serif]Dann[/font][/color]

[indent=1][color=#282828][font=helvetica, arial, sans-serif]Geben Sie Ihren Trailing-Stop-Loss ein[/font][/color][/indent]

[color=#282828][font=helvetica, arial, sans-serif][color=#282828][font=helvetica, arial, sans-serif]TS-Regel 1[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]? - Ich kenne die hier verwendeten Aussagen nicht.[/font][/color]

[b][color=#282828][font=helvetica, arial, sans-serif]2 Gedanken:[/font][/color][/b]
[color=#282828][font=helvetica, arial, sans-serif]1. Die DANN-Anweisung für diese Regeln muss tatsächlich "Move SL to" heißen, anstatt einen Trailing-Stop zu setzen, wie in der Anlage zu sehen. [/font][/color][/font][/color]Sie ändern eigentlich nur den Stop-Loss bei jedem Bar, wenn die aufgeführten Bedingungen erfüllt sind, anstatt das Feld namens Trailing Stop zu verwenden

[font=”helvetica, arial, sans-serif”][color=”#282828″]2. TS-Regel 1 - muss eine Bedingung haben, die sie von TS-Regel 2 trennt. Wenn also TS-Regel 2 besagt "close[1] > SlowEma", dann würde ich vorschlagen, dass TS-Regel 1 lautet [/color][/font][color=#282828][font=helvetica, arial, sans-serif]"close[1] < SlowEma". Auf diese Weise wird immer nur eine Regel angewendet. [/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]Behebt eine von diesen das Problem? Wenn nicht, posten Sie die SQW-Datei, damit wir uns den eigentlichen Code ansehen können[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]-Stearno[/font][/color]

0

Daviden1

Abonnent, bbp_participant, Gemeinschaft, 14 Antworten.

Profil besuchen

vor 11 Jahren #121074

Danke Stearno, aber ich glaube, ich habe Ihnen mein Programm nicht klar genug erklärt.

Ich habe die folgenden Regeln:

1) Haupteintragsregeln mit nur dem S/L im "DANN-Abschnitt".

2) Dynamische TS-Regel, die auf einem benutzerdefinierten Indikator mit "move S/L to" im "THEN-Abschnitt" basiert, was bedeutet:

Wenn:
Marktposition ist Long
und: Bestellung S/L (MagicLong) < icustom..............

Dann:

S/L verschieben nach:

Magische Zahl: magicLong
Preis: icustom.................

Offensichtlich habe ich einen TS mit entgegengesetzten Regeln für die Short Trades.

3) Jetzt möchte ich einen S/L erstellen (sowohl für Long- als auch für Short-Trades), der den Handel sofort schließt, wenn der Abschluss des Balkens den SlowMA nach unten für Long-Trades und nach oben für Short-Trades überschreitet.

So etwas habe ich mir auch gedacht, aber es funktioniert nicht:

Für Long Trades:

Wenn:

MarktPosition ist Long
und: isBarOpen ist wahr
und: OrderS/L(MagicLong) <-20
und: Close[1] < SlowMA

Dann:

ClosePosition

MagicNumber: MagicLong

Das Gleiche gilt für die umgekehrte Regel, für die Short Trades.

Bitte lassen Sie mich wissen, was Sie denken. Wenn Sie nichts finden, werde ich die .mq4-Datei anhängen.

Nochmals vielen Dank

0

Daviden1

Abonnent, bbp_participant, Gemeinschaft, 14 Antworten.

Profil besuchen

vor 11 Jahren #121075

Tut mir leid, Stearno,

In den neuen Regeln zum Schließen des Handels habe ich einen Fehler gemacht, die folgende Regel ist die richtige:

Für Long Trades:

Wenn:

MarktPosition ist Long
und: isBarOpen ist wahr
und: OpenS/L(MagicLong) <-20 (nicht OrderS/L wie oben)
und: Close[1] < SlowMA

Jedenfalls hänge ich die .sqw-Datei an, damit Sie sich selbst ein Bild machen können.

Danke

0

stearno

Kunde, bbp_participant, Gemeinschaft, 379 Antworten.

Profil besuchen

vor 11 Jahren #121077

Eine Sache, die mir aufgefallen ist, ist, dass die EA S/R (Barry) v1 und v2 beide verweist. Ist dies ein Fehler?

Datei: v1.jpgv1.jpg

Die zweite gute Nachricht ist, dass Ihre Regeln nicht miteinander kollidieren, wie ich ursprünglich diskutiert hatte. Sie haben eine Regel, die den Stop-Loss verschiebt, und dann einen Notfall-Stop-Loss, der den Auftrag schließt, wenn -20 (Mark wird überprüfen müssen, ob dies das richtige Format und die richtige Verwendung ist, da ich -20 noch nie verwendet habe; wenn es in Ordnung ist, dann ist es in Ordnung)

Eine andere Sache, die mir aufgefallen ist, ist, dass Barry S/R sich bewegt. Also, wenn die Verwendung, die als Trailing Stop Loss, dann der Stop-Loss wird ständig bewegen, auch nach unten. Wenn dies ist, was Sie wollen, dann ist es in Ordnung.

Zum Beispiel,

Im Moment sagt S/R Barry, dass das Niveau bei 1.60778 liegen soll. Also Sie EA setzt den Anschlag x Pips unter diesem Niveau. Dann ging der Preis nach unten (aber nicht weit genug, um Ihren Stop-Loss zu treffen, weil Sie es x Pips unter der Unterstützung setzen), Jetzt S/R Barry sagt, eine Unterstützungslinie 1.60749 zu setzen. Also jetzt die EA wird der Stop-Loss x Pips unter diesem Niveau zu bewegen. Dies wird fortgesetzt, bis der Preis entweder bewegt sich groß genug, um Ihre Stop-Loss zu treffen oder es trifft Ihre Notfall von -20 Verlust.

Ein Beispiel dafür ist hier zu sehen:

Wie Sie sehen können, wird der Stop-Loss so lange nach unten verschoben, bis ein starker Kursausschlag Ihren SL trifft oder bis der P/L des Auftrags erreicht ist. < -20. Okay, also zu Ihrer Frage, warum funktioniert der SL nicht wie hier zu sehen:

Ich glaube, Mark sagte in einem anderen Beitrag, dass Sie "Is Bar Open is True" für jede Regel verwenden müssen. Es ist ein Auslöser, der die Regel jedes Mal startet, wenn eine Bar geöffnet ist. Also, wenn dies richtig ist, dann würde das erklären, warum die SL nicht pro Ihre Regel bewegt wird. Ich kann sehen, was Sie versuchen zu tun, das ist, dass der EA auf jedem Tick anstelle von Bar Open berechnen. Aber ich weiß nicht, wie man das im EA-Assistenten macht, und ich sehe es nicht als Option in der Software, wie es eine Option im EA-Generator war. Das lässt mich vermuten, dass es im Moment nicht verfügbar ist und ich die Anweisung Bar Open in jeder Regel verwenden muss. Ich habe nicht die SR Barry v1 oder v2 Indikatoren, so kann ich nicht testen, dass dies den EA zum Funktionieren bringen würde. So versuchen, dass und sehen, welche Ergebnisse Sie erhalten.

-Stearno

0

Daviden1

Abonnent, bbp_participant, Gemeinschaft, 14 Antworten.

Profil besuchen

vor 11 Jahren #121078

Hallo, Stearno,

zunächst einmal vielen Dank, dass Sie sich die Zeit genommen haben, meinen EA zu testen... Ich habe das wirklich zu schätzen gewusst.

Ich werde Ihre Fragen der Reihe nach beantworten:

1) Der V1-Ausgang in der "IF"-Codierung und der V2-Ausgang in der "THEN"-Bedingung, ich weiß nicht, ob es ein Fehler ist, weil Mark mir bei diesem Code geholfen hat... aber die Strategie funktioniert so, wie ich es wollte, daher glaube ich nicht wirklich, dass es ein Fehler ist; ich werde Mark danach fragen.

2) Was das Open P/L < - 20 angeht, so ist dies eine Formel, die Mark im Tutorial im Abschnitt "Using Strategy Controls" geschrieben hat.

3) Ja, das ist, was ich will. Die S/R (Barry) folgt dem Markt und zeichnet Unterstützung und Widerstand Ebenen, sobald die Bedingung erfüllt sind, und es ist toll, wie TS.... bei Liste für meine Strategie.
Ich habe kein Take Profit für meine Strategie, ich lasse einfach den S/L dem Markt folgen, bis der TS erreicht ist.

4) Der Sinn von < -20 war eigentlich nicht, den Handel zu schließen, wenn mein S/L 20 Pips oder mehr erreicht. Was ich versuchte, mit diesem Code zu tun ist, um TRUE die anderen Bedingungen in der Emergency S/L nur, wenn meine Open Loss unter den 20 Pips ist.

Das ist genau das, was ich dem EA mit der Notbremse zu sagen versuche:

Wenn ein neuer Balken eröffnet wird, prüfen Sie, ob der Schluss des vorherigen Balkens unter dem Slow MA (bei einem Long Trade) oder über dem Slow MA (bei einem Short Trade) liegt.
Wenn das WAHR ist und mein aktueller Verlust unter 20 Pips liegt (das ist der Grund, warum ich den offenen P/L < - 20 setze), DANN schließen Sie den Handel.

Korrigieren Sie mich, wenn ich falsch liege... Im Grunde genommen sagen Sie, dass dieser Notfall S/L nicht funktioniert, weil ich den isBarOpen-Code auch in meinen MAIN ENTRY-Regeln eingeben sollte?

Nochmals vielen Dank

0

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)