Hallo Zusammen,
ich habe bei der Programmierung einer Strategie folgende zwei Probleme:
- Ich würde germe programmieren, dass eine Position eröffnet wird, wenn nach dem Bedingungseintritt bei einer Kerze (Tag) innerhalb der folgenden 7 Handelstage eine weitere Bedingung eintritt.
- Weiterhin würde ich gerne die Werte der ersten Bedingungskerze “speichern”, sodass beispielsweise beim 10 Tages Hoch dieser ersten Bedingungskerze in den folgenden 7 Tagen eine Position eröffnet wird. Das 10 Tages Hoch dieser Kerze soll also quasi für die folgenden 7 Kerzen als Trigger dienen und nicht das jeweils aktuelle 10 Tages Hoch herangezogen werden.
Schon jetzt Danke für die Hilfe!!
Nochmals hallo Zusammen,
um mein Anliegen zu verdeutlichen zeige ich im folgenden die Grundidee meines zu programmierenden Systems:
Bedingungen:
c1 = Es muss die höchste Tagesrange der letzten 60 Handelstage vorliegen
c2 = Diese Tagesrange muss >= 25 sein
Wenn c1 und c2 erfüllt sind, ist eine Impulskerze gegeben. Die Richtung der Impulskerze gibt die Traderichtung an.
Long-Einstieg:
1 Punkt über dem 10 Tages Hoch der Impulskerze soll für die kommenden 7 Handelstage ein Stop buy positioniert werden.
Ausstieg im Verlustfall:
Stop Loss 1 Punkt unter dem Tief der Kerze, die ein neues 10 Tages Tief markiert hat.
Ausstieg im Gewinnfall:
(die Positiongröße muss durch 6 teilbar sein)
für 1/6 der Position take profit bei 20 Punkten Gewinn
für 2/6 der Position take profit bei 40 Punkten Gewinn
für 3/6 der Position Stop Loss 1 Punkt unter dem Tief der Kerze, die ein neues 10 Tages Tief markiert hat.
Kann mir dabei jemand helfen? Schon jetzt für jede Hilfe und jede Anmerkung ein großes Danke!
Ich kann helfen, aber es wäre schön von Ihnen, auch einige Screenshots Beispiel der Strategie und wie Bestellungen verwaltet werden.
Über teilweise Schließen von Positionen, es tut mir leid, aber es ist nicht möglich, Bestellungen können nur mit ihrer vollen Größe auf einmal geschlossen werden.
Hallo Nicolas,
was meinen Sie mit screenshots? Bisher bin ich bei dieser Strategie noch ganz am Anfang. In der Vergangenheit habe ich mich nur mit einfachen Strategien beschäftigt. Wenn diese hier funktioniert, zeige ich Sie auch gerne ein, aber im Moment ist noch nichts zum Zeigen da.
Die Strategie soll einem Trend im Index folgen. Ich werde versuchen diese im S&P Future zu handeln und später vielleicht im Dax. Ich habe dabei die Idee, dass eine griße Tagesrange auch immer eine Bedeutung für den weiteren Kursverlauf hat.
Oben habe ich die Strategie schon volständig beschrieben. Ich möchte es dabei möglichst einfach halten. Bei meinen Programmierversuchen habe ich das Problem, dass ich die Impulskerze nicht definieren kann und so deren Werte für die Folgekerzen nicht festhalten kann.
Die Sache mit den Teilschließungen könnte man doch erreichen, in dem man mehrer Strategien nebeneinander laufen lässt, oder?
Was ich bisher habe ist eine Indikatorprogrammierung, die mir die Tagesrange anzeigt:
maxrangeday=range
return maxrangeday
Und darin eine Linie verläuft, die mit das Höchste Hoch der letzten 60 Tage markiert:
maxrange60=highest[60](range)
return maxrange60
Für Hilfe bin ich dankbar und teile auch gerne meine Ergebnisse.
Tut mir leid, aber ich bekam so viele Anfragen, dass manchmal ein Bild wert viele Worte, und vor allem die in deutscher Sprache 🙂 Da ich nicht fließend Deutsch bin, ist Google Übersetzer mein einziger Freund in den deutschen Foren 🙂 .. Nevermind!
So werde ich graben in Ihre Strategie-Beschreibung und lassen Sie wissen, wenn ich andere Erklärungen so schnell wie möglich benötigen.
Das habe ich so weit gemacht, hoffe ich habe die Beschreibung gut verstanden 🙂
//https://www.prorealcode.com/topic/bedingungs-kerze-bezeichnen/
defparam cumulateorders = false
//--- parameter
takeprofit = 20
//---
c=range>highest[60](range)[1] and range>25*pointsize
if c then
buytrigger = highest[10](high)+1*pointsize
stoploss = close-(lowest[10](low)-1*pointsize)
currentbar = barindex
endif
while barindex<=currentbar+7 do
buy 1 share at buytrigger stop
wend
set stop loss stoploss
set target pprofit takeprofit
Hello Nicolas,
first I will try to write in english. My English ist not so good, but I try.
Thanks a lot for your help. Now I have to try if the code works. In this moment the code isn´t clear to me, but I will work with it. I Report to you, when i´m one step further.
Thnak You
Hello Nicolas,
I still test the code and try to modify it. I also wanted to integrate the short page, but it does not work. Can you see what it is? Here is the code:
//https://www.prorealcode.com/topic/bedingungs-kerze-bezeichnen/
defparam cumulateorders = false
//--- parameter
takeprofit = 40
//---
c=range>highest[60](range)[1] and range>19.8*pointsize and close[1] > Open[1]
if c then
buytrigger = highest[10](high)+1*pointsize
stoplossLONG = close-(lowest[10](low)-1*pointsize)
currentbar = barindex
endif
while barindex<=currentbar+7 do
buy 1 share at buytrigger stop
wend
if longonmarket then
set stop loss stoplossLONG
endif
c1=range>highest[60](range)[1] and range>19.8*pointsize and close[1] < Open[1]
if c1 then
selltrigger = lowest[10](low)-1*pointsize
stoplossSHORT = close+(highest[10](high)+1*pointsize)
currentbarSHORT = barindex
endif
while barindex<=currentbarSHORT+7 do
sell 1 share at selltrigger stop
wend
if shortonmarket then
set stop loss stoplossShort
endif
set target pprofit takeprofit
Thanks again for your help!
Versuchen, diese Zeilen zu ändern:
while barindex<=currentbarSHORT+7 do
sellshort 1 share at selltrigger stop
wend
Wenn Sie verkaufen möchten, verwenden Sie SELLSHORT, da SELL Anweisung verwendet wird, um BUY-Bestellungen zu schließen.