Nehmen wir an es wird eine Long Position bei 100 gekauft, mit TP bei 120
bei 115 wird erneut eine Position gekauft, mit TP bei 140
Ist es möglich TP1 von 120 auf 140 zu erhöhen?
Ja, bei ausstehender Bestellung. Verwenden Sie anstelle eines SET TARGET PROFIT-Befehls diese Art von Code:
target = 140
SELL AT target STOP
Und ändern Sie die "Ziel" -Variable mit einem beliebigen neuen Wert, wenn Sie möchten.
Wenn ich das so schreibe wird mir syntaxfehler angezeigt :/
Und was heißt “bei austehender Bestellung”?
Ich möchte eine bereits laufende Position, die schon einen TP hat, auf einen höheren setzen
Wenn eine neue Position gekauft wird die einen höher angesetzten TP hat
Es tut mir leid, dass ich einen Fehler gemacht habe, indem ich ein reserviertes Schlüsselwort der Plattform verwendet habe! Dies ist die Art von Code, den Sie verwenden sollten:
itarget = 140
SELL AT itarget STOP
Natürlich sollte es an deine eigene Strategie / Code angepasst werden, von der ich nichts weiß 🙂
Mein Fehler, ich dachte man braucht ein Schlüsselwort…hätte ich allerdings auch so testen können ^^
Allerdings, (Hier mal das Ende meines Codes)
DEFPARAM CumulateOrders = true
...
"bla
bla
bla"
...
IF L1 > 132 THEN
BUY 1 CONTRACT AT MARKET
SET STOP LOSS SLp
SET TARGET PROFIT TPp
SET STOP TRAILING SLpt
ENDIF
IF L2 > 132 THEN
SELLSHORT 1 CONTRACT AT MARKET
SET STOP LOSS TPp
SET TARGET PROFIT SLp
SET STOP TRAILING TPpt
ENDIF
Mein TP wird berechnet…er wird immer über dem Kurs liegen…somit kann dieser gar nicht erreicht werden mit deinem Code?
Im Backtest wurde auch alles nur mit SL ausgelöst….
Wie du siehst ist dem System erlaubt mehrere Positionen zu kaufen..
Der Code müsste quasi so sein
while longonmarket (or short) and "neworderplaced" do
IF TP2 > TP1 then
TP1 = TP2
endif
next
Ich denke, dass Sie Preisniveaus in Ihren SET STOP LOSS- oder SET TARGET PROFIT-Anweisungen verwenden? Während sie immer in Punkten sein sollten. Zum Beispiel sollte ein Take Profit von 20 Punkten vom Eröffnungspreis der Bestellung folgendermaßen codiert werden:
SET TARGET PPROFIT 20
Also für eine Position kann ich den TP setzen 😉
Ich hatte ja auch das Ende meines Codes gepostet.
Mein System kann mehr als eine Position kaufen (CumulateOrder = true)
Der TP, SL, trailing..alles wird berechnet
Es soll so sein, wenn eine Position läuft und es wird eine neue gekauft, soll der TP von Position1 auf den von Position2 erhöht werden, wenn dieser höher währe.
- Ich brauch eigentlich nur den Befehl mit dem das Programm merkt es wurde eine zweite, dritte, vierte Position gekauft