Guten Tag,
ich handele seit mehreren Jahren nach einem Forex-Handelssystem auf manueller Basis. Money- und Risikmanagement lasse ich mir von Indiktoren bereits in pro realtime “zeitgleich” berechnen und anzeigen.
Nun möchte ich dieses System automatisieren.
Die Entryregeln habe ich bereits programmiert und qualitätsgesichert. Den Initalen Stop habe ich auch programmiert – und es funktioniert.
Das besondere an dem System ist, dass es sich schrittweise aus einer Position zurückzieht (scaling out). Und genau hiermit habe ich ein Problem. Folgenden Code benutze ich:
Kurzum: Ist eine Longposition eröffnet, schließe 1/2 der Position bei Erreichen des Punktes Fib027long, erreicht die Position den Punkt Fib062long, schließe die restlichen 1/2 Hälfte der Initialposition.
Die Ausführungen sollen möglichst auf Tickbasis erfolgen und nicht erst zur nächsten Candle (i.d.R. 15 min Zeitrahmen).
//Moneymanagement
PL=EingesetztesKapital/(xhigh-stoplong)/100
PS=EingesetztesKapital/(stopshort-xlow)/100
PGL=round((Konto*stoplossprozent/(xhigh-stoplong))/(100000*0.01))
PGS=round((Konto*stoplossprozent/(stopshort-xlow))/(100000*0.01))
//Ende Berechnung Positionsgröße
//------------------------------------------------------------------
// Bedingungen zum Einstieg in Long-Positionen
IF NOT LongOnMarket AND high>centrylong THEN
BUY 1*PGL CONTRACTS AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
If LongOnMarket AND low<cexitisstoplong THEN
SELL AT MARKET
endif
if LongonMarket and high>Fib027long then
sell 0.5*PGL contracts at market
if LongonMarket and high>Fib062long then
sell 0.5*PGL contracts at market
endif
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF NOT ShortOnMarket AND low<centryshort THEN
SELLSHORT 1*PGS CONTRACTS AT MARKET
ENDIF
//// Bedingungen zum Ausstieg aus Short-Positionen
IF ShortOnMarket AND high>cexitisstopshort THEN
EXITSHORT AT MARKET
if ShortOnMarket and low<Fib027short then
buy 0.5*PGs contracts at market
if ShortOnMarket and low<Fib062short then
buy 0.5*PGs contracts at market
endif
ENDIF
Leider funktioniert das “Ausskalieren” mit dem o.g. Code nicht und ich hoffe Sie können helfen?
Und eins noch: Sobald Fib027long erreicht ist, wird der Initialstop auf Entry nachgezogen? How?
Zuerst könnten Sie bitte Ihre Länderinformationen in Ihr Forum-Profil hinzufügen? Vielen Dank.
Ich habe nicht alle Ihren Code gelesen, weil ich technische Einschränkungen in Ihrer Anfrage sehen:
1 / Teillieferungen sind nicht möglich
Sie müssen 2 verschiedene Strategien mit verschiedenen Zielen, um das gleiche Ergebnis haben.
2 / Codes werden nur einmal pro Bar gelesen und ausgeführt, so dass Sie bei Bestellungen keine Änderungen vornehmen können, solange der Leuchter nicht geschlossen ist.
Dies ist eine Einschränkung, die bald möglich sein wird, in einem nächsten größeren Update der Plattform.
Hallo Mike!
Vielleicht hilft Dir Countofposition weiter.
(https://www.prorealcode.com/documentation/countofposition/)
size = countofposition/2
if size <1 then
size = 1
endif
if exitsignal = 1 then
sell size shares at market
endif