Trailing Stop su Tradingview

Last Updated on 8 Settembre 2023 by automiamo.com

Le proprie performance di trading possono migliorare notevolmente con il trailing stop, se usato correttamente.

Introduzione

Un esempio di una delle mie strategie automatiche senza trailing stop loss

e la stessa strategia applicando un valore opportuno di trailing stop loss

Una spiegazione dettagliata di come funziona in generale il trailing stop loss è riportata su investopedia.

Posso fare a meno di impostare il take profit, se uso lo stop loss dinamico (trailing).

Lo stop loss ci aiuta a limitare le perdite, mentre il trailing stop loss ci aiuta a proteggere i profitti.

Il trailing non rappresenta il Sacro Graal del trading. Per avere dei vantaggi occorre conoscerlo e saperlo usare bene.

Come uso il trailing stop loss su Tradingview

Video dimostrativo sul funzionamento del trailing stop loss e come lo uso in modo automatico su Tradingview tramite il mio gServer

Attenzione al look-ahead bias e repainting su Tradingview

Bisogna prestare molta attenzione ad alcune problematiche native di Tradingview se si vuole usare correttamente il trailing in fase di backtest e nel trading real-time.

Il primo problema da evitare è l’effetto look-ahead.

Questo bias produce backtest eccellenti che “guardano al futuro”, ma con pessimi risultati in tempo reale.

Per evitare questo bias occorre:

1. Impostare nel codice pinescript calc_on_order_fills=false
2. Se nelle proprie strategie siamo soliti recuperare dati da altri timeframes, bisogna impostare nel metodo request.security il parametro lookahead=barmerge.lookahead_off (off è già di default in tradingview).

Se impostato a on, durante il backtest, possono essere letti dei dati nel futuro che facendo trading in tempo reale non è possibile.

Un altro problema da evitare per chi come me sviluppa strategie su Tradingview è il repainting.

A causa di questo problema capita spesso che il timestamp del segnale della nostra strategia che vediamo sul grafico è diverso dal timestamp dell’alert che inviamo al broker.

Per evitare il repainting occorre:

1. Eliminare il codice barstate.isconfirmed nelle strategie pinescript
2. Usare il parametro calc_on_every_tick = false

3. Se nelle proprie strategie siamo soliti recuperare dati da altri timeframes, bisogna impostare il metodo request.security correttamente.

Di seguito un esempio di come recuperare correttamente il valore di chiusura da un timeframe differente:

Sintassi errata:

request.security(syminfo.tickerid, "D", close)

Sintassi corretta:

request.security(syminfo.tickerid, "D", close[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1]

Conclusioni

Il trailing stop loss può tornarci utile se usato correttamente e sviluppando le proprie strategie opportunamente, evitando alcune problematiche native di Tradingview come il look-ahead e il repainting.

In generale il trailing stop loss va attivato quanto più ci si avvicina al target di profitto prefissato, per migliorare il proprio rapporto risk/reward.


Giancarlo Pagliaroli

Disclaimer: il contenuto che trovate in questo sito non è da intendersi in alcun modo come consiglio finanziario, né sollecitazione all’investimento, ma soltanto a scopo didattico.

2,0 / 5
Grazie per aver votato!

3 Risposte a “Trailing Stop su Tradingview”

  1. Aggiornato post con un focus di attenzione finale sulle problematiche native della piattaforma di programmazione in Tradingview: effetto look-ahead e repainting, da evitare se vogliamo usare correttamente il trailing nello proprie strategie.

  2. Per evitare il look-ahead bias su Tradingview (backtest eccellenti che “guardano al futuro” ma con pessimi risultati in tempo reale) occorre:
    1. Impostare nel codice pinescript calc_on_order_fills=false
    2. Impostare in request.security il parametro lookahead=barmerge.lookahead_off (off è già di default in tradingview). Se impostato a on durante il backtest possono essere letti dei dati nel futuro che facendo trading in tempo reale non è possibile.

  3. Per evitare il repainting su Tradingview (timestamp del segnale sul grafico diverso dal timestamp dell’alert):
    1. Occorre eliminare il codice barstate.isconfirmed nelle strategie sviluppate in pinescript
    2. Preferibile usare il parametro calc_on_every_tick = false

Lascia un commento