Hallo,
was ist bei der folgenden Break-Even-Order falsch codiert?
Es soll eine Short-Position geschlossen werden, aber leider wird die Order nicht ausgeführt…
Ich danke Euch für die Hilfe.
startbreakeven = 10.5
pointstokeep = 4.6
if (tradeprice(1)-close) >= startbreakeven then
breakevenlevel = tradeprice(1) – pointstokeep
endif
If breakevenlevel > 0 then
exitshort at breakevenlevel stop
endif
Ersetzen Sie die erste IF-Zeile durch Folgendes:
if (tradeprice(1)-close) >= (startbreakeven+ pointstokeep) then
Hi Roberto,
leider ändert das nichts.
Gibt es noch einen anderen Code für eine Break Even Order?
Das funktioniert:
IF close crosses under average[200,0](close) AND Not OnMarket THEN
SELLSHORT AT Market
ENDIF
startbreakeven = 10.5 * pipsize
pointstokeep = 4.6 * pipsize
if not OnMarket THEN
breakevenlevel = 0
ELSE
if (tradeprice(1) - close) >= (startbreakeven + pointstokeep) then
breakevenlevel = tradeprice(1) - pointstokeep
endif
If breakevenlevel > 0 then
exitshort at breakevenlevel stop
endif
endif
graphonprice breakevenlevel AS "Breakeven"
graph positionperf*positionprice/pipsize AS "Profit (pips)"
perfekt!
Könntest Du mir das bitte auch für Long anpassen und mitteilen was die “graph”-Funktion bedeutet.
Danke.
GRAPHONPRICE zeigt einen Wert auf dem Preisdiagramm an, in diesem Fall den Breakeven-Punkt.
GRAPH zeigt im Variablenfenster, das ProBackTest öffnet, immer einen Wert an, der aber nicht auf den Kerzen angezeigt werden kann, da er eine andere Skala hat, zum Beispiel 0, 1 oder ein Datum oder den RSI usw. …
Ich habe es nicht probiert:
IF close crosses over average[200,0](close) AND Not OnMarket THEN
BUY AT Market
ENDIF
IF close crosses under average[200,0](close) AND Not OnMarket THEN
SELLSHORT AT Market
ENDIF
startbreakeven = 10.5 * pipsize
pointstokeep = 4.6 * pipsize
if not OnMarket THEN
breakevenlevelL = 0
breakevenlevelS = 0
ELSE
if LongOnMarket AND ((close - tradeprice(1) >= (startbreakeven + pointstokeep)) then
breakevenlevelL = tradeprice(1) + pointstokeep
endif
if ShortOnMarket AND ((tradeprice(1) - close) >= (startbreakeven + pointstokeep)) then
breakevenlevelS = tradeprice(1) - pointstokeep
endif
If breakevenlevelL > 0 then
sell at breakevenleveL stop
endif
If breakevenlevelS > 0 then
exitshort at breakevenleveS stop
endif
endif
graphonprice breakevenlevelL AS "Breakeven Long" coloured(0,128,0,155) //Green
graphonprice breakevenlevelS AS "Breakeven Short" coloured(255,0,0,255) //Red
graph positionperf*positionprice/pipsize AS "Profit (pips)"
ok, danke.
Und ist die graph-Funktion notwendig?
Weil es wird mir ein Fehler angezeigt, wenn ich das Auto-Trading starten möchten…
Sie müssen die Zeilen mit GRAPH und GRAPHONPRICE entfernen oder auskommentieren. Es ist sehr seltsam, dass Sie nicht gewarnt wurden. Normalerweise wird eine spezielle Meldung angezeigt.
Somit sind sie nicht relevant für den Code oder wie?
Sie werden nur zum Debuggen (Überprüfen der logischen Korrektheit des Codes) während Backtests verwendet (aber es ist nicht zwingend erforderlich, sie zu verwenden). Wenn Sie hier im Forum nach diesen Wörtern suchen, finden Sie die offizielle Dokumentation und viele Beispiele, wie sie verwendet werden können.