Schießen einer Position nach einer bestimmten Zeit

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #265142 quote
    sstef3sstef3
    Participant
    Junior

    Hallo,

    weiß jemand wie ich eine Position nach einer bestimmten Zeit schließen kann?

    Mein Programm ist auf 8 Sekunden Basis.

    Was muss ich programmieren das es z.B nach 3600 Sekunden die Position schliesst?

    #265146 quote
    JSJS
    Participant
    Master

    Hi sstef3,

    Probier diese …

    if not onmarket then
    buy at market
    endif
    
    
    gtf=gettimeframe
    
    
    if longtriggered or shorttriggered then
    triggerbar=intradaybarindex
    endif
    
    
    if onmarket and (intradaybarindex-triggerbar)>3600/gtf then
    sell at market
    exitshort at market
    endif
    
    
    graph gtf
    graph triggerbar
    
    robertogozzi, Iván González and Nicolas thanked this post
    Scherm­afbeelding-2026-09-16-om-15.07.58-scaled.png Scherm­afbeelding-2026-09-16-om-15.07.58-scaled.png
    #265419 quote
    sstef3sstef3
    Participant
    Junior

    Hi JS,

    vielen Dank.

    Im Backtesting funktioniert es.Wenn ich es im Demokonto im automatisierten Handel versuche werden keine Orders ausgeführt.Ohne das Schliessen auf Zeit werden die Orders ausgeführt.

    Kannst Du mir weiterhelfen?Basiswert ist der BZXXXX

    #265420 quote
    sstef3sstef3
    Participant
    Junior

    oder muss ich die Anweisung gleich am Anfang ins Programm setzen?

    #265421 quote
    JSJS
    Participant
    Master

    Hi Stef,

    der Code funktioniert nur, wenn du intraday arbeitest, da der Code den „IntradayBarIndex“ verwendet…

    Ein Zeitrahmen von weniger als einem Tag sollte daher funktionieren…

    Das Eröffnen einer Position mit:

    if not onmarket then
    
    buy at market
    
    endif
    

    kann aufgrund der Mindestpositionsgröße ein Problem darstellen…

    Prüfe daher bitte, wie groß die Mindestpositionsgröße von BZXXXX ist, und passe den Code entsprechend an:

    if not onmarket then
    
    buy … contract at market (… = Mindestgröße, zum Beispiel 0,1)
    
    endif
    
    #265422 quote
    JSJS
    Participant
    Master

    Vergiss die Mindestpositionsgröße…

    Bei Aktien, die zu bestimmten Uhrzeiten öffnen und schließen, können tatsächlich verschiedene Probleme auftreten…

    Daher müssen hier zusätzliche Bedingungen berücksichtigt werden…

    Funktioniert es jetzt auch mit dem Intraday-Zeitrahmen?

    #265583 quote
    sstef3sstef3
    Participant
    Junior

    also auf Tagesbasis funtioniert es glaub nicht.

    vielen Dank nochmal

    #265767 quote
    sstef3sstef3
    Participant
    Junior

    wie muss das Programm den aussehen wenn ich short gehe?

    #265768 quote
    JSJS
    Participant
    Master
    if not onmarket then
    sellshort at market
    endif
    
    
    gtf=gettimeframe
    
    
    if longtriggered or shorttriggered then
    triggerbar=intradaybarindex
    endif
    
    
    if onmarket and (intradaybarindex-triggerbar)>3600/gtf then
    exitshort at market
    endif
    
    
    graph gtf
    graph triggerbar
    

    Der Code funktioniert bei einer Short-Position genauso…

    Dabei ist zu beachten, dass du, wenn eine Position beispielsweise nach 3.600 Sekunden geschlossen werden soll, immer einen kleineren Zeitrahmen als 3.600 Sekunden verwenden musst…

    Andernfalls funktioniert die Logik nicht wie vorgesehen…

    robertogozzi thanked this post
    #265786 quote
    sstef3sstef3
    Participant
    Junior

    ich hab jetzt festgestellt das es bei einer Zeiteinheit von X Sekunden nicht funktioniert.

    Das heisst ich hab völlig verschiedene Schließzeiten.

    Gibt es eine Möglichkeit das es auf Sekundenbasis auch funktioniert?

    #265791 quote
    JSJS
    Participant
    Master

    Wenn du eine Position nach einer bestimmten Zeit schließen möchtest, hängt der benötigte Zeitrahmen davon ab, wie genau der Schließzeitpunkt sein soll…

    Als Faustregel für ProRealTime gilt:

    • Schließung nach einer bestimmten Anzahl von Sekunden: Verwende vorzugsweise einen Zeitrahmen von 1 Sekunde.
    • Schließung nach einer bestimmten Anzahl von Minuten: Verwende vorzugsweise einen Zeitrahmen von 1 Minute oder kürzer.
    • Schließung nach einer bestimmten Anzahl von Stunden: Verwende vorzugsweise einen Zeitrahmen von 1 Stunde oder kürzer.


    Wenn du eine Position beispielsweise nach 30 Minuten schließen möchtest, ist ein Zeitrahmen von maximal 1 Minute eine sinnvolle Wahl…

    Wenn du den Schließzeitpunkt genauer bestimmen möchtest, solltest du einen kürzeren Zeitrahmen verwenden…

    Ein weiterer wichtiger Punkt ist die Teilbarkeit der gewünschten Zeitdauer durch die Länge einer einzelnen Kerze.

    Wenn du beispielsweise eine Position nach 30 Minuten schließen möchtest:

    • Zeitrahmen von 1 Minute: 30 Minuten ÷ 1 Minute = 30 Kerzen.
    • Zeitrahmen von 5 Minuten: 30 Minuten ÷ 5 Minuten = 6 Kerzen.
    • Zeitrahmen von 7 Minuten: 30 Minuten ÷ 7 Minuten ≈ 4,29 Kerzen.


    Für eine Berechnung anhand einer festen Anzahl von Kerzen sollte das Ergebnis eine ganze Zahl sein…

    Deshalb ist es sinnvoll, darauf zu achten, dass die gewünschte Zeitdauer ohne Rest durch die Länge einer einzelnen Kerze teilbar ist…

    Auch die Vergleichsbedingung in der Formel ist wichtig.

    Wenn du beispielsweise eine Position nach 3600 Sekunden schließen möchtest, lautet die Bedingung:

    IF OnMarket AND (IntradayBarIndex - TriggerBar) >= 3600 / gtf THEN
    
    • > bedeutet, dass die Anzahl der vergangenen Kerzen größer als der berechnete Wert sein muss…
    • >= bedeutet, dass die Anzahl der vergangenen Kerzen den berechneten Wert erreichen oder überschreiten muss…


    Wenn du beispielsweise einen Zeitrahmen von 60 Sekunden verwendest, ergibt die Berechnung 3600 / 60 = 60 Kerzen…

    Mit > wird die Bedingung erst bei mehr als 60 Kerzen erfüllt, während >= bereits bei 60 Kerzen greift…

    Deshalb ist >= in diesem Fall die logischere Wahl, wenn die Position geschlossen werden soll, sobald die gewünschte Anzahl von Kerzen erreicht ist…

    robertogozzi thanked this post
    #265888 quote
    sstef3sstef3
    Participant
    Junior

    vielen Dank

    Ich hab jetzt ein Shortprogramm auf 1 Sekunde geschrieben und es funktioniert auch.Aber die Schließzeiten sind sehr unterschiedlich.Was hab ich falsch gemacht?

    Ich hab den Stoploss mal weggelassen und es ist immernoch unterschiedlich.


    gtf=gettimeframe

    if longtriggered or shorttriggered then

    triggerbar=intradaybarindex

    endif

    if onmarket and (intradaybarindex-triggerbar)>28/gtf then

    sell at market

    exitshort at market

    endif

    #265892 quote
    JSJS
    Participant
    Master

    Sprichst du von Unterschieden zwischen dem Backtest und dem Live-Handel…?

    Nur im Backtest erhalte ich genau dieselben Schlusszeitpunkte (Bars)…

    #265909 quote
    sstef3sstef3
    Participant
    Junior

    Ich spreche davon, dass, wenn ich es im Demokonto teste und die Zeit zwischen Entry und Exit (Liste-Orderaufträge) teilweise sehr unterschiedlich sind. Die müssten doch eigentlich immer ziemlich ähnlich sein, oder?

    #265910 quote
    JSJS
    Participant
    Master

    Kannst du den Rapport zeigen, in dem diese Unterschiede auftreten…?

    Zwischen „Live“ und „Backtest“ gibt es immer Unterschiede, da der Spread im Live-Handel dynamisch ist, während er im Backtest fest eingestellt ist…

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

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Schießen einer Position nach einer bestimmten Zeit


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
sstef3 @sstef3 Participant
Summary

This topic contains 19 replies,
has 2 voices, and was last updated by sstef3sstef3
23 hours, 28 minutes ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 09/16/2026
Status: Active
Attachments: 3 files
ProRealCode ProRealCode
Loading...