Bedingungs-Kerze bezeichnen – Breakout-Strategie

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #19458 quote
    ChrisI
    Participant
    New

    Hallo Zusammen,

    ich habe bei der Programmierung einer Strategie folgende zwei Probleme:

    1. 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.
    2. 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!!

    #19506 quote
    ChrisI
    Participant
    New

    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!

    #19538 quote
    Nicolas
    Keymaster
    Master

    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.

    #19621 quote
    ChrisI
    Participant
    New

    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.

    #19666 quote
    Nicolas
    Keymaster
    Master

    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.

    #19669 quote
    Nicolas
    Keymaster
    Master

    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 
    #19685 quote
    ChrisI
    Participant
    New

    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

    #19746 quote
    ChrisI
    Participant
    New

    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!

    #20065 quote
    Nicolas
    Keymaster
    Master

    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.

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.

Bedingungs-Kerze bezeichnen – Breakout-Strategie


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
ChrisI @chrisi Participant
Summary

This topic contains 8 replies,
has 2 voices, and was last updated by Nicolas
9 years, 1 month ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 12/30/2016
Status: Active
Attachments: No files
Logo Logo
Loading...