Enterlong auf dem Indikator und Exit zum Close der selben Kerze

Viewing 15 posts - 16 through 30 (of 30 total)
  • Author
    Posts
  • #248031 quote
    robertogozzi
    Moderator
    Master

    Wenn Sie jedoch ausstehende Aufträge verwenden (STOP oder LIMIT, abhängig von der aktuellen Preisposition, gemäß beigefügter Anmerkung), erfolgt der Eintrag, wenn der Preis dieses Niveau erreicht.

    #248078 quote
    Adrian c.
    Participant
    New

    Leider führt auch das nicht zum gewünschten Ergebnis. In den Foren (Deutsch,Französisch,Englisch)finde ich auch keinen positiven Eintrag zu diesem Thema. Geht das bei PRT nicht oder gibt es noch eine andere Lösung!?

    #248102 quote
    robertogozzi
    Moderator
    Master

    Können Sie noch einmal genauer erklären, was Sie erreichen möchten?

    #248109 quote
    Adrian c.
    Participant
    New

    Gerne

    Der Indicator X soll im aktuellen Bar als Limit Order gelten und die Position zum Close geschlossen werden.

    Voraussetzung ist  dass am vorherigen Bar (14uhr) das Close grösser war als der Indicator X und im aktuellen Bar das  Low kleiner ist als Indicator X um14Uhr.

    Der Indicator X liegt um 14 Uhr bei 18120,2  und  Close ist um 14uhr höher als der Indicator X.

    Im 15 Uhr  Bar ist das Low kleiner als Indicator X um 14 Uhr(18120,2) also möchte ich  zum Kurs von 18120,2( Limit Order) kaufen  und dann zum Close(18253,7) schließen.

    #248119 quote
    robertogozzi
    Moderator
    Master

    Im ersten Teil fragten Sie: „Wenn Open>Enterlong und Low < Enterlong, dann enter Long auf Höhe vom Indikator „Enterlong“, während Sie jetzt fragen: „Voraussetzung ist, dass im vorherigen Balken (14:00 Uhr) der Schlusskurs höher war als Indikator X und im aktuellen Balken der Tiefstkurs niedriger ist als Indikator X um 14:00 Uhr“, was eine ganz andere Bedeutung hat, nämlich „Wenn Open>Enterlong und Low < Enterlong[1]“.
    Hier ist der Code, der auf Ihre letzte Anfrage aktualisiert wurde:

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
    
    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = CALL "enterlong"(low)
    c1 = (close > indicator1)
    c2 = (low   < indicator1[1])
    
    IF c1[1] AND c1 AND c2 AND Not OnMarket THEN
       BUY 1 CONTRACT AT indicator1 LIMIT
    ENDIF
    
    // Bedingungen zum Ausstieg von Long-Positionen
    
    IF LongOnMarket THEN
       SELL AT MARKET
    endif
    #248124 quote
    Adrian c.
    Participant
    New

    Sorry das war ein Fehler von mir.

    Vielen Dank nochmal für Ihre Hilfe. Ich werde de code testen.

    #248151 quote
    Adrian c.
    Participant
    New

    Guten Tag

    leider geht ihr oben geposteter Code auch nicht.

    Der trade wird ein Bar zu spät ausgeführt.

    _Im 18 Uhr Bar sind die Konditionen für einen Trade erfüllt

    _Im 19Uhr Bar unterschreitet das Low den Indicator x

    _Der trade wird aber erst im 20Uhr Bar eröffnet! Sollte aber im 19Uhr bar öffnen!

    #248161 quote
    robertogozzi
    Moderator
    Master

    Das stimmt! Beide Bedingungen sind beim Schließen des 19:00-Uhr-Balkens erfüllt. Steigen Sie also in den Markt ein, sobald der 20:00-Uhr-Balken öffnet!

    #248162 quote
    Adrian c.
    Participant
    New

    Aber PRT macht es nicht so wie ich es gerne hätte.

    Ich trade live nochmal das Beispiel von oben.

    Um 19 Uhr schaue ich ob Close grösser ist als Indicator X in dem  18 Uhr Bar. Wenn das der Fall ist setze ich eine Buy Limit Order auf den Wert vom  indicator x aus dem 18 Uhr Bar. Wird die Position eröffnet warte ich bis 19Uhr59 und 59 Sekunden und schließe  die Position zum Close des Bar von 19 Uhr.

    #248164 quote
    robertogozzi
    Moderator
    Master

    Poste den vollständigen Code und teile mir mit:

    • welches Tool du verwendest
    • Zeitrahmen
    • Datum und Uhrzeit einiger fehlerhafter Operationen.

    Nur dann kann ich die Prüfungen durchführen.

    #248180 quote
    Adrian c.
    Participant
    New

    hallo

    ich habe einen Screenshot gemacht mit Code und Signale , Tool und  Zeitintervall (1Stunde).

    Alle Signale sind fehlerhaft: sie steigen immer ein Bar zu spät ein.

    Den Code vom Indicator x kann ich leider nicht teilen da ich diesen aktiv handel und viel investiert habe ihn zu entwickeln.

    Danke

    #248190 quote
    robertogozzi
    Moderator
    Master

    Ich habe den Grund bereits mehrfach erklärt: Es ist KEINE Verzögerung, sondern die Funktionsweise.
    Wenn Sie mehr Präzision wünschen, können Sie auf den 1-Sekunden-Zeitrahmen heruntergehen (unter Beibehaltung der Bedingungen für den Stunden-Zeitrahmen), sodass die Verzögerung nahezu Null ist.
    Es könnte ein Problem mit Ihrem Code sein, aber ohne den Code kann ich nichts anderes tun.
    Dies ist der Code zur Verwendung des 1-Sekunden-Zeitrahmens im Diagramm (natürlich müssen Sie auch den 1-Stunden-Zeitrahmen geöffnet lassen, um die Bedingungen zu überprüfen):

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
    
    timeframe(1h,UpdateOnClose)
    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = CALL "enterlong"(low)
    c1 = (close > indicator1)
    c2 = (low   < indicator1[1])
    IF c1[1] AND c1 AND c2 AND Not OnMarket  THEN
       Segnale = 1
    ELSE
       Segnale = 0
    ENDIF
    timeframe(default)
    IF Segnale = 1 AND (close > indicator1) THEN
    BUY    1 CONTRACT AT indicator1 LIMIT
    ENDIF
    
    // Bedingungen zum Ausstieg von Long-Positionen
    
    IF LongOnMarket and Minute > 58 THEN
       SELL AT MARKET
    endif
    Iván González thanked this post
    #248191 quote
    Adrian c.
    Participant
    New

    Das ist eine gute Idee. Danke, ich werde es testen.

    #248228 quote
    Adrian c.
    Participant
    New

    Hallo

    und nochmals vielen Dank für die Hilfe.

    Dank Ihrer Kommentare habe ich den Fehler gefunden:

    c2 = (low   < indicator1[1]) musste weg ,da diese Berechnung am aktuellen Bar erfolgt. Limit Order reicht.

    So langsam arbeite ich mich in die Logik der PRT ein.

    Jetzt eine weitere Frage.

    Wie ist der code wenn ich nur zwischen  15 bis 16Uuhr und zwischen 21 bis 22 Uhr handeln möchte bei einer Zeiteinheit 1 Stunde. Ich bekomme das mit flat after nicht hin.

    Danke

    #248365 quote
    robertogozzi
    Moderator
    Master

    Ändern Sie die Eingabebedingung wie folgt:

    IF Segnale = 1 AND (close > indicator1) AND (((OpenTime >= 150000) AND (OpenTime <= 160000)) OR ((OpenTime >= 210000) AND (OpenTime <= 220000))) THEN
Viewing 15 posts - 16 through 30 (of 30 total)
  • You must be logged in to reply to this topic.

Enterlong auf dem Indikator und Exit zum Close der selben Kerze


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
Adrian c. @adrian-c Participant
Summary

This topic contains 29 replies,
has 3 voices, and was last updated by robertogozzi
7 months, 3 weeks ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 06/04/2025
Status: Active
Attachments: 8 files
Logo Logo
Loading...