Pls Code EMA+PSAR+MACD

Viewing 13 posts - 16 through 28 (of 28 total)
  • Author
    Posts
  • #163472 quote
    Streaks
    Participant
    New

    Und hier sieht man mal beides.

     

    Irgendwie ist der Bot nicht auf dem Punkt.

    DEFPARAM CumulateOrders = FALSE
    //
    ONCE CrossOver  = 0
    ONCE CrossUnder = 0
    IF Not OnMarket THEN
    MySL = 0
    ENDIF
    //------------------------  MACD  ------------------------
    MyMACD          = Average[12,0](close) - Average[26,0](close)
    //MySignalLine    = Average[26,0](close)
    MySignalLine    = Average[9,0](MyMACD)
    //MyHisto       = MyMACD - MySignalLine
    CrossOver       = MyMACD CROSSES OVER  MySignalLine
    CrossUnder      = MyMACD CROSSES UNDER MySignalLine
    IF CrossOver THEN
    CrossUnder = 0
    ELSIF CrossUnder THEN
    CrossOver  = 0
    ENDIF
    IF CrossOver = 0 AND CrossUnder = 0 THEN
    CrossOver  = CrossOver[1]
    CrossUnder = CrossUnder[1]
    IF CrossOver THEN
    CrossUnder = 0
    ELSIF CrossUnder THEN
    CrossOver  = 0
    ENDIF
    
    ENDIF
    //------------------------  SAR   ------------------------
    MySAR    = SAR[0.02,0.02,0.2]
    LongSAR  = close > MySAR
    ShortSAR = close < MySAR
    //------------------------  EMA's ------------------------
    Ema9     = Average[9,0](close)
    Ema26    = Average[26,0](close)
    //--------------------------------------------------------
    // LONG  entry
    Lcond    = CrossOver  AND LongSAR  AND Ema9 CROSSES OVER  Ema26 AND Not OnMarket
    IF Lcond THEN
    BUY 1 Contract AT Market
    SL    = abs(close - MySAR)
    TP    = 50
    MySL  = MySAR
    //SL    = 100
    //TP    = 100
    SET STOP   LOSS   SL
    SET TARGET PROFIT TP
    ENDIF
    //--------------------------------------------------------
    // SHORT entry
    Scond    = CrossUnder AND ShortSAR AND Ema9 CROSSES UNDER Ema26 AND Not OnMarket
    IF Scond THEN
    SELLSHORT 1 Contract AT Market
    SL    = abs(close - MySAR)
    TP    = 50
    MySL  = MySAR
    //SL    = 100
    //TP    = 100
    SET STOP   LOSS   SL
    SET TARGET PROFIT TP
    ENDIF
    //--------------------------------------------------------
    // Trailing Stop
    //IF LongOnMarket THEN
    //MySL = max(MySL,Ema26)
    //SELL AT MySL STOP
    //ELSIF ShortOnMarket THEN
    //MySL = min(MySL,Ema26)
    //EXITSHORT AT MySL STOP
    //ENDIF
    //--------------------------------------------------------
    // Trailing Stop
    //IF LongOnMarket THEN
    //MySL = max(MySL,MySAR)
    //SELL AT MySL STOP
    //ELSIF ShortOnMarket THEN
    //MySL = min(MySL,MySAR)
    //EXITSHORT AT MySL STOP
    //ENDIF
    //IF shortonmarket then
    
    //ENDIF
     
     
    //ENDIF
    
    #163477 quote
    robertogozzi
    Moderator
    Master

    Um Ihre Operationen zu replizieren, muss ich wissen:

    1. der Name des Werkzeugs
    2. das Zeitfenster
    3. Datum und Uhrzeit der Kerzen, die Sie auf dem Foto hervorgehoben haben
    4. wenn auch der MACD auf dem Foto den einfachen Durchschnitt oder den exponentiellen (oder einen anderen Typ) verwendet.
    #163481 quote
    Streaks
    Participant
    New

    Oh ja natürlich gerne.

    Hoffe das Bild ist ein bisschen besser.

    1. MACD Line Cross Signal Line (Blau und Rot)
    2.  5 Minuten Chart
    3. 04.03.2021  18:30Uhr
    4. ich nutze den einfachen MACD

    Hoffe das hilft Ihnen.

    Danke.

    #163503 quote
    robertogozzi
    Moderator
    Master

    Der MACD in der Grafik (der von ProRealTime) verwendet NICHT den einfachen Durchschnitt, sondern den exponentiellen. Sie müssen 1 mit AVERAGE verwenden, nicht 0. Wenn Sie 0 (einfacher Durchschnitt) verwenden, erhalten Sie unterschiedliche Ergebnisse von ProRealTime MACD. Fügen Sie einfach diese beiden Zeilen am Ende des Codes hinzu und Sie sehen im Variablenfenster die Werte IHRES Macd:

    graph MyMACD       coloured(0,0,255,255)
    graph MySignalLine coloured(255,0,0,255)
    #163507 quote
    Streaks
    Participant
    New

    Ah ok.

     

    aber auch hier wenn das mit dem MACD so stimmt, dann müsste die Verkaufsorder ja schon ein Stück früher kommen oder nicht?

    Denn wenn PSAR Short und EMA 9 Cross EMA 26 Short und MACD Cross auch Short dann hääte am 04.03.2021 um 18:30 schon Short ausgelöst werden müssen oder?

    #163534 quote
    robertogozzi
    Moderator
    Master

    Sie müssen vorsichtiger sein, ich habe Ihnen gesagt, dass Sie mit dem MACD vorsichtig sein sollen, da ProRealTime die EMA verwendet (dies ist der Durchschnitt, der in der Originalformel verwendet wird), während Sie im Code die SMA verwendet haben. Dafür haben Sie unterschiedliche Ergebnisse erhalten. Jetzt haben Sie dasselbe mit den beiden Durchschnittswerten gemacht. Im Code werden die SMA verwendet, während Sie in der Tabelle die EMA verwendet haben. Sie sind UNTERSCHIEDLICH, sodass Sie unterschiedliche Ergebnisse (und Kreuze) erhalten. Es müssen Vergleiche mit allen IDENTISCHEN Codes und Daten durchgeführt werden, sonst gibt es immer Unterschiede!

    #163550 quote
    Streaks
    Participant
    New

    Guten Morgen Roberto,

    Sie haben Recht, ich habe einfach aus dem Indikator 0 gemacht und das heißt SMA.

    Ich habe es wieder zurück geändert dann kommt es auch hin.

    Aber was mich noch wundert, wenn ein Kaufsignal vorherscht aber dann durch ein Verkaufssignal durch alle 3 Indikatoren kommen müsste, schließt das System nicht automatisch und eröffnet nicht in die andere Richtung einen Trade.

    Und mein SL, so das  wenn der Kurs  an das PSAR ran kommt und wechselt, dann schließt das System auch nicht den Trade. Bild: Bsp6

    Im Bild Bsp5 habe ich noch mal fest gestellt das das System hier keine Kauforder getätigt hat, aber warum? Es gab keine offene Position, alle Indikatoren sind auf Buy.

    Können Sie mir da nochmal helfen?

    DEFPARAM CumulateOrders = FALSE
    //
    ONCE CrossOver  = 0
    ONCE CrossUnder = 0
    IF Not OnMarket THEN
    MySL = 0
    ENDIF
    //------------------------  MACD  ------------------------
    MyMACD          = Average[12,1](close) - Average[26,1](close)
    MySignalLine    = Average[9,1](MyMACD)
    //MyHisto       = MyMACD - MySignalLine
    CrossOver       = MyMACD CROSSES OVER  MySignalLine
    CrossUnder      = MyMACD CROSSES UNDER MySignalLine
    IF CrossOver THEN
    CrossUnder = 0
    ELSIF CrossUnder THEN
    CrossOver  = 0
    ENDIF
    IF CrossOver = 0 AND CrossUnder = 0 THEN
    CrossOver  = CrossOver[1]
    CrossUnder = CrossUnder[1]
    IF CrossOver THEN
    CrossUnder = 0
    ELSIF CrossUnder THEN
    CrossOver  = 0
    ENDIF
    
    ENDIF
    //------------------------  SAR   ------------------------
    MySAR    = SAR[0.02,0.02,0.2]
    LongSAR  = close > MySAR
    ShortSAR = close < MySAR
    //------------------------  EMA's ------------------------
    Ema9     = Average[9,0](close)
    Ema26    = Average[26,0](close)
    //--------------------------------------------------------
    // LONG  entry
    Lcond    = CrossOver  AND LongSAR  AND Ema9 CROSSES OVER  Ema26 AND Not OnMarket
    IF Lcond THEN
    BUY 1 Contract AT Market
    SL    = abs(close - SAR[0.02,0.02,0.2])
    TP    = 50
    MySL  = SAR[0.02,0.02,0.2]
    //SL    = 100
    //TP    = 100
    SET STOP   LOSS   SL
    SET TARGET PROFIT TP
    ENDIF
    //--------------------------------------------------------
    // SHORT entry
    Scond    = CrossUnder AND ShortSAR AND Ema9 CROSSES UNDER Ema26 AND Not OnMarket
    IF Scond THEN
    SELLSHORT 1 Contract AT Market
    SL    = abs(close - SAR[0.02,0.02,0.2])
    TP    = 50
    MySL  = SAR[0.02,0.02,0.2]
    //SL    = 100
    //TP    = 100
    SET STOP   LOSS   SL
    SET TARGET PROFIT TP
    ENDIF
    graph MyMACD       coloured(0,0,255,255)
    graph MySignalLine coloured(255,0,0,255)
    //--------------------------------------------------------
    // Trailing Stop
    //IF LongOnMarket THEN
    //MySL = max(MySL,Ema26)
    //SELL AT MySL STOP
    //ELSIF ShortOnMarket THEN
    //MySL = min(MySL,Ema26)
    //EXITSHORT AT MySL STOP
    //ENDIF
    //--------------------------------------------------------
    // Trailing Stop
    //IF LongOnMarket THEN
    //MySL = max(MySL,MySAR)
    //SELL AT MySL STOP
    //ELSIF ShortOnMarket THEN
    //MySL = min(MySL,MySAR)
    //EXITSHORT AT MySL STOP
    //ENDIF
    //IF shortonmarket then
    
    //ENDIF
     
     
    //ENDIF
    
    #163560 quote
    robertogozzi
    Moderator
    Master

    Für ein paar Tage werde ich nicht in der Lage sein, die Schecks zu machen, die Sie mich fragen. Sei geduldig.

    #163563 quote
    Streaks
    Participant
    New

    Kein Problem.

    Danke überhaupt das Sie sich meiner annehmen 😀

    Ich wünsche alles Gute und freue mich auf Ihre Antwort.

    #163586 quote
    Streaks
    Participant
    New

    Hi Roberto,

    Ich glaube ich habe alles.

    Ich habe es nun so geschafft.

    Was mich noch interessieren würde ist das ich meine Handelszeiten gerne einstellen würde.

    Z.b. Handeln von ……Uhr bis …… Uhr und von …… Uhr bis ……..Uhr.

     

    Gibt es da eine bestimmte Einstellung? Danke.

    #163587 quote
    Fuchsilein
    Participant
    Junior

    Hallo

    du kannst den Code z.B. verwenden.

     

    //Handelszeit zwischen 09 Uhr und 17:30
    IF TIME => 090000 AND TIME =< 1730000 THEN
    
    //Die Position wird um 21 Uhr 58 (lokale Zeitzone) glattgestellt.
    DEFPARAM FlatAFter = 215800

    War es was du gesucht hast?
    Viele Grüße

    #163591 quote
    robertogozzi
    Moderator
    Master

    Diese Linie

    DEFPARAM FlatAFter = 215800

    muss immer am Anfang Ihres Codes stehen.

    #163628 quote
    Streaks
    Participant
    New

    Cool,

     

    danke an Fuchsi und Roberto.

Viewing 13 posts - 16 through 28 (of 28 total)
  • You must be logged in to reply to this topic.

Pls Code EMA+PSAR+MACD


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
Streaks @streaks Participant
Summary

This topic contains 27 replies,
has 3 voices, and was last updated by Streaks
4 years, 11 months ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 03/06/2021
Status: Active
Attachments: 7 files
Logo Logo
Loading...