Creazione Graph Equity Line con slippage

Forums ProRealTime forum Italiano Supporto ProOrder Creazione Graph Equity Line con slippage

Viewing 14 posts - 1 through 14 (of 14 total)
  • #168097

    Ciao Roberto, e’ possibile creare un graph che indichi il profitto netto di un Ts depurato dallo slippage?

    Sarebbe da calcolare il numero di eseguiti del Ts, moltiplicarli per i pips di slippage (diversi da strumento a strumento ed orario, ma questo ora è secondario), il tutto da sottrarre al profitto della strategia (strategyProfit).

    Il problema principale che ho è come determinare il numero di eseguiti complessivi, anche perchè alcuni derivano da ordini a mercato, altri da ordini pendenti.

    Riesci a creare questo graph? Grazie

    #168101

    Se è utile per semplificare il calcolo gli ordini pendenti individuati dalle funzioni SET STOP… si potrebbero anche eliminare e riscrivere nelle condizioni di entrata in forma equivalente.

    Es.. al posto di: set stop %loss 0.7, si potrebbe scrivere dopo le mie condizioni:

    stopLoss =close*0.993

    buy 1 contract at market

    sell at stopLoss STOP

    endif

    #168106

    Lo slippage non si può sapere, quindi non è possibile tenerne conto.

    STRATEGYPROFIT è il risultato, aggiornato all’ultima operazione chiusa, del totale dei profitti/perdite di ogni operazione, a mercato o pendente che sia.

    Se vuoi puoi aggiungerci, ogni barra, il profitto temporaneo dato da:

    è più precisa, poi puoi farci una media, oppure una percentuale di variazione tra la barra corrente e N barre precedenti, ecc…

     

    #168108

    Lo so che lo slippage preciso non si può sapere, ma a me basta una cifra indicativa. Es, se sul Nasdaq c’è un punto di spread (che corrisponde a 10 pips), mi basta togliere 10 pips ad eseguito. Poi sottrarre da strategyProfit il numero di operazioni per questa cifra indicativa di slippage.

    Non si avrà un equityLine perfetta, ma abbastanza indicativa (del resto anche gli stop, se non garantiti possono essere diversi….).

    E’ fattibile in questo modo creare una formula non troppo complessa?

    #168110

    Se  vuoi puoi usare una media puoi farlo. La formula è:

    dove:

    • X è il numero di pips per operazione
    • Y è il numero di operazioni eseguite

    Calcolare Y non è sempre perfetto; questo metodo è il più preciso che sia riuscito a codificare:

     

    #168120

    Non funziona il contatore di operazioni Y. Se lo si visualizza con un graph si vede che non si sommano le posizioni di un certo periodo di backTest. Inoltre anche all’interno dei singoli giorni non funziona correttamente (non somma le operazioni).

    #168121

    Ho capito, ho sbagliato ad azzerare Y.

    Sostituisci la riga 2 con:

    Verrà eseguita una sola volta.

    #168126

    Ho modificato un pò il codice per renderlo più flessibile e trasparente. Controlla se va bene. Grazie

    Ecco i due graph:

     

    #168128

    Se riesci probabilmente è meglio rendere più trasparente l’inserimento dello slippage all’inizio del codice.  Nel caso sopra riportato ho messo 1 punto (= 10 pips) ad eseguito.

    #168129

    Il calcolo va bene, non penso possa essere migliorato. Il problema dell’assoluta precisione c’è, perché se tu sei a mercato con 4 posizioni e ad un certo punto 1 esce e ne entrano altre due (tutto sulla stessa barra), lo vedrai come un’operazione in più mentre in realtà sono due in più. Però questo NON può essere corretto perché non si sa quante sono le operazioni chiuse e quelle aperte. Forse si potrebbe SEMPRE aggiungere 1 quando STRATEGYPROFIT è <> dal precedente, invece che metterlo solo quando la differenza delle operazioni è zero. Si, credo questa variazione possa rendere quasi preciso al 100% il conteggio (ho spostato anche ONCE), resterebbero fuori solo doppie/triple posizioni chiuse, cioè se ne chiudono 2 e ne entrano 3 te ne segnala due e non tre (ma credo sia rarissimo):

    E’ ovvio che è un valore medio, non può essere preciso ma credo possa darti un’idea concreta.

    L’Equity Curve è quasi identica, si discosta leggermente sempre di più prioprio a causa dello slippage calcolato.

    Su una cosa ho un dubbio, ma lo slippage influisce davvero?  Se gestisci te, con ordini pendenti, sia lo SL che il TP allora si perché tu metti un ordine Stop e Limit ad un certo prezzo e se l’entrata è diversa ottieni uno Stop maggiore ed un TP minore, però se usi SET STOP LOSS X e SET TARGET PROFIT Y, non cambia niente con lo slippage, perché se hai messo 100 punti di SL e TP, che entri a mercato a 20000 o 20002 non fa differenza, avrai sempre X e Y punti di perdita o profitto alla fine in quanto è ProOrder che li gestisce automaticamente.

     

     

    #168131

    Sono d’accordo che con SET STOP LOSS e SET TARGET PROFIT cambia poco per quanto riguarda lo slippage.

    Forse è più utile utilizzare la formula per calcolare soprattutto l’impatto dello spread sulla equityLine (come ho fatto involontariamente nel mio esempio in cui ho messo uno slippage  predeterminato ad ogni operazione).

    Questo (lo spread) è noto, ma SEMPRE largamente sottostimato nella equityLine fino a che non si calcola precisamente!

    Se la curva del proBackTest venisse depurata dallo spread, da qualche slippage, e si tenesse conto dell’impatto del capital gain (considerato poi il regime dichiarativo, altrimenti l’impatto dell’amministrato è anche esso nettamente sottostimato) curve molto belle cambierebbero aspetto!

     

    #168161

    Alla fine penso di utilizare il tuo codice per visualizzare un equityLine senza spread (lo slippage come dicevi è poco influente e non si conosce mai). Per me è un codice utile.

    Ho sistemato le due formule, guarda se vanno bene nel caso le volesse utilizzare qualche utente . CIAO

     

    #168162

    in fondo nel graph va scritto: ” profitto netto con spread incorporato”

    #168207

    Perfetto, in un test le due equity erano identiche, in un altro con più accumuli, entrate ed uscite, la equity line nera era uguale, mentre quella celeste leggermente peggiore (ma di poco più di 100 euro).

    Bene, credo sia molto utile per tutti.

    Grazie per l’idea e per avere pubblicato un codice “chiavi in mano” che ognuno può aggiungere al proprio senza modificare niente (a parte i due valori iniziali)!

     

Viewing 14 posts - 1 through 14 (of 14 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login