letzter Handelstag im Monat

Forums ProRealTime Deutsch forum ProOrder Support letzter Handelstag im Monat

Viewing 13 posts - 1 through 13 (of 13 total)
  • #243822

    Hallo,

     

    ich möchte gern immer am letzten Handelstag im Monat einsteigen.

    Da jeder Monat unterschiedliche Anzahl von  Handelstagen hat, kann ich nicht die Funktion EntryDay = 22 daür nehmen

    Als Ausstieg möchte ich den 5. Handelstag verwenden, dies kann ich mit der folgenden Funktion machen

    ExitDay = 5

    if longonmarket and ((Day = ExitDay) OR ((Day > ExitDay) AND (Day[1] < ExitDay))) then
       sell at market
    endif
    Wie kann ich den letzten Handelstag im Monat im Code schreiben??
    Die Trades sollen im Stundenchart um 09 Uhr eröffnet und geschlossen werden.
    Vielen Dank
    #243857

    Dieser Code funktioniert im täglichen Zeitrahmen.
    Die Variable LastTradingD gibt den letzten bekannten Handelstag an (Feiertage dürfen nicht bekannt sein):

     

    1 user thanked author for this post.
    #243925

    Hallo Roberto, danke, es ist wohl als Indikator geschrieben und nicht als Handelssystem ?? oder ??

    Ich wollte es als Backtest handeln?

     

    #243928

    Du hast recht, tut mir leid. Entfernen Sie die letzte Zeile und verwenden Sie die Variable LastTradingD, um den letzten Handelstag herauszufinden.

     

    #243943

    Hallo,

     

    habe ich gemacht. Hab es auf dem NQ im Tageschart getestet und es steigt auch am 3. oder 4. des Monats ein?! 03.09.2024,  04.11.2024

     

    Aber es soll ja am Open des letzten Tages im Monat einsteigen?

    #243956

    Bei mir werden die Operationen korrekt auf der Grundlage des am letzten Tag des Monats generierten Signals eröffnet (auf der Grafik sehen Sie also den Eintrag am folgenden Tag), wenn ich in meiner Eintragsbedingung OpenDAY verwende.
    Wenn ich am letzten Tag einsteigen möchte, muss ich DAY verwenden, also den Tag am Ende der Kerze vor dem Einstieg.
    Ich habe diesen Code verwendet:

     

    #243970

    Hallo Roberto,

     

    ich habe Ihren Code im Mini Nasdaq verwendet auf Tagesbasis.

    Es gibt Monate das steigt das System zu spät ein und es gibt Monate wo gar nicht eingestiegen wird.

     

    Siehe Bild

    #244345

    warum tradet das system in manchen Monaten nicht?

     

     

    #244348

    Entschuldigen Sie, ich konnte das vorher nicht überprüfen.
    Wie Sie der Liste der geschlossenen Trades entnehmen können, wurden von Januar 2023 bis heute alle Trades am Monatsende eröffnet.
    Ich kann dir keine Erklärung geben. Bitte überprüfen Sie Ihren Code sorgfältig.

     

    #244350

    In welchem Markt haben Sie es getestet? ich probier später aus!!

    #244355

    Hallo ich habe es auf Tagesbasis in der  APPL Aktie getestet und diesen Code verwendet.

    Im Jahr 2023 fehlt der Juli und im Jahr 2024 fehlt bei mir der September und der November. siehe Bild

    hier der Code:

    Timeframe(Monthly,default)
    thisMonth = OpenMonth
    thisYear = OpenYear
    //
    Timeframe(Daily,UpdateOnClose)
    IF thisMonth <> thisMonth[1] THEN
    thisDay = OPENDay
    thisDoW = OpenDayOfWeek
    LastDay = 31
    IF (thisMonth = 4) OR (thisMonth = 6) OR (thisMonth = 9) OR (thisMonth = 11) THEN
    LastDay = 30
    ELSIF (thisMonth = 2) THEN
    LastDay = 28
    IF (thisYear MOD 4) = 0 THEN
    IF (thisYear MOD 4) = 100 THEN
    IF (thisYear MOD 4) = 400 THEN
    LastDay = 29
    ENDIF
    ELSE
    LastDay = 29
    ENDIF
    ENDIF
    ENDIF
    i = thisDay
    j = thisDoW
    LastTradingD = i
    while(1)
    IF j >= 1 AND j <= 5 THEN
    LastTradingD = i
    ENDIF
    j = j + 1
    IF j = 7 THEN
    j = 0
    ENDIF
    i = i + 1
    IF i > LastDay THEN
    break
    ENDIF
    WEND
    ENDIF
    //RETURN LastTradingD AS “Last Trading Day”
    //
    Timeframe(default)
    IF OnMarket THEN
    sell at Market
    ELSIF Day = LastTradingD THEN //or OpenDay
    buy at market
    endif
    //
    //graph LastTradingD AS “Last Trading Day” coloured(“Red”)
    //graph OpenDay AS “Current DAY”

    //ExitDay = 5
    //if longonmarket and ((Day = ExitDay) OR ((Day > ExitDay) AND (Day[1] < ExitDay))) then
    //sell at market
    //endif

     

     

     

    #244438

    Ich verstehe, wo das Problem liegt. Dies liegt daran, dass die Bestellung am Ende jedes Balkens beginnen muss.

    1. Wenn Sie DAY verwenden, wird der Tag zum Schluss eines Balkens geprüft, sodass die Entscheidung zum Einstieg zum Schluss des vorherigen Balkens getroffen werden muss. Im Fall von Juli 2023 ist der letzte Tag Montag, der 31., aber der vorherige Balken ist Freitag, der 28.; zum Handelsschluss am Freitag ist der nächste Balken jedoch nicht bekannt, weil der Handel geschlossen ist. Wenn der Handel am Montag wieder aufgenommen wird, wird die Strategie am Ende des Balkens geschlossen und nimmt daher den 1. August 2023 als Datum an. Der 31. Juli kann daher NICHT berücksichtigt werden.
      .
    2. Wenn Sie OPENDAY verwenden, wird das Schlussdatum jedes Balkens berücksichtigt. So lösen Sie das Problem von JULI 2023. In anderen Monaten treten jedoch ähnliche Probleme auf. Außerdem wird das Datum des letzten Tages beim Schließen der Kerze berücksichtigt, sodass die Position am ersten Tag des Folgemonats eröffnet wird. Allerdings bleibt auch in diesem Fall die Operation Ende März 2024 unberücksichtigt, die eigentlich am 1. April hätte durchgeführt werden sollen, da der Vortag aber ein Wochenende ist, kann die Operation nicht durchgeführt werden.

    Es gibt keine Möglichkeit, diese Probleme zu lösen.

     

    #244529

    Hallo und Danke,

     

    danke für die Information ich versuche es mal mit dem Backtest.

     

    Danke

Viewing 13 posts - 1 through 13 (of 13 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login