Pls Code EMA+PSAR+MACD
Forums › ProRealTime Deutsch forum › ProOrder Support › Pls Code EMA+PSAR+MACD
- This topic has 27 replies, 3 voices, and was last updated 3 years ago by Streaks.
-
-
03/08/2021 at 4:14 PM #163472
Und hier sieht man mal beides.
Irgendwie ist der Bot nicht auf dem Punkt.
EMA9,26/PSAR/MACD1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586DEFPARAM CumulateOrders = FALSE//ONCE CrossOver = 0ONCE CrossUnder = 0IF Not OnMarket THENMySL = 0ENDIF//------------------------ MACD ------------------------MyMACD = Average[12,0](close) - Average[26,0](close)//MySignalLine = Average[26,0](close)MySignalLine = Average[9,0](MyMACD)//MyHisto = MyMACD - MySignalLineCrossOver = MyMACD CROSSES OVER MySignalLineCrossUnder = MyMACD CROSSES UNDER MySignalLineIF CrossOver THENCrossUnder = 0ELSIF CrossUnder THENCrossOver = 0ENDIFIF CrossOver = 0 AND CrossUnder = 0 THENCrossOver = CrossOver[1]CrossUnder = CrossUnder[1]IF CrossOver THENCrossUnder = 0ELSIF CrossUnder THENCrossOver = 0ENDIFENDIF//------------------------ SAR ------------------------MySAR = SAR[0.02,0.02,0.2]LongSAR = close > MySARShortSAR = close < MySAR//------------------------ EMA's ------------------------Ema9 = Average[9,0](close)Ema26 = Average[26,0](close)//--------------------------------------------------------// LONG entryLcond = CrossOver AND LongSAR AND Ema9 CROSSES OVER Ema26 AND Not OnMarketIF Lcond THENBUY 1 Contract AT MarketSL = abs(close - MySAR)TP = 50MySL = MySAR//SL = 100//TP = 100SET STOP LOSS SLSET TARGET PROFIT TPENDIF//--------------------------------------------------------// SHORT entryScond = CrossUnder AND ShortSAR AND Ema9 CROSSES UNDER Ema26 AND Not OnMarketIF Scond THENSELLSHORT 1 Contract AT MarketSL = abs(close - MySAR)TP = 50MySL = MySAR//SL = 100//TP = 100SET STOP LOSS SLSET TARGET PROFIT TPENDIF//--------------------------------------------------------// 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//ENDIF03/08/2021 at 4:31 PM #163477Um Ihre Operationen zu replizieren, muss ich wissen:
- der Name des Werkzeugs
- das Zeitfenster
- Datum und Uhrzeit der Kerzen, die Sie auf dem Foto hervorgehoben haben
- wenn auch der MACD auf dem Foto den einfachen Durchschnitt oder den exponentiellen (oder einen anderen Typ) verwendet.
03/08/2021 at 4:44 PM #16348103/08/2021 at 5:43 PM #163503Der 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:
12graph MyMACD coloured(0,0,255,255)graph MySignalLine coloured(255,0,0,255)03/08/2021 at 6:35 PM #163507Ah 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?
03/09/2021 at 2:17 AM #163534Sie 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!
03/09/2021 at 8:01 AM #163550Guten 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?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687DEFPARAM CumulateOrders = FALSE//ONCE CrossOver = 0ONCE CrossUnder = 0IF Not OnMarket THENMySL = 0ENDIF//------------------------ MACD ------------------------MyMACD = Average[12,1](close) - Average[26,1](close)MySignalLine = Average[9,1](MyMACD)//MyHisto = MyMACD - MySignalLineCrossOver = MyMACD CROSSES OVER MySignalLineCrossUnder = MyMACD CROSSES UNDER MySignalLineIF CrossOver THENCrossUnder = 0ELSIF CrossUnder THENCrossOver = 0ENDIFIF CrossOver = 0 AND CrossUnder = 0 THENCrossOver = CrossOver[1]CrossUnder = CrossUnder[1]IF CrossOver THENCrossUnder = 0ELSIF CrossUnder THENCrossOver = 0ENDIFENDIF//------------------------ SAR ------------------------MySAR = SAR[0.02,0.02,0.2]LongSAR = close > MySARShortSAR = close < MySAR//------------------------ EMA's ------------------------Ema9 = Average[9,0](close)Ema26 = Average[26,0](close)//--------------------------------------------------------// LONG entryLcond = CrossOver AND LongSAR AND Ema9 CROSSES OVER Ema26 AND Not OnMarketIF Lcond THENBUY 1 Contract AT MarketSL = abs(close - SAR[0.02,0.02,0.2])TP = 50MySL = SAR[0.02,0.02,0.2]//SL = 100//TP = 100SET STOP LOSS SLSET TARGET PROFIT TPENDIF//--------------------------------------------------------// SHORT entryScond = CrossUnder AND ShortSAR AND Ema9 CROSSES UNDER Ema26 AND Not OnMarketIF Scond THENSELLSHORT 1 Contract AT MarketSL = abs(close - SAR[0.02,0.02,0.2])TP = 50MySL = SAR[0.02,0.02,0.2]//SL = 100//TP = 100SET STOP LOSS SLSET TARGET PROFIT TPENDIFgraph 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//ENDIF03/09/2021 at 9:16 AM #163560Für ein paar Tage werde ich nicht in der Lage sein, die Schecks zu machen, die Sie mich fragen. Sei geduldig.
03/09/2021 at 9:24 AM #16356303/09/2021 at 11:21 AM #163586Hi 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.
03/09/2021 at 11:46 AM #163587Hallo
du kannst den Code z.B. verwenden.
12345//Handelszeit zwischen 09 Uhr und 17:30IF TIME => 090000 AND TIME =< 1730000 THEN//Die Position wird um 21 Uhr 58 (lokale Zeitzone) glattgestellt.DEFPARAM FlatAFter = 215800War es was du gesucht hast?
Viele Grüße03/09/2021 at 12:21 PM #163591Diese Linie
1DEFPARAM FlatAFter = 215800muss immer am Anfang Ihres Codes stehen.
03/09/2021 at 3:46 PM #163628 -
AuthorPosts
Find exclusive trading pro-tools on