Hi,
ich bin hier ziemlich neu und habe kaum Erfahrung mit dem automatischen traden über Prorealtime. Mit MT4 habe ich shcon ein wenig erfahrung aber das Coden konnte ich noch nie.
Ich suche jemanden der mir diesen Bot coden kann.
Siehe File Anhang.
Danke. Würde mich über Hilfe freuen.
Vielleicht würde es dann auch in allen Zeiteinheiten gehen, das wäre super.
Und das man die Lot Anzahl eintragen kann. (mini oder Microlot).
Da ist er:
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,1](close)
Ema26 = Average[26,1](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 - Ema26)
TP = SL * 2
MySL = Ema26
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 - Ema26)
TP = SL * 2
MySL = Ema26
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
Boa, danke Roberto für die schnelle Arbeit.
Der sieht schon richtig gut aus 😀
Mir viel gerade ein kannst du auch noch einen TP einbauen?
Danke schon mal vorab.
Ah ich sehe…du hast ja schon Tp uns SL eingebaut.
Danke. Sry für mein Unwissen ;(
Du bist ja gerade on.
Sag mal kann ich einfach dür SL = EMA26 auch eine andere EMA eingeben? Oder Pips?
Ja, aber Sie müssen einige Änderungen vornehmen:
- Sie müssen die aktuelle Berechnung löschen und ihr die gewünschte PIPS-Nummer zuweisen
- Sie müssen ein führendes " p " zu GEWINN und VERLUST hinzufügen
- Sie müssen den Trailing Stop ändern.
Könnten Sie mir den SL als Supertrend coden?
Das wäre sehr schön.
Danke vorab.
Getan:
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,1](close)
Ema26 = Average[26,1](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 - Ema26)
SL = abs(close - Supertrend[3,10])
TP = SL * 2
MySL = Supertrend[3,10]
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 - Ema26)
SL = abs(close - Supertrend[3,10])
TP = SL * 2
MySL = Supertrend[3,10]
SET STOP LOSS SL
SET TARGET PROFIT TP
ENDIF
//--------------------------------------------------------
// Trailing Stop
ST = Supertrend[3,10]
IF LongOnMarket THEN
MySL = max(MySL,ST)
SELL AT MySL STOP
ELSIF ShortOnMarket THEN
MySL = min(MySL,ST)
EXITSHORT AT MySL STOP
ENDIF
Hi Roberto.
Danke dir sehr.
Habe auch noch über den PSAR den SL gemacht.
Aber was noch nicht hinhaut ist das mit dem MACD.
Würdest du mal schauen ob die MACD Line (12/26/9) Blau und die Rote Signalline(12/26/9) sich kreuzen jeweils short und long sein sollten und nicht so wie jetzt?
Ich habe es leider nicht hinbekommen. 🙁 siehe unten im BSP.
Danke.
//———————— 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
//b = MACDline[12,26,9](close) //Macdline
//c = ExponentialAverage[9](b) //Signal line
//CrossOver[b CROSSES OVER c]
ENDIF
Verwenden Sie immer die Schaltfläche “Insert PRT Code” , wenn Sie Code in Ihre Nachrichten einfügen, um das Lesen für andere zu erleichtern.
Danke 🙂
Zeile 3 entferne es, du brauchst es nicht. Es scheint mir, dass der Macd und die Frequenzweichen in Ordnung sind.
Hi Roberto,
ich habe die Zeile 3 nun ausgeklammert aber irgendwie ist es immer noch nicht das was es sein sollte.
Es müsste wenn alle 3 Indikatoren in die gleiche Richtung gehen dann sollte das System kaufen oder Verkaufen.
Sry für meine ganzen fragen 🙁