Hallo,
wenn ich meinem Code cumulate = true zufüge wird ja kumuliert gekauft.
Ich möchte gern, das cumulate true aktiviert ist und im code eine anweisung steht die besagt das immer 5 % vom Gesamtkapital in Kontrakten gekauft wird.
Also mit startkapital 1000 €
stopabstand 10 € = 5 Kontrakt weil 5% von 1000€ = 50€ sind
Ist dann die equity mal bei 1300 Euro sind ja 5 % = 65 € dann soll das system 6 Kontrakte kaufen:
Wie muss man das codieren
LIeben Gruß axmichi
Hallo axmichi, cumulateorders=true ist voreingestellt, dass kann man sich also sparen zu codieren. Einfach nichts machen. Bist du dir darüber im klaren, dass wenn die Bedingungen für einen Trade erfüllt sind, solange Trades hintereinander ausgeführt werden, bis das Geld weg ist? Ich denke es ist keine gute Idee, eine grenzenlose Kumulierung zuzulassen. das ist der sichere Tod. Ich habe immer cumulateorders=false drin.
Hi ja natürlich, denn das system soll ja nur 1 % des Kontostandes reinvestieren, die 5 % waren frei gewählt 🙂
das geht bei mir einfach nicht, als wenn da bei der ordergröße noch was anderes stehen müsste??!!
Na hi.
Das täte mich auch interessieren, so als Reinvest-Strategie, unabhängig ob das Geld irgendwann weg ist ..
Ich würde so ansetzen (für den Anfang mit cumulateorders = false)
capital = x
r = x/100 // risiko
Stop pLoss = y
postionsize = r/y
If condition then
buy positionsize at market
Endif
Hi,, schaut mal hier, ich hab die Codeanweisung für 1 % vom Kapital max riskieren in einen einfachen Code gepackt:
wenn ich mal keinen Fehler im code habe, dann kauf das system immer wieder nur 1 Contrakt??
Aber es müsste ja bei 10 % risiko von 1000 € Capital und einem risiko von 40 pro Trade, 2 Cotrakte kaufen?
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = true // Kumulieren von Positionen deaktiviert
capital = 1000
r = 10/100 // risiko
SL = 40
postionsize = r/y
If condition then
buy positionsize at market
Endif
// Bedingungen zum Einstieg in Long-Positionen
indicator1 = Average[280](close)+3*std[280](close)
c1 = (close CROSSES UNDER indicator1)
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
indicator2 = Average[280](close)
c2 = (close CROSSES UNDER indicator2)
IF c2 and condition THEN
buy AT MARKET
ENDIF
set stop ploss SL
Was ist in deinem code y? Und was ist condition? Überhaupt scheint der Ober Teil deines Codes nicht wirklich mit dem unteren zusammenzuarbeiten. Auch das endif da in der Mitte steht ja etwas komisch im Raum. Da hast du vielleicht nur den halben Code kopiert?
Die Positionsgröße darf maximal 2 Nachkommastellen enthalten. D.h. du kannst z.B. 1,23 Kontrakte kaufen, 1,234 Kontrakte geht dagegen nicht. Da du die Postionsgröße durch einen Quotient definierst, scheint mir das nicht sichergestellt.
Despair hat Recht, die Variablen y und condition sind überhaupt nicht definiert, schon deshalb kann da nix funktionieren
DEFPARAM CumulateOrders = true // Kumulieren von Positionen
Danke und sorry für die späte Reaktion:
Eigentlich wollte ich nur, dass ein einfacher Code, wie dieser hier, den gemachten Gewinn wieder automatisch mit investiert, so, dass max. 10 % der gesamtsumme in contracten gekauft werden.
// Bedingungen zum Einstieg in Long-Positionen
indicator1 = Average[240](close)-3*std[240](close)
c1 = (close CROSSES OVER indicator1)
indicator2 = MACDline[11,10,9](close)
c2 = (indicator2 <= 1)
IF c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
indicator3 = Average[240](close)+3*std[240](close)
c3 = (close CROSSES UNDER indicator3)
IF c3 THEN
SELL AT MARKET
ENDIF
set stop ploss 100
Ich hab noch eine weitere Frage:
Ist es eigentlich möglich so etwas wie einen Trendsystem zu Codieren ohne dafür die Gleitenden Durchschnitte oder andere Indikatoren für den Einstieg zu verwenden.
Ich meine damit, das eingestiegen wird, wenn sich der Trend seid einer Zeit X in einem Aufwärtstrend befindet, und nach einen kleinen Rücklauf, wieder ein neues Hoch macht?
Vielen Dank