Nach Positionsschließung keine neue Order direkt ausführen

Forums ProRealTime Deutsch forum ProOrder Support Nach Positionsschließung keine neue Order direkt ausführen

Viewing 15 posts - 1 through 15 (of 42 total)
  • #183005

    Hallo zusammen,

    ich habe bei meinem Code das Problem, dass direkt nach der Positionsschließung eine neue Order eröffnet wird, wenn das Setup stimmt.

    Hier ein Beispiel:

    Der Kauf wird bei einem Kurs über EMA 20 ausgeführt und die Position wird mit einem TakeProfit geschlossen. Wenn sich der Kurs dann weiterhin über dem EMA 20 befindet wird direkt eine neue Position eröffnet.

    Das sollte aber nicht der Fall sein.

    Wie kann ich das sinnvoll lösen? (Bspw. dass der Kurs zuerst wieder unter den EMA fallen muss etc.)

    Besten Dank vorab.

     

    #183079

    Fügen Sie zu Beginn die Variable FLAG hinzu und weisen Sie ihr den Wert 0 zu, wenn sie nicht auf dem Markt ist und ein Kreuz vorhanden ist:

    fügen Sie dann unter Ihren Bedingungen hinzu, die Sie nur eingeben, wenn auch FLAG = 0 ist:

    schließlich, sobald die Eingabe erfolgt ist (unmittelbar nach BUY oder SELLSHORT), weisen Sie 1 FLAG zu:

    #183081

    Vielleicht reicht auch schon:

     

    close crosses over EMA20

    #183122

    Danke Euch erstmal für das Feedback.

    Leider klappt mein Code nicht wie gewünscht.

    Anweisung:

    Kauf: bei Eröffnung > EMA8

    Verkauf: bei Eröffnung < EMA8 oder Eröffnung < Tief der vorangegangen zwei Perioden

    Problem 1) Die Order (Kauf und Verkauf) wird stets einen Candlestick zu spät ausgeführt

    Problem 2) bereits oben genanntes Szenario: Es wird direkt nach einem Verkauf eine neuer Kauf getätigt, wenn das Setup passt. Hier sollte die Bedingung sein, dass der Kurs zuerst wieder unter den EMA 8 fallen muss.

    Wäre toll, wenn mir jemand das entsprechend bei meinem Coden anpassen könnte.

    Danke vorab.

    Hier ist mein Code:

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert

    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = ExponentialAverage[8](totalPrice)
    c1 = (open > indicator1)

    IF c1 THEN
    BUY 5 CONTRACT AT MARKET
    ENDIF

    // Bedingungen zum Ausstieg von Long-Positionen
    indicator2 = ExponentialAverage[8](totalPrice)
    c2 = (open < indicator2)
    c3 = (open < low[2])

    IF c2 OR c3 THEN
    SELL AT MARKET
    ENDIF

     

    #183126

    Bist du spät? Denken Sie daran, dass Strategien am Ende jeder Kerze ausgeführt werden. Wenn Sie also in den Markt eintreten, sehen Sie den Einstiegspfeil auf der nächsten Kerze.

    #183133

    Danke Roberto,

    Ok, das ist ja schade.

    1. Kann man die Order nicht zu Beginn oder während der Periode ausführen?
    2. wie kann ich meinen Code anpassen, dass nicht direkt eine neue Order eröffnet wird? Hättest Du einen Vorschlag für mich?
    #183138
    1. Die Bedingungen werden nur am Ende einer Kerze überprüft; Vor einigen Jahren wurde jedoch die MTF-Unterstützung (Multiple Time Frame) eingeführt, die es Ihnen ermöglicht, verschiedene Zeitrahmen innerhalb derselben Strategie (oder desselben Indikators) zu verwenden. Auf diese Weise können Sie die Bedingungen auf einem kleineren Zeitrahmen überprüfen, wenn die Kerze steht mehr tolles ist noch in der ausbildung. Wenn Sie beispielsweise den 1-Stunden-Zeitrahmen verwenden, können Sie die Bedingungen in jeder der 60 Minuten, die die Kerze bildet, überprüfen, um zu sehen, ob die Bedingungen VOR dem Schluss eingetreten sind. Der Nachteil dieser Lösung besteht darin, dass Sie weniger Historie für die Backtests haben (200.000 Minuten sind viel weniger als 200.000 Stunden).
    2. Um eine Order nicht sofort auszuführen, können Sie eine Pending Order verwenden, um dies zu einem anderen Preis zu tun, oder Sie können eine Variable verwenden, der Sie bei Erfüllung einer Bedingung einen bestimmten Wert zuweisen, und dann in den Markt einsteigen, wann immer Sie möchten, in einer der folgenden Balken. Wenn Sie ein Beispiel geben, ist es einfacher, Ihnen die Erklärung zu geben.
    #183142

    Hier ist mein Code mit Anweisung:

    Kauf: bei Eröffnung > EMA8

    Verkauf: bei Eröffnung < EMA8 oder Eröffnung < Tief der vorangegangen zwei Perioden

    Problem: Es wird direkt nach einem Verkauf eine neuer Kauf getätigt, wenn das Setup gültig ist. Hier sollte die Bedingung sein, dass der Kurs zuerst wieder unter den EMA 8 fallen muss.

    Wie könnte ich die Variable Flag in meinen Code einbauen?

    Wie würde eine MTF-Unterstützung bei meinem Code aussehen, sodass die Order sofort ausgelöst wird?

    Können Sie diesen entsprechend erweitern?

    Vielen Dank.

     

     

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert

    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = ExponentialAverage[8](totalPrice)
    c1 = (open > indicator1)

    IF c1 THEN
    BUY 5 CONTRACT AT MARKET
    ENDIF

    // Bedingungen zum Ausstieg von Long-Positionen
    indicator2 = ExponentialAverage[8](totalPrice)
    c2 = (open < indicator2)
    c3 = (open < low[2])

    IF c2 OR c3 THEN
    SELL AT MARKET
    ENDIF

    #183150

    Leider kann ich Ihnen erst am Montag genauer antworten.

    Hier finden Sie Anleitungen und Beispiele:

    https://www.prorealcode.com/blog/learning/approach-multi-timeframe-trading-prorealtime/

    https://www.prorealcode.com/topic/multi-timeframe-mtf- Indikatoren -for-prorealtime /

    Wenn Sie im Forum nach MTF suchen, finden Sie viele weitere Beispiele und nützliche Informationen.

    sofort ” ist falsch, da jede Strategie IMMER am Ende eines Balkens ausgeführt wird (sei es 1 Tag, 1 Stunde oder 1 Sekunde). Mit 1 Minute oder 1 Sekunde kommt man nah an „ sofort “, aber nicht ganz genau!

    #183225

    leider habe ich noch keine passende Lösung gefunden.

    Können bei meinem unten befindlichen Code zum einen ergänzen, dass die Order während einer 5min die Order ausgeführt wird und zum anderen, dass direkt nach einem Verkauf kein neuer Kauf getätigt wird, sondern der Kurs zuerst wieder unter den EMA 8 fallen muss.

    Hier ist mein Code mit Anweisung: (timeframe: 5min)

    Kauf: bei Eröffnung > EMA8

    Verkauf: bei Eröffnung < EMA8 oder Eröffnung < Tief der vorangegangen zwei Perioden

    Problem: Es wird oft direkt nach einem Verkauf eine neuer Kauf getätigt, wenn das Setup gültig ist. Hier sollte die Bedingung sein, dass der Kurs zuerst wieder unter den EMA 8 fallen muss.

    Wie könnte ich die Variable Flag in meinen Code einbauen?

    Wie würde eine MTF-Unterstützung bei meinem Code aussehen, sodass die Order während der gültigen 5min ausgelöst wird?

    Können Sie diesen entsprechend erweitern?

    Vielen Dank.

    Hier mein aktueller Code:

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert

    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = ExponentialAverage[8](totalPrice)
    c1 = (open > indicator1)

    IF c1 THEN
    BUY 5 CONTRACT AT MARKET
    ENDIF

    // Bedingungen zum Ausstieg von Long-Positionen
    indicator2 = ExponentialAverage[8](totalPrice)
    c2 = (open < indicator2)
    c3 = (open < low[2])

    IF c2 OR c3 THEN
    SELL AT MARKET
    ENDIF

    #183234

    This should work:

     

    #183279

    yes it works, thanks

    Können Sie mir in den Code auch noch das MTF einbauen, sodass eine 5min – Kerze während ihrer Periode gekauft wird und nicht erst am Ende. Bestmöglich zu Beginn, wenn das Setup eintrifft.

    Danke.

     

    #183282

    Hier ist es, Sie können es auf dem TF in 1 Minute oder sogar 1 Sekunde ausprobieren!

    #183288

    das klappt leider nicht.

    Ich möchte, dass die Order sofort in der 5min Kerze ausgeführt wird, die über dem EMA 8 eröffnet. Bestmöglich eine Sekunde später. Können Sie das integrieren?

    #183307

    Ändern Sie Zeile 3 wie folgt:

Viewing 15 posts - 1 through 15 (of 42 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login