Testen einer Bedingung nur einmal

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #210746 quote
    axmichi
    Participant
    Senior
    defparam flatafter=214500
    
    if intradaybarindex=0 then
    trading=1
    elsif barindex=tradeindex then
    trading=0
    endif
    
    if time = 085500 then
    myprice=close
    endif
    //Spanne = 50
    
    c1 = close > myprice + 50 * pointsize  
    c2 = close > myprise
    c3 = close < close[1]
    c4 = close < close[2]
    
    if not shortonmarket and c1 and c2 and c3 and c4 and trading=1 then
    sellshort 1 contract at market
    endif
    TP = myprice
    if shortonmarket and time > 173000 and trading=1 then
    exitshort  at market
    endif
    
    set target pprofit myprice
    
    SET STOP pLOSs  ???
    

    Hallo ich möchte eine Strategie testen die die im Bild gezeigten Bedingungen erfüllt. Leider funktioniert der Code nicht.

    Voraussetzung für den Trade (Short). Steigt der Schlusskurs einer kerze, 50 Punkte über dem close der 08:55 Uhr kerze, dann ist die Voraussetzung erfüllt. Der Trade kann dann aber auch über oder unter dieser Market ausgelöst werden, nur nicht unter dem close der 08:55 Uhr kerze!

    2 Bedingung es entsteht eine kerze die tiefer ist als die tiefs der letzten beiden kerzen. Diese Kerze muss über dem close der 08:55 Uhr Kerze liegen.

    Dann Exitshort

    Der SL liegt auf dem High der Kerzen bis zur 9 Uhr kerze zurück..

    Der Take profit ist der Close der 08:55 Uhr Kerze.

     

    Mein problem ist die Bedingung, das ich nicht weis wie ich codieren kann das die 1 bedingung nur einmalig die Voraussetzung ist??

    ich bitte um Hilfe!!

     

    Vielen Dank

    #210754 quote
    axmichi
    Participant
    Senior

    Sorry das foto wurde nicht gesendet

    #210756 quote
    GraHal
    Participant
    Master

    1 Bedingung ist nur eine einmalige Anforderung??

    Einmalige Anforderung pro Tag oder Einmalige Anforderung pro Tag … einmal handeln und dann die Strategie beenden?

    #210760 quote
    GraHal
    Participant
    Master

    Wenn Sie meinen … nur einen Trade auf einmal … dann fügen Sie unten als erste Zeile Ihres Codes hinzu.

    Defparam Aufträge kumulieren = False 

    #210764 quote
    axmichi
    Participant
    Senior

    ja einen Trade pro tag

    und die 1 bedingung ist nur eine einmalige anforderung – ohne kurs über close + 50 punkte kein trade und kein signal

    #210765 quote
    Nicolas
    Keymaster
    Master

    Bitte erstellen Sie ein Thema mit einem aussagekräftigen Titel und in der Sprache, in der Sie posten, danke!

    #210767 quote
    GraHal
    Participant
    Master

    ​​kein Handel und kein Signal, wenn der Kurs über dem Schlusskurs von + 50 Punkten liegt

    Warum hast du C1? C1 aktiviert ein Signal, wenn Close > myprice + 50 * pointsize .
    c1 = schließen > myprice + 50 * Punktgröße

    c2 = schließen > myprise

    Sie haben einen Tippfehler in C2 (myprise sollte myprice

    #210769 quote
    axmichi
    Participant
    Senior

    sorry und danke für die hilfe!!, Ich habe geschrieben,  das signal wird erst aktiv wenn nach  9 uhr ein schlusskurs über der kerze von 08:55 Uhr +50 punkte schließt!!!!

    wenn dann close kleiner als low der letzten beiden kerzen, dann sellshort. Das Signal kann überall ausgelöst werden nur nicht unter myprice

    Es ist eine Return to open strategie!!??

    Hier noch ein Bild

    #210771 quote
    GraHal
    Participant
    Master

    Diese Linien brauchen Aufmerksamkeit …

    23. if shortonmarket and time 173000 and trading then // Line 5 macht Trading = 0 wenn Shortonmarket
    27. setze das Ziel pprofit myprice //myprice = close um 08:55 und wenn also close = 30000, dann müsste der Punktegewinn = 30000 sein
    29. SET STOP pLOSs   ??? // was soll das sein?
    #210772 quote
    GraHal
    Participant
    Master

    Falls noch jemand helfen möchte, gerne.

    #210783 quote
    robertogozzi
    Moderator
    Master

    myprise sollte myprice lesen. Wenn dies der Fall ist, wird die Bedingung c2 durch c1 ersetzt.

    Los geht’s:

    defparam flatafter=214500
     
    if intradaybarindex=0 then
       trading=1
    elsif barindex=tradeindex then
       trading=0
    endif
     
    if time = 085500 then
       myprice=close
       HH     = high
    endif
    //Spanne = 50
     
    c1 = close > myprice + 50 * pointsize
    c2 = close > myprice
    c3 = close < close[1]
    c4 = close < close[2]
    
    HH = max(HH,high)
    
    if not shortonmarket and c1 and c2 and c3 and c4 and trading=1 then
       sellshort 1 contract at market
       set target price myprice
       SET STOP price HH
    endif
    //TP = myprice
    if shortonmarket and time > 173000 and trading=1 then
       exitshort  at market
    endif
    GraHal thanked this post
    #210784 quote
    axmichi
    Participant
    Senior

    Hallo, danke

    aber die Trades werden schon vor 9 uhr eröffnet, was nicht sein soll. Das ist zu erreichen durch if time >= 090000

    das Problem ist immer noch, das c1 eine feste Bedingung ist und so öffnen die Trades auch über myprice +50

    Richtig ist aber das die bedingungen erst gelten, wenn ein Schlusskurs nach 9 uhr myprice überschritten hat, danach können die anderen bedingungen auslösen / starten wo sie wollen, außer unter myprice!!??

    #210786 quote
    robertogozzi
    Moderator
    Master

    Sie öffnen, wenn close > myprice +50, während Sie, wenn Sie möchten, dass sie öffnen?

    #210789 quote
    axmichi
    Participant
    Senior

    Die Bedingungen C2 – c4  gelten erst, wenn der Kurs einmalig über myprice +50 gestiegen ist.

    Ob der Trade über oder unter myprice+50 öffnet ist dann egal, aber eben nur wenn der kurs nach 9 uhr über myprice+50 gewesen ist.

    Italienisch

    Le condizioni C2 - c4 si applicano solo se il prezzo è salito una volta sopra myprice +50.
    
    Non importa se il trade apre sopra o sotto myprice, ma solo se il prezzo era sopra myprice+50 dopo le 9:00.
    #210791 quote
    robertogozzi
    Moderator
    Master

    Erledigt:

    defparam flatafter=214500
     
    if intradaybarindex=0 then
    trading=1
    c1     =0
    c2     =0
    elsif barindex=tradeindex then
    trading=0
    endif
     
    if time = 085500 then
    myprice=close
    endif
    //Spanne = 50
     
    c1 = max(c1,close > myprice + 50 * pointsize)
    IF c1 > c1[1] THEN
    HH = high
    ENDIF
    c2 = max(c2,close > myprice)
    c3 = close < close[1]
    c4 = close < close[2]
    
    IF c1 THEN
    HH = max(HH,high)
    ENDIF
     
    if not shortonmarket and c1 and c2 and c3 and c4 and trading=1 then
    sellshort 1 contract at market
    set target price myprice
    SET STOP price HH
    endif
    //TP = myprice
    if shortonmarket and time > 173000 and trading=1 then
    exitshort  at market
    endif
Viewing 15 posts - 1 through 15 (of 18 total)
  • You must be logged in to reply to this topic.

Testen einer Bedingung nur einmal


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
axmichi @axmichi Participant
Summary

This topic contains 17 replies,
has 4 voices, and was last updated by axmichi
2 years, 11 months ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 03/02/2023
Status: Active
Attachments: 4 files
Logo Logo
Loading...