Hallo,
ich verwende einen Traillingstop mit dem ATR den ich gern im Chart (Stundenchart) mit graphonprice sichtbar machen möchte.
SET STOP PTRAILING (AverageTrueRange[14](close))*2
Mit diesem code hier funktioniert es leider nicht
Graphonprice Tradeprice – (AverageTrueRange[14](close))*2 coloured(“Blue”)
Was mache ich falsch??
Vielen Dank und Grüße
Versuchen Sie es mit dieser Zeile:
Graph Tradeprice – (AverageTrueRange[14](close))*2 coloured(“Blue”)
Hallo Danke
ist diese SL Anweisung im Code überhaupt richtig? Er steigt an einer anderen Stelle aus?
SET STOP pTRAILING (AverageTrueRange[14](close))//*2
Ja, es ist formal korrekt, aber ich denke, es ist nicht die richtige Lösung, da SET STOP pTRAILING den Zeitpunkt des Abgangs bestimmt, nachdem der Anpassungsschritt in 1 Punkt festgelegt wurde.
Wenn Sie es nur beim Eröffnen einer Position ausführen, ist es in Ordnung. Wenn Sie es jedoch bei jedem Balken ausführen, erhalten Sie meiner Meinung nach falsche Ergebnisse, da Sie die Startschwelle des Trailing Stop ständig ändern. Darüber hinaus können Sie nichts anderes tun, wenn es bereits gestartet wurde.
Mein Rat ist, diese Anweisung nicht zu verwenden und sie durch den Code von Nicolas zu ersetzen, den Sie von Zeile 17 bis Zeile 56 hier finden: https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/. Es ist so wie es ist fertig, Sie müssen nur die beiden anfänglichen numerischen Werte ändern und darauf achten, nicht die gleichen Namen für die Variablen zu verwenden.
Hallo Roberto,
Danke
und statt trailingstart = 20 setze ich an Stelle der “20” dann das (AverageTrueRange[14](close))*2, aus meinem Code ein, oder?
Sie müssen den Preis zur Pip-Umrechnung hinzufügen:
((AverageTrueRange [ 14 ] ( close )) * 2) / PipSize
Experimentieren Sie auf diese Weise. Wenn Sie seltsame Ergebnisse erhalten, stellen Sie sicher, dass die von Ihnen angegebene Zeile nur einmal ausgeführt wird.
Hallo,
können Sie bitte den Code testen, der Graph sieht nicht so richtig wie ein Trailling Stop aus.
timeframe(daily,updateonclose)
lmin=lowest[4](close)
lmax=highest[4](close)//Schluss
myprice=(close=lmin)
timeframe(daily,default)
SMA200 = dclose(1)> ExponentialAverage[200](close)
if not longonmarket and time=090000 and SMA200 and myprice then //and sma200
//SET STOP pTRAILING (AverageTrueRange[14](close))//*2
buy 1 contract at market
trailingstart = ((AverageTrueRange [ 14 ] ( close )) * 2) / PipSize //trailing will start @trailinstart points profit
trailingstep = 5 //trailing step to move the “stoploss”
IF NOT ONMARKET THEN
newSL=0
ENDIf
endif
//manage long positions
IF LONGONMARKET THEN
//first move (breakeven)
IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
newSL = tradeprice(1)+trailingstep*pipsize
ENDIF
//next moves
IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
newSL = newSL+trailingstep*pipsize
ENDIF
ENDIF
//stop order to exit the positions
IF newSL>0 THEN
SELL AT newSL STOP
EXITSHORT AT newSL STOP
ENDIF
if longonmarket and time>=210000 and Dclose(0)>=lmax then
sell at market
endif
Graphonprice Tradeprice – (AverageTrueRange[14](close) * 2) coloured(“Gold”)
Verwenden Sie diese Zeilen, um die Daten zu überprüfen.
graphonprice TradePrice + (trailingstart * pipsize) coloured("Red") AS "Start"
graphonprice newSL coloured("Green") AS "Stop Loss"
graphonprice newSL + trailingstep*pipsize coloured("Blue") AS "Next Step"