Nur 3 Trades am Tag

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #248725 quote
    dkatle
    Participant
    New

    Hallo Ihr Lieben.

    Ich habe 2 Probleme. Sollten wir die getrennt behandeln? Wir können diese getrennt behandeln.

    Wir nehmen einen Longeinstieg, egal welchen. ZB ein einfaches Crossover irgenwelcher Averages… Wir wollen immer nur 1 Trade am laufen haben

    Ich möchte nun ein Codierung wissen,

     

    Problem 1

    wie ein System nach spätestens 3 Trades am Tag geschlossen wird und dann keine weiteren Trades an diesem Tag ausführt aber am nächsten Tage von vorn beginnt.

     

    Problem 2

    Ich brauche eine Berechnung der Positionsgröße. Es soll gerechnet werden, wie hoch der Positionsgröße nach einem verlorenen Trade ist, um das Eigenkapital im 1% zu steigern wenn der TP des Trades die Steigerung um x% des Kurses vom Index ist.

    Beispiel Eigenkapital = 99.5% (!!!) vor dem Trade, nach dem Trade soll das Eigenkapital 101% sein, wenn der Trade den TP von 2% vom Kurs des Index erreicht (Beispiel für TP: SP500 Kauf bei 6000 TP bei 6120 ). Welche Positionsgröße um Eigenkapital von 99.5% auf 101% zu hieven?

    #248732 quote
    robertogozzi
    Moderator
    Master

    Problem 1

    // problem 1
    //
    ONCE MaxTrades = 3
    ONCE Tally     = 0
    IF IntraDayBarIndex = 0 THEN
       Tally = 0
    ENDIF
    IF Not OnMarket AND (close CROSSES OVER Average[20,0](close)) AND (Tally < MaxTrades) THEN
       BUY 1 Contract at Market
       Tally = Tally + 1
       SET STOP   %LOSS   0.2
       SET TARGET %PROFIT 0.5
    ENDIF
    graph Tally

    Problem 2

    // problem 2
    //
    DEFPARAM PreLoadBars = 0
    ONCE Capital = 10000
    ONCE LotSize = 0
    myEquity     = Capital + STRATEGYPROFIT
    IF Not OnMarket AND (close CROSSES OVER Average[20,0](close)) THEN
       tempEquity = myEquity * 101 / 100 //next Equity should be 101%
       TP         = close * 0.02         //2% terget price
       LotSize    = (tempEquity - myEquity) / TP
       BUY LotSize Contract at Market
       SET TARGET %PROFIT 2
    ENDIF
    graph myEquity
    graph tempEquity
    graph close + (close * 0.02) AS "Target"
    graph LotSize
    Iván González and dkatle thanked this post
    #248761 quote
    dkatle
    Participant
    New

    Erstmal vielen Dank dass du mir so schnell geholfen hast. Ich freue mich darüber sehr.

    Bei Problem 1 klappt die Lösung. Das System startet nur 3 Trades pro Tag. Wunderbar.

    Bei Problem 2 klappt  die Lösung nicht. Das System startete nur 1 Trade. Einen Einzigen!

    #248763 quote
    robertogozzi
    Moderator
    Master

    Das hängt von Ihrem Startkapital ab.
    Mit 20.000 eröffnete ich 33 Positionen im DAX zu je 1 €, mit einem 15-Minuten-Zeitrahmen und 200.000 Einheiten.

    #248852 quote
    dkatle
    Participant
    New

    Großen Danke. Ich werde es ausprobieren. Bitte beeilen Sie sich nicht, ich bin oft nur am Wochenende hier.

    #248853 quote
    dkatle
    Participant
    New

    Zum Problem 2 nochmal zurück.

     

    Ich glaube nicht das ich mich richtig ausgedrückt habe. Ich möchte es deswegen näher erläutern:

    Moneymanagement

    Grundsätzlich stellt sich die Frage, ob das höchste jemals erzielte Kapital einer Strategie gespeichert und dann für die Berechnung des TakeProfit für den nächsten Trade dieser Strategie verwendet werden kann .

    Beispiel
    Wir starten mit 100% Kapital. (=100.000€)
    Wir starten Montag 08.00 Uhr einen Longtrade in irgendeinen Index, zB Cac40.
    Der TakeProfit wird mit 1% vom Kurs angegeben, Den SL legen wir auch mit 1% ebenfalls vom Kurs fest.
    Wir berechnen die Positionsgröße so, dass wenn der TP erreicht, unser Kapital um 2% steigt. Wird der SL erreicht ist alles klärchen.
    So weit, so gut, so einfach.

    Nun gehts los.
    Wir geben neben dem SL/TP eine weitere Ausstiegsbedingung aus dem Trade an. Ausstieg Freitag 20.00 Uhr, also per TimeStop.
    Das heisst, der TP (1% vom Kurs) wird nicht immer erreicht. Das heisst, der SL (1% vom Kurs) wird nicht immer erreicht.
    Nach dem 1.Trade erleiden wir einen Verlust wegen dem TinmeStop von 0.6% vom Kurs, Das Kapital sinkt also.

    Nun kommt das Moneymanagement ins Spiel.
    Mit dem nächsten Trade soll das Kapital um 1% steigen, aber nicht von dem neuen gesunkenen (!) Kapital, sondern vom jemals höchsten erzielen (!!) Kapital, das nach dem ersten Verlusttrade immer noch 100.000€ ist.

    Das heisst hier muss die Positionsgröße berechnet werden die das Kapital auf 101% (=101.000€) führt, wenn der TakeProfit vom Trade erreicht wird. Der TakeProfit vom Trade verändert sich dabei nicht, ganz klar. Sondern die Positionsgröße. Es ist ein bisschen wir Martingale. Die Positionsgröße steigt um ein Ziel zu erreichen.
    Nach einem zweiten Verlusttrade zB Verlust von 0.3% muss weiter die Positionsgröße berechnet werden, die für den Fall des Erreichen des TP im dritten Trade das Kapital auf 101% (101.000€)erhöht.
    usw usf

    Wird jemals ein Kapital größer als die ursprünglichen 100% erreicht, zB 100,02% werden diese 100.02% als das jemals höchste erreichte Kapital für die alle Berechnungen (der Positionsgröße) weiter verwendet.

     

     

    In Ihrem Code oben sehe das nicht, können Sie es mir erklären wo die Speicherung ist?

    #248889 quote
    robertogozzi
    Moderator
    Master

    Da ist er:

    DEFPARAM PreLoadBars = 0
    ONCE Capital   = 100000
    ONCE LotSize   = 0
    ONCE MaxEquity = 0
    myEquity       = Capital + STRATEGYPROFIT
    MaxEquity      = max(MaxEquity,myEquity)
    PerCent        = MaxEquity * 0.01               //1%
    myTarget       = MaxEquity + PerCent
    IF Not OnMarket AND (close CROSSES OVER Average[20,0](close)) THEN
       LotSize     = (floor(myTarget / close,2)) / PipValue
       BUY LotSize Contract at Market
       SET STOP   %LOSS   1
       SET TARGET %PROFIT 1
    ENDIF
    graph myEquity
    graph MaxEquity
    graph PerCent
    graph myTarget
    graph LotSize
    dkatle thanked this post
    #249063 quote
    dkatle
    Participant
    New

    Vielen Dank! Ich war heute das 1.Mal wieder hier. Ich werde ausprobieren und komme wieder zurück.

    #249064 quote
    dkatle
    Participant
    New

    Vielen Dank nochmal Roberto.

    Ich habe es ausprobiert. Ich kann mir es nicht erklären, siehe den Screenshot anbei.

    Ich hatte die Einstiegsbedingung und das Startkapital etwas modifiziert, aber das sollte nicht die Ursache sein.

    Hier der Code den ich verwendet habe.

     

     

     

    defparam cumulateorders= false
    
    
    ONCE Capital   = 10000
    ONCE LotSize   = 0
    ONCE MaxEquity = 0
    myEquity       = Capital + STRATEGYPROFIT
    MaxEquity      = max(MaxEquity,myEquity)
    PerCent        = MaxEquity * 0.01               //1%
    myTarget       = MaxEquity + PerCent
    
    
    td = opendayofweek = 3
    tt = time = 150000
    
    
    if  not onmarket and td and tt  then
    LotSize     = (floor(myTarget / close,2)) / PipValue
    BUY LotSize Contract at Market
    SET STOP   %LOSS   3
    SET TARGET %PROFIT 1
    
    endif
    
    if onmarket and barindex - tradeindex = 3 then
    sell at market
    endif
    
    //graph myEquity
    graph MaxEquity
    //graph PerCent
    //graph myTarget
    //graph LotSize
    
    #249265 quote
    robertogozzi
    Moderator
    Master

    Leider kann ich anhand des Bildes nicht erkennen, wo das Problem liegt oder was Sie möchten.

    Können Sie das klarstellen?

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

Nur 3 Trades am Tag


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
dkatle @dkatle Participant
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by robertogozzi
6 months, 1 week ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 07/08/2025
Status: Active
Attachments: 2 files
Logo Logo
Loading...