pTrailing – Fehler oder Funktions-Änderung?

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #172148 quote
    Rainer (RFW)
    Participant
    Senior

    Liebe PRTler,
    seit kurzem gab es entweder eine Funktions-Änderung zum pTrailing oder es läuft fehlerhaft.

    Bislang funktionierte “SET STOP PTRAILING 1” mit eingehaltenen Mindestspunkteabstand natürlich, z.B. wie hier im Dax mit 5 Points, dass ein Punkt unter dem Einstiegskurs getrailt werden konnte. Nunmehr viel mir jedoch bei Backtests auf, dass dies seit kurzem nicht mehr funktioniert. Entweder aufgrund Funktions-Änderung oder es läuft fehlerhaft. Im besonderen ärgerlich, dass bei Ergebnisaufruf bei Optimierungen, ein abweichendes Ergebnis zum Vorschein kommt. Siehe Screenshot in der Anlag. Gut nachvollziehbar sollte ein Profit in der Equity von 621 ausgewiesen werden, jedoch tatsächlich werden nur rd. 500 Gewinn berechnet.

    Um dies nachvollziehbar zu machen, habe ich neben dem Screenshot, schnell ein Testcode erstellt. Bitte mal ausprobieren, denn allzu häufig werden abweichende Ergebnisse aus der Optimierungstabelle angezeigt.

    Da ich grundsätzlich alle Probleme zunächst nachvollziehen möchte und erst aufgebe, wenn ich die Ursache gefunden habe, stehe ich hier vor einem Rätsel und bitte um Hilfe.

    Vielen Dank vorab und liebe Grüße
    Rainer

    #172151 quote
    Rainer (RFW)
    Participant
    Senior
    //Dax 5 Min 5K
    
    // Nur zu Testzwecken / Problemverdeutlichung - kein reales Handels-System!
    DEFPARAM CumulateOrders = False
    If Not OnMarket Then
    $ActivTrail[lastset($ActivTrail)+1] = 0
    EndIf
    PositionsSize = 1
    ShortTrade    = 0
    LongTrade     = 0
    BETrail1      = 0
    Perioden      = 10
    //***************************************************************************************************************************
    INDSV = CCI[Perioden]
    INDST = 100
    ShortTrade = INDSV Crosses Under INDST And Momentum[12] < 0
    
    INDLV = CCI[Perioden]
    INDLT = -100
    LongTrade =  INDLV Crosses Over INDLT And Momentum[12] > 0
    //***************************************************************************************************************************
    If NOT OnMarket And ShortTrade Then
    SELLShort PositionsSize CONTRACT AT MARKET
    EndIf
    If NOT OnMarket And LongTrade Then
    Buy PositionsSize CONTRACT AT MARKET
    EndIf
    ProfitPROZ = 1
    LossPROZ   = 1
    If OnMarket Then
    SET TARGET %Profit ProfitPROZ
    SET STOP %Loss LossPROZ
    EndIf
    //***************************************************************************************************************************
    ///// ***** 2 Optimierungs-Variablen ***** /////
    // TrailBEPoints (BreakEven) 10 bis 30 und Trailpoints 1 bis 20
    
    MinTRD  = 6
    TrailBE = Max(MinTRD,TrailBEPoints)
    
    If ShortOnMarket Then
    BETrail1 = ((TradePrice-TrailBE*PointSize) - Close)
    EndIf
    If LongOnMarket Then
    BETrail1 = (Close - (TradePrice+TrailBE*PointSize))
    EndIf
    
    If (BETrail1 > 0) And ($ActivTrail[lastset($ActivTrail)] = 0) Then
    SET STOP PTRAILING Trailpoints // Differenz Points Entry
    $ActivTrail[lastset($ActivTrail)+1] = 1
    EndIf
    //***************************************************************************************************************************
    //***************************************************************************************************************************
    If LongOnMarket Then
    LongProfitPo =(Close-(TradePrice*PointSize))
    PRBV1 = TradePrice*PointSize
    PREV1 = Close
    PRDV1 = (((PREV1*100)/PRBV1)-100)
    LongProfitPr = PRDV1
    Else
    LongProfitPo = 0
    LongProfitPr = 0
    EndIf
    If ShortOnMarket Then
    ShortProfitPo =((TradePrice*PointSize)-Close)
    PRBV2 = Close
    PREV2 = TradePrice*PointSize
    PRDV2 = (((PREV2*100)/PRBV2)-100)
    ShortProfitPr = PRDV2
    Else
    ShortProfitPo = 0
    ShortProfitPr = 0
    EndIf
    //***************************************************************************************************************************
    
    GRAPH (TrailBE) Coloured(100, 255, 20) AS "BreakEven-Trail"
    GRAPH (LongProfitPo) Coloured(0, 255, 50) AS "LongProfit Points"
    GRAPH (ShortProfitPo) Coloured(255, 0, 50) AS "ShortProfit Points"
    GRAPH (LongProfitPr) Coloured(0, 255, 50) AS "LongProfit %"
    GRAPH (ShortProfitPr) Coloured(255, 0, 50) AS "ShortProfit %"
    
    #172157 quote
    Rainer (RFW)
    Participant
    Senior

    2. Fehler-Screenshot.
    Extrem. Lt. Optimierungstabelle/Ergebnis 496 Euro, Anzeige bei Aufruf extrem abweichend. Die ist nicht auf den noch laufenden Trade zurückzuführen, sondern tritt nur im Zusammenhang mit pTrailing auf. Ansonsten funktioniert alles normal. Hier muss ein schwerer Fehler vorliegen.
    Dem gilt es auf dem Grund zu gehen.
    Nochmals Danke vorab.

    #172171 quote
    robertogozzi
    Moderator
    Master

    Ich sehe, Sie arbeiten mit dem DAX auf einem 5-Minuten-Zeitrahmen.
    Können Sie mir den Tag und die Uhrzeit der Eröffnung einer Operation sagen, die Ihrer Meinung nach falsch operiert hat (und warum sie Ihrer Meinung nach falsch ist)?

    Wie auch immer, als mein Vorschlag ist es ratsam, für den Trailing Stop den Nicolas-Code aus den Zeilen 17 bis 56 unter diesem Link https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/ zu verwenden. .
    SET STOP TRAILING kann sehr unterschiedliche Ergebnisse zwischen Backtest und Real liefern und hat einen Schritt von nur einer Einheit (Standard und unveränderlich). Du kannst ihm nur sagen, wann er anfangen soll.

    Rainer (RFW) thanked this post
    #172178 quote
    Rainer (RFW)
    Participant
    Senior

    Guten Morgen Roberto,
    vielen Dank für die zeitnahe Antwort. Danke auch für den Link von Nicolas Code, den kannte ich, der ist gut. Danke.

    Im Grunde kommt bei mir ein pTrailing sehr selten zum Einsatz, dennoch funktioniert es meiner Meinung nach nicht korrekt. Bislang habe ich auch stets nach Breakeven mit Mindestabstand “pTrailing 1”, also bekanntlich 1 Punkt unter Entry, bewusst eingesetzt. Aber genau dies funktioniert seit kurzem nicht mehr korrekt.

    Teste doch einfach mal Bitte kurz mit dem obigen Testcode, bzw. verwende doch mal kurz ein “pTrailing 1” in Deinen Tests und gefühlsmäßig wirst Du gleich kuriose Abweichungen zwischen Ergebnis aus der Optimierungstabelle und Equity, auch Detail-Bericht, feststellen können.

    Habe nochmals ein Screenshot beigefügt, dort lt. MaxProfit der Optimierungstabelle 635 Euro, lt. Detailbericht 499 Euro und Equity lfd. Trade berücksichtigt ebenso 499 Euro abweichend. Dies verstehe ich eben nicht. Und wie angemerkt, diese Abweichungen treten nur in Verbindung mit pTrailing 1 nach BreakEven auf.

    Ich entschuldige mich für die Behelligung, aber würde mich freuen, wenn ich den Grund für die Abweichung verstehen könnte. An dieser Stelle auch nochmal ein DANKE an für das tolle Forum und Eure hoch professionelle kompetente und freundliche Arbeit! DANKE!

    Schönen erfolgreichen Tag und liebe Grüße
    Rainer

    #172188 quote
    robertogozzi
    Moderator
    Master

    Es tut mir leid, aber ich weiß nicht, was ich überprüfen soll. Sie müssen mir eine (nur eine reicht) fehlerhafte Operation mit Datum und Uhrzeit zeigen und mir erklären, wo der Unterschied zwischen dem, was es macht und dem, was Sie tun möchten, ist.

    Rainer (RFW) thanked this post
    #172193 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Roberto,
    Danke für die schnelle Antwort.
    Festzustellen, ob der Optimierungsvorgang fehlerhaft ist, wird nicht einfach, aber mit großem Aufwand machbar. Werde es versuchen.
    Nochmal kurz gefragt:

    Aber wie lässt sich die grobe Diskrepanz zwischen Optimierungsergebnis und Detail-Bericht, siehe nochmaliger Screenshot anbei, erklären, nachfolgend kurz aufgeführt, Idee?

    – Optimierungstabelle: Gewinn 947,70 Euro, 105 Trades bei 82% gewinnende
    – Detail-Bericht: Gewinn 425,90 Euro, 96 Trades bei 80% gewinnende

    Kuriosum, nur bei Verwendung von „pTrailing 1“ gibt es derartige grobe Abweichungen.
    Ich möchte es einfach nachvollziehen können. SORRY.
    Einfach mal Bitte etwas kurzer Hand mit “pTrailing 1” laufen lassen, oder den TestCode verwenden. Sorry für die Umstände.

    Danke für die Geduld und Bemühungen vorab.
    Liebe Grüße
    Rainer

    #172197 quote
    robertogozzi
    Moderator
    Master

    SET STOP TRAILING 1 bedeutet, dass bei jedem Pip der Stop-Loss aktualisiert wird. Aber es war nie genau, deshalb wird Trailing-Stop-Code verwendet.

    Rainer (RFW) thanked this post
    #172199 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Roberto,
    habe einige Trades im Detail nachvollzogen(2 Screenshots anbei).
    Ergebnis, dass die Werte der Optimierungstabelle falsch sind.
    Mein Gedanke war zunächst, dass die Optimierung ohne “Tick by Tick” durchgeführt wurde, dies war jedoch nicht der Fall. Unverändert Ratlosigkeit.
    “pTrailing” hat korrekt funktioniert, die Werte der Optimierung sind inkorrekt, schade. Hilfe, Verständnislosigkeit.

    Ich würde mich freuen, wenn dies geklärt werden könnte, denn es handelt sich ja um keine geringe Abweichung.
    Ggf. halt doch mal kurz gegentesten.

    Liebe Grüße und DANKE.
    Rainer

    #172202 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Roberto,
    ganz genau, Danke.
    wenn ich ohne “Tick by Tick” teste, stimmen die Ergebnisse überein, sehr merkwürdig.
    Dennoch fragt man sich, was ist korrekt, bzw. wo arbeitet der “Tick by Tick”-Modus inkorrekt?
    Liebe Grüße
    Rainer

    #172207 quote
    robertogozzi
    Moderator
    Master

    Ich denke, es ist kein Tick-by-Tick-Modus, der falsch funktioniert, sondern SET STOP TRAILING, das nicht vertrauenswürdig ist.

    Rainer (RFW) thanked this post
    #172218 quote
    Rainer (RFW)
    Participant
    Senior

    Hallo Roberto,
    ja, dem kann ich nur zustimmen.
    Nochmals vielen Dank für Deine Bemühungen und Geduld.
    Liebe Grüße
    Rainer

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

pTrailing – Fehler oder Funktions-Änderung?


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by Rainer (RFW)
4 years, 7 months ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 06/22/2021
Status: Active
Attachments: 7 files
Logo Logo
Loading...