TS Interrotto con istruzione QUIT

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #181468 quote
    Wolf Trades
    Participant
    Average

    Salve a tutti, di seguito vi scrivo il codice che uso abitualmente per controllare i miei trading systems:

    //////////////////// ******************** CODICE MAX DRAWDOWN - MAX TRADE LOSS CONSECUTIVI E DATA DI SCADENZA ******************** ////////////////////
    // Max DRAWDOWN
    // Max Trade Lossconsecutivi
    // Data Scadenza TS
     
    MaxTradeLoss = 20                    // Massimo trade perdenti consecutivi
    Scadenza = date >= 20250331         // Data scadenza TS //Marzo 2025
    // Max Drawdown
    
    ONCE Capital  = 10000
    ONCE MinPoint = Capital
    ONCE MaxPoint = 0
    ONCE MaxRU    = 0
    ONCE MaxDD    = 4200 * size //drawdown 2 deviazioni standard leggermente aumentato rispetto alla simulazione montecarlo
    //------------------------------------------
    //       EQUITY
    Equity        = Capital + StrategyProfit
    TempProfit    = PositionPerf * PositionPrice / PipSize
    TempEquity    = Equity + TempProfit
    //------------------------------------------
    //       DrawDown
    MaxPoint      = max(MaxPoint,TempEquity)
    DD            = MaxPoint - TempEquity
    MaxDD         = max(MaxDD,DD)
    //
    //------------------------------------------
     
    // Max Trade Loss
     
    if StrategyProfit < StrategyProfit[1]  then
    Perdo = Perdo+1
    else
    if StrategyProfit > StrategyProfit[1] then
    Perdo=0
    endif
    endif
     
    if (abs(DD) >= MaxDD) or (perdo >= MaxTradeLoss ) or Scadenza then
    quit
    endif
    //
    //////////////////// ******************** FINE CODICE MAX DRAWDOWN - MAX TRADE LOSS CONSECUTIVI E DATA DI SCADENZA ******************** ////////////////////
    

    Oggi uno dei miei TS è stato interrotto, secondo me senza motivo.

    La motivazione data dalla piattaforma è stata che si è attivata l’istruzione QUIT posta all’interno del trading system.

    Vi allego il performance report del TS dove è chiaro che non siano mai state raggiunte le condizioni di chiusura:

    • MAX DRAWDOWN
    • MASSIMO TRADE PERDENTI CONSECUTIVI
    • DATA DI SCADENZA

    Grazie a chi potrà aiutarmi

    report.jpg report.jpg
    #181470 quote
    robertogozzi
    Moderator
    Master

    Questo è il codice per il test (su Dax, 1H):

    //       test code (Dax,1 hour,50K units)
    //
    avg           = Average[8,1](close)
    if close crosses over Avg and Not OnMarket then
       buy at Market
    elsif close crosses under Avg and Not OnMarket then
       sellshort at Market
    endif
    set target pprofit 2000
    set stop   ploss   2000
    //
    if positionperf > 0.0005 then
       //sell      at market
       //exitshort at market
    endif
    //////////////////// ******************** CODICE MAX DRAWDOWN - MAX TRADE LOSS CONSECUTIVI E DATA DI SCADENZA ******************** ////////////////////
    // Max DRAWDOWN
    // Max Trade Lossconsecutivi
    // Data Scadenza TS
     
    MaxTradeLoss = 20                    // Massimo trade perdenti consecutivi
    Scadenza = date >= 20250331         // Data scadenza TS //Marzo 2025
    // Max Drawdown
     
    ONCE Capital  = 10000
    ONCE MinPoint = Capital
    ONCE MaxPoint = 0
    ONCE MaxRU    = 0
    ONCE MaxDD    = 4200 //* size //drawdown 2 deviazioni standard leggermente aumentato rispetto alla simulazione montecarlo
    //------------------------------------------
    //       EQUITY
    Equity        = Capital + StrategyProfit
    TempProfit    = PositionPerf * PositionPrice / PipSize
    TempEquity    = Equity + TempProfit
    //------------------------------------------
    //       DrawDown
    MaxPoint      = max(MaxPoint,TempEquity)
    DD            = MaxPoint - TempEquity
    MaxDD         = max(MaxDD,DD)
    //
    //------------------------------------------
     
    // Max Trade Loss
     
    if StrategyProfit < StrategyProfit[1]  then
      Perdo = Perdo+1
    else
       if StrategyProfit > StrategyProfit[1] then
          Perdo=0
       endif
    endif
     
    if (abs(DD) >= MaxDD) or (perdo >= MaxTradeLoss ) or Scadenza then
       quit
    endif
    //
    //////////////////// ******************** FINE CODICE MAX DRAWDOWN - MAX TRADE LOSS CONSECUTIVI E DATA DI SCADENZA ******************** ////////////////////
    graph Perdo
    graph DD
    graph MaxDD

    Nella foto Quit1 vedi che esce con QUIT, siccome sulla candela in cui esce i dati sono azzerati, possiamo fare riferimento solo alla candela precedente, dove le condizioni sembrano non esserci.

    Però, se commenti solo la riga del QUIT, in modo che non venga eseguito e se metti un segno sulla candela dov’era uscito per ricordartela, vedrai al backtest che in quella candela la condizione c’era, come da foto Quit2.

    Quit1.jpg Quit1.jpg Quit2.jpg Quit2.jpg
    #181476 quote
    Wolf Trades
    Participant
    Average

    Ciao Roberto, in realtà non ho ben capito.

    Come posso risolvere il problema?

    #181490 quote
    robertogozzi
    Moderator
    Master

    Il problema, così come l’hai messo, puoi risolverlo solo aumentando MAXDD.

    Il DrawDown è un valore che cambia con il tempo, se usi 10K unità è diverso da quello con 100K e da quello con 1M di unità.

    Il problema è che se anche la strategia è profittevole, il DrawDown può aumentare ugualmente perché è la massima esposizione finanziaria riscontrata.

    Puoi risolvere la cosa stabilendo un’uscita, oppure una riduzione dei contratti, quando il DrawDown supera una percentuale X dell’equity (Capitale + Profitto).

    In questo modo può aumentare, ma nel contempo aumentano anche i profitti generati. Se questo non succede, esce o riduce il numero di contratti finché non torna al di sotto di quella percentuale.

    Invece di uscire, o diminuire i contratti, appena superata quella percentuale, puoi decidere di farlo solo quando il superamento si verifica per N candele consecutive.

    Si tratta di fare delle prove e trovare la soluzione migliore.

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

TS Interrotto con istruzione QUIT


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Wolf Trades @lupo32 Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by robertogozzi
4 years, 3 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 11/11/2021
Status: Active
Attachments: 3 files
Logo Logo
Loading...